Warning, /kdevelop/kdev-krazy2/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.0)
0002
0003 project(kdevkrazy2)
0004
0005 set(CMAKE_CXX_STANDARD 17)
0006 set(CMAKE_CXX_STANDARD_REQUIRED YES)
0007
0008 find_package (ECM 5.15.0 REQUIRED NO_MODULE)
0009
0010 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
0011
0012 include(KDECompilerSettings NO_POLICY_SCOPE)
0013 include(ECMAddTests)
0014 include(KDEInstallDirs)
0015 include(KDECMakeSettings)
0016 include(FeatureSummary)
0017
0018 set(QT_MIN_VERSION "5.5.0")
0019 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core Widgets Test)
0020 set(KF5_DEP_VERSION "5.15.0")
0021 find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS ItemModels TextEditor ThreadWeaver)
0022 set(KDEVPLATFORM_VERSION "5.0.0")
0023 find_package(KDevPlatform ${KDEVPLATFORM_VERSION} CONFIG)
0024 set_package_properties(KDevPlatform PROPERTIES
0025 TYPE REQUIRED
0026 )
0027 find_package(Krazy2 QUIET)
0028 set_package_properties(Krazy2 PROPERTIES
0029 DESCRIPTION "An extensible framework for performing static code checking on files of any format."
0030 URL "https://github.com/Krazy-collection/krazy"
0031 TYPE RUNTIME
0032 )
0033
0034 add_definitions(-DTRANSLATION_DOMAIN=\"kdevkrazy2\")
0035
0036 add_subdirectory(tests)
0037
0038 set(kdevkrazy2_library_SRCS
0039 analysisjob.cpp
0040 analysisparameters.cpp
0041 analysisprogressparser.cpp
0042 analysisresults.cpp
0043 analysisresultsparser.cpp
0044 checker.cpp
0045 checkerlistjob.cpp
0046 checkerlistparser.cpp
0047 checkermodel.cpp
0048 common.cpp
0049 issue.cpp
0050 settings/selectcheckerswidget.cpp
0051 settings/selectpathswidget.cpp
0052 settings/krazy2preferences.cpp
0053 settings/krazy2projectsettings.cpp
0054 )
0055
0056 # Instead of compiling the plugin directly from the sources, the sources are
0057 # compiled to a static library that is linked (and, being static, also embedded)
0058 # in the plugin.
0059 # As everything but a tiny initialization code is in a static library, the build
0060 # system for the tests can be easily set up.
0061 ki18n_wrap_ui(kdevkrazy2_library_SRCS
0062 settings/selectcheckerswidget.ui
0063 settings/selectpathswidget.ui
0064 settings/krazy2settings.ui)
0065
0066 kconfig_add_kcfg_files(kdevkrazy2_library_SRCS settings/krazy2config.kcfgc)
0067
0068 add_library(kdevkrazy2_library STATIC ${kdevkrazy2_library_SRCS})
0069 target_link_libraries(kdevkrazy2_library
0070 KDev::Interfaces
0071 KDev::Util
0072 KDev::Project
0073 KDev::Shell
0074 KDev::Language
0075 KF5::TextEditor
0076 )
0077
0078 kdevplatform_add_plugin(kdevkrazy2 JSON kdevkrazy2.json SOURCES krazy2plugin.cpp)
0079 target_link_libraries(kdevkrazy2
0080 kdevkrazy2_library
0081 )
0082
0083 install(FILES kdevkrazy2.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/kdevkrazy2)
0084
0085 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)