Warning, /kdevelop/kdev-python/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.19) 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(kdevpython VERSION "5.7.${RELEASE_SERVICE_BASED_PATCHLEVEL}") 0016 0017 # KDevplatform dependency version 0018 set(KDEVPLATFORM_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") 0019 0020 set(CMAKE_CXX_STANDARD 17) 0021 set(CMAKE_CXX_STANDARD_REQUIRED YES) 0022 set(QT_MIN_VERSION "5.15.0") 0023 set(KF5_DEP_VERSION "5.78.0") 0024 0025 find_package (ECM ${KF5_DEP_VERSION} REQUIRED NO_MODULE) 0026 set(CMAKE_MODULE_PATH ${kdevpython_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0027 0028 include(KDEInstallDirs) 0029 include(KDECMakeSettings) 0030 include(KDECompilerSettings NO_POLICY_SCOPE) 0031 0032 include(GenerateExportHeader) 0033 0034 include(ECMAddTests) 0035 include(ECMSetupVersion) 0036 include(ECMQtDeclareLoggingCategory) 0037 0038 if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") 0039 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation") 0040 endif() 0041 0042 add_definitions( -DTRANSLATION_DOMAIN=\"kdevpython\" ) 0043 0044 set(Python3_USE_STATIC_LIBS FALSE) 0045 set(Python3_FIND_STRATEGY VERSION) 0046 find_package(Python3 3.4.3...<3.12 COMPONENTS Interpreter Development REQUIRED) 0047 0048 configure_file(kdevpythonversion.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/kdevpythonversion.h" @ONLY) 0049 0050 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core Widgets Test) 0051 find_package(KF5 ${KF5_DEP_VERSION} REQUIRED 0052 I18n 0053 ThreadWeaver 0054 TextEditor 0055 ) 0056 find_package(KDevPlatform ${KDEVPLATFORM_VERSION} CONFIG REQUIRED) 0057 find_package(KDevelop ${KDEVPLATFORM_VERSION} REQUIRED) 0058 0059 if(NOT CMAKE_VERSION VERSION_LESS "3.10.0" AND KF5_VERSION VERSION_LESS "5.42.0") 0060 # Avoids bogus warnings with CMake 3.10+, KF5.42+ has workaround 0061 list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "K_PLUGIN_FACTORY_WITH_JSON") 0062 endif() 0063 0064 if ( NOT WIN32 ) 0065 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wfatal-errors -Wall") 0066 endif ( NOT WIN32 ) 0067 0068 # then, build the plugin 0069 include_directories( 0070 ${CMAKE_CURRENT_BINARY_DIR} 0071 ${CMAKE_CURRENT_SOURCE_DIR} 0072 ${CMAKE_CURRENT_SOURCE_DIR}/duchain 0073 ${CMAKE_CURRENT_SOURCE_DIR}/parser 0074 ${CMAKE_CURRENT_BINARY_DIR}/parser 0075 ) 0076 0077 add_subdirectory(app_templates) 0078 add_subdirectory(parser) 0079 add_subdirectory(duchain) 0080 add_subdirectory(codecompletion) 0081 add_subdirectory(debugger) 0082 add_subdirectory(docfilekcm) 0083 0084 set(kdevpythonlanguagesupport_PART_SRCS 0085 codegen/correctionfilegenerator.cpp 0086 codegen/refactoring.cpp 0087 pythonlanguagesupport.cpp 0088 pythonparsejob.cpp 0089 pythonhighlighting.cpp 0090 pythonstylechecking.cpp 0091 0092 # config pages: 0093 docfilekcm/docfilewizard.cpp 0094 docfilekcm/docfilemanagerwidget.cpp 0095 docfilekcm/kcm_docfiles.cpp 0096 pep8kcm/kcm_pep8.cpp 0097 projectconfig/projectconfigpage.cpp 0098 ) 0099 ecm_qt_declare_logging_category(kdevpythonlanguagesupport_PART_SRCS 0100 HEADER codegendebug.h 0101 IDENTIFIER KDEV_PYTHON_CODEGEN 0102 CATEGORY_NAME "kdevelop.plugins.python.codegen" 0103 DESCRIPTION "KDevelop plugin: Python language support - codegen" 0104 EXPORT KDEVPYTHON 0105 ) 0106 ecm_qt_declare_logging_category(kdevpythonlanguagesupport_PART_SRCS 0107 HEADER pythondebug.h 0108 IDENTIFIER KDEV_PYTHON 0109 CATEGORY_NAME "kdevelop.plugins.python" 0110 DESCRIPTION "KDevelop plugin: Python language support" 0111 EXPORT KDEVPYTHON 0112 ) 0113 0114 ki18n_wrap_ui(kdevpythonlanguagesupport_PART_SRCS 0115 codegen/correctionwidget.ui 0116 projectconfig/projectconfig.ui 0117 pep8kcm/pep8.ui 0118 ) 0119 0120 kdevplatform_add_plugin(kdevpythonlanguagesupport JSON kdevpythonsupport.json SOURCES ${kdevpythonlanguagesupport_PART_SRCS}) 0121 0122 target_link_libraries(kdevpythonlanguagesupport 0123 KDev::Interfaces 0124 KDev::Language 0125 KDev::Util 0126 KF5::ThreadWeaver 0127 KF5::TextEditor 0128 kdevpythoncompletion 0129 kdevpythonparser 0130 kdevpythonduchain 0131 ) 0132 0133 get_target_property(DEFINESANDINCLUDES_INCLUDE_DIRS KDev::DefinesAndIncludesManager INTERFACE_INCLUDE_DIRECTORIES) 0134 include_directories(${DEFINESANDINCLUDES_INCLUDE_DIRS}) 0135 0136 install(DIRECTORY documentation_files DESTINATION ${KDE_INSTALL_DATADIR}/kdevpythonsupport) 0137 install(DIRECTORY correction_files DESTINATION ${KDE_INSTALL_DATADIR}/kdevpythonsupport) 0138 install(FILES codestyle.py DESTINATION ${KDE_INSTALL_DATADIR}/kdevpythonsupport) 0139 0140 install(FILES org.kde.kdev-python.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0141 0142 # kdebugsettings file 0143 ecm_qt_install_logging_categories( 0144 EXPORT KDEVPYTHON 0145 FILE kdevpythonsupport.categories 0146 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0147 ) 0148 0149 ki18n_install(po) 0150 0151 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)