diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,191 +1,3 @@ -cmake_minimum_required(VERSION 3.0) -project(KDevPlatform) +project(KDevPlatform LANGUAGES NONE) -# kdevplatform version -set(KDEVPLATFORM_VERSION_MAJOR 5) -set(KDEVPLATFORM_VERSION_MINOR 1) -set(KDEVPLATFORM_VERSION_PATCH 40) -set(KDEVPLATFORM_VERSION "${KDEVPLATFORM_VERSION_MAJOR}.${KDEVPLATFORM_VERSION_MINOR}.${KDEVPLATFORM_VERSION_PATCH}") - -# plugin versions listed in the .desktop files -set(KDEV_PLUGIN_VERSION 29) -# Increase this to reset incompatible item-repositories -set(KDEV_ITEMREPOSITORY_VERSION 87) - -# library version / SO version -set(KDEVPLATFORM_LIB_SOVERSION 10) - -# we need some parts of the ECM CMake helpers -find_package (ECM "5.14.0" REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${KDevPlatform_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) - -include(KDECompilerSettings NO_POLICY_SCOPE) -include(ECMAddTests) -include(ECMOptionalAddSubdirectory) -include(ECMInstallIcons) -include(ECMSetupVersion) -include(ECMMarkAsTest) -include(ECMMarkNonGuiExecutable) -include(ECMGenerateHeaders) -include(ECMQtDeclareLoggingCategory) -include(GenerateExportHeader) -include(FeatureSummary) -include(WriteBasicConfigVersionFile) -include(CheckFunctionExists) -include(CMakePackageConfigHelpers) -include(KDEInstallDirs) -include(KDECMakeSettings) -include(KDevPlatformMacros) - -set(QT_MIN_VERSION "5.5.0") -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Widgets Concurrent Test) - -if(BUILD_TESTING) - find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED) -endif() -find_package(Qt5QuickWidgets ${QT_MIN_VERSION} CONFIG) -set_package_properties(Qt5QuickWidgets PROPERTIES - PURPOSE "Qt5 QuickWidgets library (part of Qt >=5.3). Required for the Welcome Page plugin." - TYPE RECOMMENDED -) - -set(KF5_DEP_VERSION "5.18.0") # need KAboutData::fromPluginMetaData in kcoreaddons -find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS - Archive - Config - GuiAddons - WidgetsAddons - IconThemes - I18n - ItemModels - ItemViews - JobWidgets - KCMUtils - KIO - NewStuff - Notifications - NotifyConfig - Parts - Service - Sonnet - TextEditor - ThreadWeaver - WindowSystem - Declarative - XmlGui -) - -find_package(Grantlee5 CONFIG) -set_package_properties(Grantlee5 PROPERTIES - PURPOSE "Grantlee templating library, needed for file templates" - URL "http://www.grantlee.org/" - TYPE RECOMMENDED) - -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" - TYPE REQUIRED) - -add_definitions( - -DQT_DEPRECATED_WARNINGS - -DQT_DISABLE_DEPRECATED_BEFORE=0x050400 - -DQT_NO_SIGNALS_SLOTS_KEYWORDS - -DQT_NO_URL_CAST_FROM_STRING - -DQT_STRICT_ITERATORS - -DQT_USE_FAST_CONCATENATION - -DQT_USE_FAST_OPERATOR_PLUS -) - -function(add_compile_flag_if_supported _flag) - unset(_have_flag CACHE) - string(REGEX REPLACE "[-=]" "_" _varname ${_flag}) - string(TOUPPER ${_varname} _varname) - set(_varname "HAVE${_varname}") - check_cxx_compiler_flag("${_flag}" "${_varname}") - if (${${_varname}}) - add_compile_options(${_flag}) - endif() -endfunction() - -# 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 -add_compile_flag_if_supported(-Wno-missing-field-initializers) -add_compile_flag_if_supported(-Werror=undefined-bool-conversion) -add_compile_flag_if_supported(-Werror=tautological-undefined-compare) -if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_flag_if_supported(-Wdocumentation) - # This warning is triggered by every call to qCDebug() - add_compile_flag_if_supported(-Wno-gnu-zero-variadic-macro-arguments) -endif() -if (CMAKE_COMPILER_CXX_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_flag_if_supported(-pedantic) -endif() - -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config-kdevplatform.h.cmake - ${CMAKE_CURRENT_BINARY_DIR}/config-kdevplatform.h ) - -include_directories(${KDevPlatform_SOURCE_DIR} ${KDevPlatform_BINARY_DIR}) - -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) -add_subdirectory(language) -add_subdirectory(shell) -add_subdirectory(util) -add_subdirectory(outputview) -add_subdirectory(vcs) -add_subdirectory(pics) -add_subdirectory(debugger) -add_subdirectory(documentation) -add_subdirectory(serialization) -add_subdirectory(template) -if(BUILD_TESTING) - add_subdirectory(tests) -endif() -add_subdirectory(plugins) - -set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDevPlatform") - -configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KDevPlatformConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/KDevPlatformConfig.cmake" - INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} -) - -ecm_setup_version(${KDEVPLATFORM_VERSION_MAJOR}.${KDEVPLATFORM_VERSION_MINOR}.${KDEVPLATFORM_VERSION_PATCH} - VARIABLE_PREFIX KDEVPLATFORM - VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kdevplatform_version.h" - PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KDevPlatformConfigVersion.cmake" - SOVERSION ${KDEVPLATFORM_LIB_SOVERSION}) - -install( FILES - "${KDevPlatform_BINARY_DIR}/kdevplatform_version.h" - "${KDevPlatform_BINARY_DIR}/config-kdevplatform.h" - DESTINATION "${KDE_INSTALL_INCLUDEDIR}/kdevplatform" ) -install( FILES - "${KDevPlatform_BINARY_DIR}/KDevPlatformConfig.cmake" - "${KDevPlatform_BINARY_DIR}/KDevPlatformConfigVersion.cmake" - cmake/modules/KDevPlatformMacros.cmake - DESTINATION "${CMAKECONFIG_INSTALL_DIR}" ) -install( EXPORT KDevPlatformTargets - DESTINATION "${CMAKECONFIG_INSTALL_DIR}" - NAMESPACE KDev:: - FILE KDevPlatformTargets.cmake ) - -# kdebugsettings file -install( FILES kdevplatform.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) - -# CTestCustom.cmake has to be in the CTEST_BINARY_DIR. -# in the KDE build system, this is the same as CMAKE_BINARY_DIR. -configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCustom.cmake) - -feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) +message(FATAL_ERROR "kdevplatform was merged into kdevelop.git") diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -1,27 +1,13 @@ -# KDevelop Platform Libraries +KDevPlatform has been moved into kdevelop.git:kdevplatform/ -This repository contains the KDevelop Platform Libraries, a set of libraries used to create plugins for [KDevelop](https://www.kdevelop.org/) or other IDEs based on kdevplatform. +For copying private branches over to the other repo, use copy-branch.sh: +``` +cd kdevplatform +cp copy-branch.sh.in copy-branch.sh -The idea that this repository contains -- Everything to create platform plugins -- Everything to create platform applications -- Commonly used/important plugins (e.g. VCS plugins) +# now open copy-branch.sh, adapt the 3 variables at the begin and save the file -## Compile - -To compile KDevelop, please refer to the Wiki instructions: -https://community.kde.org/KDevelop/HowToCompile_v5 - -## API Documentation - -API documentation is available from: -https://api.kde.org/extragear-api/kdevelop-apidocs/kdevplatform/html/index.html - -## Contribute - -If you want to contribute to KDevelop, please read through: -https://www.kdevelop.org/contribute-kdevelop - -## Infrastructure -- [Bug tracker](https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&list_id=1408918&product=kdevplatform&query_format=advanced) -- [Phabricator (task tracker, code review and more)](https://phabricator.kde.org/dashboard/view/8/?) +# with that done, ready to go: +# call the script once for each branch that should be copied over +./copy-branch my-branch +``` diff --git a/copy-branch.sh.in b/copy-branch.sh.in new file mode 100755 --- /dev/null +++ b/copy-branch.sh.in @@ -0,0 +1,57 @@ +#!/bin/bash + +# public domain +# +# template for script for copying private branches over from kdevplatform repo to kdevelop repo + +# variables which need adapting: +KDEVPLATFORM_DIR=/path/to/kdevplatform +KDEVELOP_DIR=/path/to/kdevelop +PATCHESBASE_DIR=/tmp/kdevplatform-transfer-patches + + +if [ "$1" == "" ]; then + echo "Please pass a branch as argument." + exit 1 +fi + +# commit which is last of merged ones +KDEVPLATFORM_BASECOMMIT=9362447d74c81babdd8619f52435a3cadff49521 +BRANCH=$1 +PATCHES_DIR="$PATCHESBASE_DIR/$BRANCH" + +if [ -e "$PATCHES_DIR" ]; then + echo "Directory $PATCHES_DIR already exists, please remove." + exit 1 +fi + +mkdir -p "$PATCHES_DIR" || exit 1 + +cd "$KDEVPLATFORM_DIR" + +echo "Rebasing '$BRANCH' to merged commit from master in kdevplatform..." +git rebase $KDEVPLATFORM_BASECOMMIT $BRANCH || exit 1 + +echo "Creating patches of branch '$BRANCH' against 'master' in kdevplatform..." +git format-patch $KDEVPLATFORM_BASECOMMIT...$BRANCH -o "$PATCHES_DIR" || exit 1 + +cd "$KDEVELOP_DIR" + +echo "Creating branch '$BRANCH' in kdevelop, based on 'master'..." +# for something close to last kdevplatform master +git checkout -b $BRANCH 391e53faef2fba25abbd36da7d81596cb027e3fc || exit 1 + +if [ "$?" != 0 ]; then + echo "Could not create branch '$BRANCH'." + exit 1 +fi + +echo "Applying patches for branch '$BRANCH' in kdevelop..." +git am --directory=kdevplatform "$PATCHES_DIR"/* || exit 1 + +if [ "$?" != 0 ]; then + exit 1 +fi + +echo "Rebasing '$BRANCH' to master in kdevelop..." +git rebase master $BRANCH || exit 1