Warning, /kdevelop/kdev-php/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16)
0002
0003 # KDE Gear version, managed by release service script
0004 set(RELEASE_SERVICE_VERSION_MAJOR "24")
0005 set(RELEASE_SERVICE_VERSION_MINOR "04")
0006 set(RELEASE_SERVICE_VERSION_MICRO "70")
0007
0008 # generate patch level from release service version
0009 set(_micro ${RELEASE_SERVICE_VERSION_MICRO})
0010 if (_micro LESS "10")
0011 string(PREPEND _micro "0") # pad with 0
0012 endif()
0013 set(RELEASE_SERVICE_BASED_PATCHLEVEL "${RELEASE_SERVICE_VERSION_MAJOR}${RELEASE_SERVICE_VERSION_MINOR}${_micro}")
0014
0015 project(kdev-php VERSION "5.7.${RELEASE_SERVICE_BASED_PATCHLEVEL}")
0016
0017 set(CMAKE_CXX_STANDARD 17)
0018 set(CMAKE_CXX_STANDARD_REQUIRED YES)
0019 set(QT_MIN_VERSION "5.15.0")
0020 set(KF5_DEP_VERSION "5.78.0")
0021
0022 find_package(Threads)
0023 find_package (ECM ${KF5_DEP_VERSION} REQUIRED NO_MODULE)
0024 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
0025
0026 include(KDEInstallDirs)
0027 include(KDECMakeSettings)
0028 include(KDECompilerSettings NO_POLICY_SCOPE)
0029
0030 include(ECMAddTests)
0031 include(ECMQtDeclareLoggingCategory)
0032 include(GenerateExportHeader)
0033 include(CMakePackageConfigHelpers)
0034 include(ECMSetupVersion)
0035 include(FeatureSummary)
0036
0037 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core Widgets)
0038
0039 find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS
0040 ThreadWeaver
0041 TextEditor
0042 I18n
0043 KCMUtils
0044 )
0045 if(BUILD_TESTING)
0046 find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED)
0047 endif()
0048 # KDevplatform dependency version
0049 set(KDEVPLATFORM_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
0050 find_package(KDevPlatform ${KDEVPLATFORM_VERSION} CONFIG REQUIRED)
0051
0052 ecm_setup_version(
0053 ${PROJECT_VERSION}
0054 VARIABLE_PREFIX KDEVPHP
0055 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kdevphpversion.h"
0056 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KDevPHPConfigVersion.cmake"
0057 )
0058
0059
0060 set(KDEVPHP_INCLUDE_DIR ${KDE_INSTALL_INCLUDEDIR}/kdev-php)
0061 set(KDEVPHP_PRIVATE_INCLUDE_DIR ${KDEVPHP_INCLUDE_DIR}/private/${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
0062
0063 find_package(KDevelop-PG-Qt REQUIRED)
0064
0065 if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
0066 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation")
0067 endif()
0068
0069 add_definitions( -DTRANSLATION_DOMAIN=\"kdevphp\" )
0070
0071 include_directories(
0072 ${KDEVPGQT_INCLUDE_DIR}
0073 ${CMAKE_SOURCE_DIR}
0074 )
0075
0076 add_subdirectory(app_templates)
0077 add_subdirectory(parser)
0078 add_subdirectory(duchain)
0079 add_subdirectory(completion)
0080 add_subdirectory(testprovider)
0081 add_subdirectory(docs)
0082
0083 set(kdevphplanguagesupport_PART_SRCS
0084 phplanguagesupport.cpp
0085 phpparsejob.cpp
0086 phphighlighting.cpp
0087
0088 codegen/refactoring.cpp
0089 )
0090 ecm_qt_declare_logging_category(kdevphplanguagesupport_PART_SRCS
0091 HEADER phpdebug.h
0092 IDENTIFIER PHP
0093 CATEGORY_NAME "kdevelop.plugins.php"
0094 DESCRIPTION "KDevelop plugin: PHP language support"
0095 EXPORT KDEVPHP
0096 )
0097
0098 kdevplatform_add_plugin(kdevphplanguagesupport JSON kdevphpsupport.json
0099 SOURCES ${kdevphplanguagesupport_PART_SRCS})
0100 target_link_libraries(kdevphplanguagesupport
0101 KDev::Interfaces
0102 KDev::Language
0103 kdevphpduchain
0104 kdevphpparser
0105 kdevphpcompletion
0106
0107 KF5::I18n
0108 KF5::TextEditor
0109
0110 Threads::Threads
0111 )
0112
0113 # not writeable so that the refactoring actions get hidden
0114 install(FILES phpfunctions.php DESTINATION ${KDE_INSTALL_DATADIR}/kdevphpsupport PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
0115
0116 install(FILES org.kde.kdev-php.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0117
0118 # kdebugsettings file
0119 ecm_qt_install_logging_categories(
0120 EXPORT KDEVPHP
0121 FILE kdevphpsupport.categories
0122 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0123 )
0124
0125 # create a Config.cmake and a ConfigVersion.cmake file and install them
0126 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDevPHP")
0127
0128 configure_package_config_file(
0129 "${CMAKE_CURRENT_SOURCE_DIR}/KDevPHPConfig.cmake.in"
0130 "${CMAKE_CURRENT_BINARY_DIR}/KDevPHPConfig.cmake"
0131 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0132 )
0133
0134 install(FILES
0135 "${CMAKE_CURRENT_BINARY_DIR}/KDevPHPConfig.cmake"
0136 "${CMAKE_CURRENT_BINARY_DIR}/KDevPHPConfigVersion.cmake"
0137 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0138 COMPONENT Devel
0139 )
0140
0141 install(EXPORT KDevPHPTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KDevPHPTargets.cmake)
0142 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/kdevphpversion.h" DESTINATION ${KDEVPHP_INCLUDE_DIR})
0143
0144 ki18n_install(po)
0145
0146 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)