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)