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 "23") 0005 set(RELEASE_SERVICE_VERSION_MINOR "04") 0006 set(RELEASE_SERVICE_VERSION_MICRO "1") 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)