...
 
Commits (262)
......@@ -118,7 +118,7 @@ add_definitions(
)
# Turn off missing-field-initializers warning for GCC to avoid noise from false positives with empty {}
# See discussion: http://mail.kde.org/pipermail/kdevelop-devel/2014-February/046910.html
# See discussion: https://mail.kde.org/pipermail/kdevelop-devel/2014-February/046910.html
add_compile_flag_if_supported(-Wno-missing-field-initializers)
add_compile_flag_if_supported(-Werror=switch)
add_compile_flag_if_supported(-Werror=undefined-bool-conversion)
......@@ -160,6 +160,7 @@ add_subdirectory(app_templates)
add_subdirectory(file_templates)
add_subdirectory(shortcuts)
add_subdirectory(doc)
add_subdirectory(share)
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDevelop")
configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KDevelopConfig.cmake.in"
......
find_package(KF5Plasma CONFIG)
set_package_properties(KF5Plasma PROPERTIES
PURPOSE "Plasma libraries for enabling the plasma addons"
URL "http://www.kde.org"
URL "https://www.kde.org"
TYPE OPTIONAL)
if(KF5Plasma_FOUND)
add_subdirectory(plasma)
......
[Global]
IconName=kdevelop
DesktopEntry=org.kde.kdevelop
Comment=KDevelop
Comment[ar]=مطوّرك
Comment[br]=KDevelop
......@@ -279,7 +280,7 @@ Name[sl]=Nalaganje projekta
Name[sv]=Laddar projekt
Name[tr]=Proje Yükleniyor
Name[ug]=قۇرۇلۇش ئوقۇش
Name[uk]=Завантаження проекту
Name[uk]=Завантаження проєкту
Name[x-test]=xxLoading Projectxx
Name[zh_CN]=正在装入工程
Name[zh_TW]=載入專案中
......@@ -315,7 +316,7 @@ Comment[sl]=Pričelo se je opravilo nalaganja projekta
Comment[sv]=En laddningsprocess för projektet har just startats
Comment[tr]=Bir proje yükleme süreci başladı
Comment[ug]=قۇرۇلۇش ئوقۇش جەريانى باشلاندى
Comment[uk]=Процес завантаження проекту було запущено
Comment[uk]=Процес завантаження проєкту було запущено
Comment[x-test]=xxA project loading process has just startedxx
Comment[zh_CN]=启动了一次工程装入操作
Comment[zh_TW]=已開始載入專案
......@@ -356,7 +357,7 @@ Name[sl]=Projekt uspešno naložen
Name[sv]=Projekt laddat med lyckat resultat
Name[tr]=Proje Başarılı Bir Şekilde Yüklendi
Name[ug]=قۇرۇلۇش مۇۋەپپەقىيەتلىك ئوقۇلدى
Name[uk]=Проект успішно завантажено
Name[uk]=Проєкт успішно завантажено
Name[x-test]=xxProject Loaded Successfullyxx
Name[zh_CN]=工程成功装入
Name[zh_TW]=專案已成功載入
......@@ -393,7 +394,7 @@ Comment[sl]=Projekt je bil uspešno naložen
Comment[sv]=Ett projekt har laddats med lyckat resultat
Comment[tr]=Bir proje başarıyla yüklendi
Comment[ug]=بىر قۇرۇلۇش مۇۋەپپەقىيەتلىك ئوقۇلدى
Comment[uk]=Проект було успішно завантажено
Comment[uk]=Проєкт було успішно завантажено
Comment[x-test]=xxA project has been loaded successfullyxx
Comment[zh_CN]=成功装入了一个工程
Comment[zh_TW]=專案已成功載入
......
......@@ -11,6 +11,7 @@
<comment xml:lang="fr">Fichiers de projet KDevelop</comment>
<comment xml:lang="gl">Ficheiro de proxecto de KDevelop</comment>
<comment xml:lang="it">File di progetto di KDevelop</comment>
<comment xml:lang="ko">KDevelop 프로젝트 파일</comment>
<comment xml:lang="nl">Projectbestand van KDevelop</comment>
<comment xml:lang="pl">Pliki projektu KDevelopa</comment>
<comment xml:lang="pt">Ficheiro de Projecto do KDevelop</comment>
......@@ -18,7 +19,7 @@
<comment xml:lang="sk">Súbor projektu KDevelop</comment>
<comment xml:lang="sv">KDevelop-projektfil</comment>
<comment xml:lang="tr">KDevelop Proje Dosyası</comment>
<comment xml:lang="uk">файл проекту KDevelop</comment>
<comment xml:lang="uk">файл проєкту KDevelop</comment>
<comment xml:lang="zh_CN">KDevelop 工程文件</comment>
<glob pattern="*.kdev4"/>
<generic-icon name="kdevelop"/>
......
<!DOCTYPE gui SYSTEM "kpartgui.dtd">
<gui version="147" name="kdevelop" translationDomain="kdevelop">
<gui version="148" name="kdevelop" translationDomain="kdevelop">
<MenuBar>
<Menu name="session" append="first_menu">
......
......@@ -268,7 +268,8 @@ static int openProjectInRunningInstance(const QVector<UrlInfo>& paths, qint64 pi
static qint64 getRunningSessionPid()
{
SessionInfos candidates;
foreach( const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfos() ) {
const auto availableSessionInfos = KDevelop::SessionController::availableSessionInfos();
for (const KDevelop::SessionInfo& si : availableSessionInfos) {
if( KDevelop::SessionController::isSessionRunning(si.uuid.toString()) ) {
candidates << si;
}
......@@ -297,7 +298,7 @@ static QString findSessionId(const SessionInfos& availableSessionInfos, const QS
if ( session == si.name || session == si.uuid.toString() ) {
return si.uuid.toString();
} else if (projectAsSession.isEmpty()) {
foreach(const QUrl& k, si.projects) {
for (const QUrl& k : si.projects) {
QString fn(k.fileName());
fn = fn.left(fn.indexOf(QLatin1Char('.')));
if ( session == fn ) {
......@@ -525,8 +526,8 @@ int main( int argc, char *argv[] )
QTextStream qout(stdout);
qout << endl << ki18n("Available sessions (use '-s HASH' or '-s NAME' to open a specific one):").toString() << endl << endl;
qout << QStringLiteral("%1").arg(ki18n("Hash").toString(), -38) << '\t' << ki18n("Name: Opened Projects").toString() << endl;
foreach(const KDevelop::SessionInfo& si, KDevelop::SessionController::availableSessionInfos())
{
const auto availableSessionInfos = KDevelop::SessionController::availableSessionInfos();
for (const KDevelop::SessionInfo& si : availableSessionInfos) {
if ( si.name.isEmpty() && si.projects.isEmpty() ) {
continue;
}
......@@ -543,7 +544,8 @@ int main( int argc, char *argv[] )
// Handle extra arguments, which stand for files to open
QVector<UrlInfo> initialFiles;
QVector<UrlInfo> initialDirectories;
foreach (const QString &file, parser.positionalArguments()) {
const auto files = parser.positionalArguments();
for (const QString& file : files) {
const UrlInfo info(file);
if (info.isDirectory()) {
initialDirectories.append(info);
......@@ -775,7 +777,8 @@ int main( int argc, char *argv[] )
KDevelop::LaunchConfiguration* launch = nullptr;
qCDebug(APP) << launchName;
foreach (KDevelop::LaunchConfiguration *l, core->runControllerInternal()->launchConfigurationsInternal()) {
const auto launchconfigurations = core->runControllerInternal()->launchConfigurationsInternal();
for (KDevelop::LaunchConfiguration* l : launchconfigurations) {
qCDebug(APP) << l->name();
if (l->name() == launchName) {
launch = l;
......@@ -783,7 +786,8 @@ int main( int argc, char *argv[] )
}
KDevelop::LaunchConfigurationType *type = nullptr;
foreach (KDevelop::LaunchConfigurationType *t, core->runController()->launchConfigurationTypes()) {
const auto launchConfigurationTypes = core->runController()->launchConfigurationTypes();
for (KDevelop::LaunchConfigurationType* t : launchConfigurationTypes) {
qCDebug(APP) << t->id();
if (t->id() == QLatin1String("Native Application")) {
type = t;
......@@ -802,7 +806,8 @@ int main( int argc, char *argv[] )
qCDebug(APP) << launchName << "not found, creating a new one";
QPair<QString,QString> launcher;
launcher.first = debugStr;
foreach (KDevelop::ILauncher *l, type->launchers()) {
const auto typeLaunchers = type->launchers();
for (KDevelop::ILauncher* l : typeLaunchers) {
if (l->id() == parser.value(debugStr)) {
if (l->supportedModes().contains(debugStr)) {
launcher.second = l->id();
......
......@@ -4,7 +4,7 @@ add_subdirectory(applet)
find_package(KF5Runner CONFIG)
set_package_properties(KF5Runner PROPERTIES
PURPOSE "Framework for Plasma runners. For enabling the KDevelop runner"
URL "http://www.kde.org"
URL "https://www.kde.org"
TYPE OPTIONAL)
if(KF5Runner_FOUND)
add_subdirectory(runner)
......
......@@ -62,7 +62,8 @@ QStringList findSessions()
QStringList sessionrcs;
for (const QString& dir : sessionDirs) {
QDir d(dir);
Q_FOREACH(const QString& sessionDir, d.entryList(QDir::Dirs)) {
const auto dirEntries = d.entryList(QDir::Dirs);
for (const QString& sessionDir : dirEntries) {
QDir sd(d.absoluteFilePath(sessionDir));
QString path(sd.filePath(QStringLiteral("sessionrc")));
if(QFile::exists(path)) {
......
......@@ -76,7 +76,8 @@ QStringList findSessions()
QStringList sessionrcs;
for (const QString& dir : sessionDirs) {
QDir d(dir);
Q_FOREACH(const QString& sessionDir, d.entryList(QDir::Dirs)) {
const auto dirEntries = d.entryList(QDir::Dirs);
for (const QString& sessionDir : dirEntries) {
QDir sd(d.absoluteFilePath(sessionDir));
QString path(sd.filePath(QStringLiteral("sessionrc")));
if(QFile::exists(path)) {
......@@ -134,7 +135,7 @@ void KDevelopSessions::match(Plasma::RunnerContext &context)
return;
}
foreach (const Session &session, m_sessions) {
for (const Session& session : qAsConst(m_sessions)) {
if (!context.isValid()) {
return;
}
......
......@@ -16,6 +16,10 @@ find_package(KDevPlatform 5.2.40 REQUIRED)
add_subdirectory(src)
# kdebugsettings file
install(FILES %{APPNAMELC}.categories DESTINATION ${KDE_INSTALL_CONFDIR})
if (ECM_VERSION VERSION_GREATER "5.58.0")
install(FILES %{APPNAMELC}.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
else()
install(FILES %{APPNAMELC}.categories DESTINATION ${KDE_INSTALL_CONFDIR})
endif()
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
......@@ -41,7 +41,7 @@ Comment[sk]=Projekt na vyplnenie vašimi nápadmi
Comment[sl]=Projekt, ki ga zapolnite z lastnimi idejami
Comment[sv]=Ett projekt att fylla med dina idéer
Comment[tr]=Fikirlerinizle dolduracağınız bir proje
Comment[uk]=Проект для заповнення вашими ідеями
Comment[uk]=Проєкт для заповнення вашими ідеями
Comment[x-test]=xxA project to fill with your ideasxx
Comment[zh_CN]=用以填充你的想法的项目
Category=Standard/Empty
......
......@@ -5,30 +5,30 @@ RUN cd /tmp && wget http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/su
RUN echo ". /opt/rh/devtoolset-6/enable && chmod +x /opt/rh/python27/enable && . /opt/rh/python27/enable" >> /root/.bashrc
ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 PYTHON_VERSION=3.6.7 QTVERSION=5.9.7 QTVERSION_SHORT=5.9 LLVM_VERSION=6.0.1 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/
ENV LANG=en_US.UTF-8 PYTHON_VERSION=3.6.7 QTVERSION=5.9.8 QTVERSION_SHORT=5.9 LLVM_VERSION=8.0.0 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/
ENV QTDIR=/opt/qt5
RUN bash -c "ln -sf /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++ && ln -sf /opt/rh/devtoolset-6/root/usr/bin/c++ /usr/bin/c++"
# Build Qt5
RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz"
RUN bash -c "mkdir -p /qt && cd /qt && wget https://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz"
RUN bash -c "cd /qt && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz"
RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src-${QTVERSION} && ./configure -v -skip qt3d -skip qtconnectivity -skip qtgamepad -skip qtlocation -skip qtcharts -skip qtremoteobjects -skip qtscxml -skip qtsensors -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon-x11 -xkb-config-root /usr/share/X11/xkb -no-pch -nomake tests -nomake examples -confirm-license -opensource -prefix $QTDIR && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt"
RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src-${QTVERSION} && ./configure -v -skip qt3d -skip qtconnectivity -skip qtgamepad -skip qtlocation -skip qtcharts -skip qtremoteobjects -skip qtscxml -skip qtsensors -skip qtpurchasing -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon-x11 -xkb-config-root /usr/share/X11/xkb -no-pch -nomake tests -nomake examples -confirm-license -opensource -prefix $QTDIR && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt"
RUN ln -sf $QTDIR/bin/qmake /usr/bin/qmake-qt5
# Build qtwebkit
RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz"
RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget https://download.qt.io/archive/qt/${QTVERSION_SHORT}/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz"
RUN bash -c "cd /qtwk/ && tar xvf qtwebkit-opensource-src-5.9.1.tar.xz"
RUN bash -c "cd /qtwk/qtwebkit-opensource-src-5.9.1 && $QTDIR/bin/qmake && make -j$(nproc) || make -j$(nproc) && make -j$(nproc) install && rm -Rf /qtwk"
# Install ninja
RUN bash -c "yum install unzip && mkdir -p /tmp/deploy && cd /tmp/deploy && wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip && unzip ninja-linux.zip && mv -f ninja /usr/local/bin && cd .. && rm -Rf deploy"
# Install ninja (1.8.2 latest working with libc of centos:6.10)
RUN bash -c "yum install unzip && mkdir -p /tmp/deploy && cd /tmp/deploy && wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip && unzip ninja-linux.zip && mv -f ninja /usr/local/bin && cd .. && rm -Rf deploy"
# Build Clang/LLVM
RUN bash -c "mkdir -p /llvm && cd /llvm && wget http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
RUN bash -c "mkdir -p /llvm && cd /llvm && wget https://releases.llvm.org/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
RUN bash -c "cd /llvm && tar xvf llvm-${LLVM_VERSION}.src.tar.xz && cd llvm-${LLVM_VERSION}.src"
RUN bash -c "cd /llvm/llvm-${LLVM_VERSION}.src/tools && wget http://llvm.org/releases/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz"
RUN bash -c "cd /llvm/llvm-${LLVM_VERSION}.src/tools && wget https://llvm.org/releases/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz"
RUN bash -c "cd /llvm/llvm-${LLVM_VERSION}.src/tools && tar xvf cfe-${LLVM_VERSION}.src.tar.xz"
RUN bash -c ". /opt/rh/python27/enable && . /opt/rh/devtoolset-6/enable && python --version && cd /llvm/llvm-${LLVM_VERSION}.src && mkdir -p build && cd build && cmake3 -G Ninja .. -DCMAKE_INSTALL_PREFIX=/opt/llvm/ -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=OFF -DLLVM_TARGETS_TO_BUILD=X86 && ninja install && rm -Rf /llvm"
......
To build the AppImage, you basically just have to:
1) Build the base docker container
a) By doing it manually:
```
docker pull centos:6.8
docker build .
docker images (should show the image ID of the newly created image)
docker run <image id>
```
Once created, you can just detach/attach and start/stop the container, i.e.
```
docker start <container id>
docker attach <container id>
```
Building the container will take several hours at least.
1) Build the base docker image
b) **OR**: Get Sven's pre-built version:
```
docker pull scummos/centos6.8-qt5.7
```
```
docker pull centos:6.10
docker build <path/to/this/folder/where/Dockerfile>
```
Building the image will take several hours at least.
2) Copy the script into the docker container, using docker cp.
2) Create a container from image and open a shell
```
docker images (should show the image ID of the newly created image)
docker run -t -i --name kdevelopappimagecreator <image id>
```
3) Run the script.
Running the script will also take quite a while the first time you do it,
so it is advisable to always re-use the same container.
3) Copy the script and patches into the docker container
```
docker cp kdevelop-recipe-centos6.sh kdevelopappimagecreator:/
for p in *.patch ; do docker cp $p kdevelopappimagecreator:/ ; done
```
4) Copy the resulting AppImage out of the container using docker cp.
4) Run the script in the interactive shell of the container
```
./kdevelop-recipe-centos6.sh
```
Running the script will also take quite a while the first time you do it,
so it is advisable to always re-use the same container.
5) Copy the resulting AppImage out of the container
```
docker cp kdevelopappimagecreator:/out/KDevelop-git-x86_64.AppImage .
```
......@@ -25,13 +25,14 @@ if [ -z "$KDEVELOP_VERSION" ]; then
KDEVELOP_VERSION=5.3
fi
if [ -z "$KDEV_PG_QT_VERSION" ]; then
KDEV_PG_QT_VERSION=v2.1.0
KDEV_PG_QT_VERSION=v2.2.0
fi
KF5_VERSION=v5.51.0
KDE_PLASMA_VERSION=v5.13.4 # note: need libksysguard commit a0e69617442d720c76da5ebe3323e7a977929db4 (patch which makes plasma dep optional)
KDE_APPLICATION_VERSION=v18.12.1
KF5_VERSION=v5.54.0
KDE_PLASMA_BREEZE_VERSION=v5.13.5 # latest version still supporting Qt 5.9
LIBKSYSGUARD_VERSION=v5.15.5 # latest version still supporting Qt 5.9
KDE_APPLICATION_VERSION=v19.04.3
GRANTLEE_VERSION=v5.1.0
OKTETA_VERSION=v0.25.5
OKTETA_VERSION=v0.26.2
export LLVM_ROOT=/opt/llvm/
export PATH=/opt/rh/python27/root/usr/bin/:$PATH
......@@ -39,8 +40,7 @@ export LD_LIBRARY_PATH=/opt/rh/python27/root/usr/lib64:$LD_LIBRARY_PATH
# qjsonparser, used to add metadata to the plugins needs to work in a en_US.UTF-8 environment. That's
# not always set correctly in CentOS 6.7
export LC_ALL=en_US.UTF-8
export LANG=en_us.UTF-8
export LANG=en_US.UTF-8
# Determine which architecture should be built
if [[ "$(arch)" = "i686" || "$(arch)" = "x86_64" ]] ; then
......@@ -198,13 +198,13 @@ build_framework kinit
fi
# KDE Plasma
build_project libksysguard $KDE_PLASMA_VERSION
build_project kdecoration $KDE_PLASMA_VERSION # for breeze
build_project breeze $KDE_PLASMA_VERSION
build_project libksysguard $LIBKSYSGUARD_VERSION
build_project kdecoration $KDE_PLASMA_BREEZE_VERSION # needed by breeze
build_project breeze $KDE_PLASMA_BREEZE_VERSION
# KDE Applications
build_project libkomparediff2 $KDE_APPLICATION_VERSION
build_project kate $KDE_APPLICATION_VERSION # for snippet plugin, see T3826
build_project kate $KDE_APPLICATION_VERSION -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE -DBUILD_addons=TRUE -DBUILD_snippets=TRUE -DBUILD_kate-ctags=TRUE # for snippet plugin, see T3826
build_project konsole $KDE_APPLICATION_VERSION
build_project okteta $OKTETA_VERSION -DBUILD_DESIGNERPLUGIN=OFF -DBUILD_OKTETAKASTENLIBS=OFF
......@@ -422,7 +422,7 @@ export APPIMAGE_STARTUP_XDG_DATA_DIRS=\$XDG_DATA_DIRS
export APPIMAGE_STARTUP_PATH=\$PATH
export APPIMAGE_STARTUP_PYTHONHOME=\$PYTHONHOME
export KDEV_CLANG_BUILTIN_DIR=\$DIR/opt/llvm/lib/clang/6.0.1/include
export KDEV_CLANG_BUILTIN_DIR=\$DIR/opt/llvm/lib/clang/8.0.0/include
export KDEV_DISABLE_PLUGINS=KDevWelcomePage
cd \$HOME
......@@ -489,13 +489,16 @@ fi
echo $APPIMAGE
# Get appimagetool
mkdir -p $SRC/appimagetool
pushd $SRC/appimagetool
wget -c -O appimagetool https://github.com/AppImage/AppImageKit/releases/download/11/appimagetool-x86_64.AppImage
chmod +x ./appimagetool
./appimagetool --appimage-extract # no fuse on this docker instance...
export PATH=$PWD/squashfs-root/usr/bin:$PATH
popd
APPIMAGETOOL_DIR=$SRC/appimagetool
if [ ! -d $APPIMAGETOOL_DIR ]; then
mkdir -p $APPIMAGETOOL_DIR
pushd $APPIMAGETOOL_DIR
wget -c -O appimagetool https://github.com/AppImage/AppImageKit/releases/download/11/appimagetool-x86_64.AppImage
chmod +x ./appimagetool
./appimagetool --appimage-extract # no fuse on this docker instance...
popd
fi
export PATH=$APPIMAGETOOL_DIR/squashfs-root/usr/bin:$PATH # add path to extracted appimage binary
mkdir -p /out
......
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aa2926f..60f4277 100644
index da34e23..87fef63 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -77,7 +77,7 @@ else()
set_package_properties(Phonon4Qt5 PROPERTIES
DESCRIPTION "Qt-based audio library"
# This is REQUIRED since you cannot tell CMake "either one of those two optional ones are required"
- TYPE REQUIRED
+ TYPE OPTIONAL
@@ -86,7 +86,7 @@ else()
PURPOSE "Needed to build audio notification support when Canberra isn't available")
if (NOT ANDROID)
# This is REQUIRED since you cannot tell CMake "either one of those two optional ones are required"
- set_package_properties(Phonon4Qt5 PROPERTIES TYPE REQUIRED)
+# set_package_properties(Phonon4Qt5 PROPERTIES TYPE REQUIRED)
endif()
if (Phonon4Qt5_FOUND)
add_definitions(-DHAVE_PHONON4QT5)
# Source: https://github.com/Andersbakken/rtags/blob/master/cmake/BashCompletion.cmake
set(FORCE_BASH_COMPLETION_INSTALLATION FALSE CACHE BOOL "Force bash completion installation")
if(FORCE_BASH_COMPLETION_INSTALLATION AND "${BASH_COMPLETION_COMPLETIONSDIR}" STREQUAL "")
set(BASH_COMPLETION_COMPLETIONSDIR "/share/bash-completion/completions")
endif()
find_package(PkgConfig QUIET)
set_package_properties(PkgConfig
PROPERTIES
URL "https://www.freedesktop.org/wiki/Software/pkg-config/"
DESCRIPTION "helper tool"
TYPE OPTIONAL
PURPOSE "We use it to get the bash completion installation path, and replace the prefix with the value of CMAKE_INSTALL_PREFIX.")
if(PKG_CONFIG_FOUND OR FORCE_BASH_COMPLETION_INSTALLATION)
if(PKG_CONFIG_FOUND AND NOT FORCE_BASH_COMPLETION_INSTALLATION)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=completionsdir bash-completion
RESULT_VARIABLE BASH_COMPLETION_UNAVAILABLE
OUTPUT_VARIABLE BASH_COMPLETION_COMPLETIONSDIR
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT BASH_COMPLETION_UNAVAILABLE)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix bash-completion
OUTPUT_VARIABLE BASH_COMPLETION_COMPLETIONSDIR_PREFIX
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REPLACE "${BASH_COMPLETION_COMPLETIONSDIR_PREFIX}" "" BASH_COMPLETION_COMPLETIONSDIR ${BASH_COMPLETION_COMPLETIONSDIR})
endif()
endif()
if(NOT BASH_COMPLETION_UNAVAILABLE OR FORCE_BASH_COMPLETION_INSTALLATION)
set(BASH_COMPLETION_COMPLETIONSDIR "${CMAKE_INSTALL_PREFIX}${BASH_COMPLETION_COMPLETIONSDIR}" CACHE PATH "Bash completion installation directory" FORCE)
mark_as_advanced(BASH_COMPLETION_COMPLETIONSDIR)
set(BASH_COMPLETION_FOUND TRUE)
endif()
endif()
......@@ -16,7 +16,7 @@
#
# Uses the same include and library paths detected by FindLLVM.cmake
#
# See http://clang.llvm.org/docs/InternalsManual.html for full list of libraries
# See https://clang.llvm.org/docs/InternalsManual.html for full list of libraries
#=============================================================================
# Copyright 2014-2015 Kevin Funk <kfunk@kde.org>
......@@ -37,13 +37,17 @@ foreach(version ${KNOWN_VERSIONS})
break()
endif ()
if (${Clang_FIND_REQUIRED})
find_package(LLVM ${version} REQUIRED)
else ()
find_package(LLVM ${version})
endif ()
find_package(LLVM ${version})
endforeach()
if (${Clang_FIND_REQUIRED})
if(NOT DEFINED Clang_FIND_VERSION)
message(SEND_ERROR "Could not find Clang.")
else()
message("Found version ${Clang_FIND_VERSION}")
endif()
endif()
set(CLANG_FOUND FALSE)
if (LLVM_FOUND AND LLVM_LIBRARY_DIRS)
......
# - Find LibAStyle
# Find the Artistic Style library.
#
# This module defines
# LibAStyle_FOUND - whether the astyle library was found
# LibAStyle_LIBRARIES - the astyle library
# LibAStyle_INCLUDE_DIR - the include path of the astyle library
# LibAStyle_CFLAGS - the compiler flags needed when building with the astyle library
#=============================================================================
# Copyright 2018-2019 Pino Toscano <pino@kde.org>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
find_library(LibAStyle_LIBRARIES
NAMES astyle
)
find_path(LibAStyle_INCLUDE_DIR
NAMES astyle.h
)
# astyle is built without RTTI
set(LibAStyle_CFLAGS "-fno-rtti")
if(LibAStyle_LIBRARIES AND LibAStyle_INCLUDE_DIR)
include(CMakePushCheckState)
include(CheckCXXSourceCompiles)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_FLAGS "${LibAStyle_CFLAGS}")
set(CMAKE_REQUIRED_LIBRARIES "${LibAStyle_LIBRARIES}")
set(CMAKE_REQUIRED_INCLUDES "${LibAStyle_INCLUDE_DIR}")
check_cxx_source_compiles("
#include <astyle.h>
int main()
{
astyle::ASPeekStream foo(nullptr);
return 0;
}" LIBASTYLE_HAS_ASPEEKSTREAM)
if(LIBASTYLE_HAS_ASPEEKSTREAM)
set(_libastyle_version "3.1")
message(STATUS "LibAStyle version autodetected as ${_libastyle_version} or greater")
else()
set(_libastyle_version "0")
endif()
cmake_pop_check_state()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibAStyle
FOUND_VAR LibAStyle_FOUND
REQUIRED_VARS LibAStyle_LIBRARIES LibAStyle_INCLUDE_DIR
VERSION_VAR _libastyle_version
)
mark_as_advanced(LibAStyle_INCLUDE_DIR LibAStyle_LIBRARIES)
if(LibAStyle_FOUND)
add_library(astylelib UNKNOWN IMPORTED)
set_target_properties(astylelib PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${LibAStyle_INCLUDE_DIR}"
IMPORTED_LOCATION "${LibAStyle_LIBRARIES}"
INTERFACE_COMPILE_OPTIONS "${LibAStyle_CFLAGS}"
)
endif()
......@@ -244,16 +244,22 @@ function(_install_qt_logging_categories)
foreach(_category IN LISTS _categories)
get_target_property(_description ${_targetname} "DESCRIPTION_${_category}")
# Format:
# logname<space>description
string(APPEND _content "${_category} ${_description}\n")
# TODO: support newer not backward-compatible format as supported by kdebugsettings 18.12
# Format:
# logname<space>description(optional <space> DEFAULT_SEVERITY [DEFAULT_CATEGORY] as WARNING/DEBUG/INFO/CRITICAL) optional IDENTIFIER [...])
# example: logname<space>description<space>DEFAULT_SEVERITY<space>[DEBUG]<space>IDENTIFIER<space>[foo]
# Needs idea how to ensure that at runtime kdebugsettings is min KA 18.12
get_target_property(_identifier ${_targetname} "IDENTIFIER_${_category}")
# kdebugsettings >= 18.12 supports/pushes for some newer, not backward-compatible format.
# In case of no presence of kdebugsettings at build time, we have to make a guess anyway,
# so to simplify code whe just always guess (other software does not even guess, but just switched)
# For ECM >= 5.59 we install categories files to new location, which is only supported by
# newer kdebugsettings also supporting the new content format, so we use that as base.
if (ECM_VERSION VERSION_GREATER "5.58.0")
# Format:
# logname<space>description(optional <space> DEFAULT_SEVERITY [DEFAULT_CATEGORY] as WARNING/DEBUG/INFO/CRITICAL) optional IDENTIFIER [...])
string(APPEND _content "${_category} ${_description} IDENTIFIER [${_identifier}]\n")
else()
# Format:
# logname<space>description
string(APPEND _content "${_category} ${_description}\n")
endif()
endforeach()
if (NOT IS_ABSOLUTE ${ARGS_FILE})
......@@ -264,10 +270,17 @@ function(_install_qt_logging_categories)
CONTENT "${_content}"
)
install(
FILES "${ARGS_FILE}"
DESTINATION ${KDE_INSTALL_CONFDIR}
)
if (ECM_VERSION VERSION_GREATER "5.58.0")
install(
FILES "${ARGS_FILE}"
DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
)
else()
install(
FILES "${ARGS_FILE}"
DESTINATION ${KDE_INSTALL_CONFDIR}
)
endif()
endfunction()
# install_qt_logging_categories(TYPE LIBRARY|APP_PLUGIN)
......
This diff is collapsed.
......@@ -25,7 +25,7 @@ set(Boost_ADDITIONAL_VERSIONS 1.39.0 1.39)
find_package(Boost 1.35.0)
set_package_properties(Boost PROPERTIES
PURPOSE "Boost libraries for enabling the classbrowser"
URL "http://www.boost.org"
URL "https://www.boost.org/"
TYPE REQUIRED)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config-kdevplatform.h.cmake
......@@ -48,14 +48,6 @@ ecm_setup_version(PROJECT
SOVERSION ${KDEVPLATFORM_SOVERSION}
)
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_TOLOWER)
if(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug"
OR CMAKE_BUILD_TYPE_TOLOWER STREQUAL "")
set(COMPILER_OPTIMIZATIONS_DISABLED TRUE)
else()
set(COMPILER_OPTIMIZATIONS_DISABLED FALSE)
endif()
add_subdirectory(sublime)
add_subdirectory(interfaces)
add_subdirectory(project)
......
......@@ -47,7 +47,7 @@
* the \ref architecture.
*
* @b Follow the development of these libraries. Please consider joining the
* <a href="http://www.kdevelop.org/index.html?filename=mailinglist.html">KDevelop Development Mailing List</a> (<a href="http://lists.kde.org/?l=kdevelop-devel">archives</a>).
* <a href="https://www.kdevelop.org/contribute-kdevelop">KDevelop Development Mailing List</a> (<a href="https://lists.kde.org/?l=kdevelop-devel">archives</a>).
*/
// DOXYGEN_NAME="KDevelop Platform Libraries"
......
......@@ -44,8 +44,10 @@ public:
BreakpointDetails::BreakpointDetails(QWidget *parent)