Warning, /pim/zanshin/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 # KDE Application Version, managed by release script 0003 set(RELEASE_SERVICE_VERSION_MAJOR "24") 0004 set(RELEASE_SERVICE_VERSION_MINOR "04") 0005 set(RELEASE_SERVICE_VERSION_MICRO "70") 0006 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0007 0008 project(zanshin VERSION ${RELEASE_SERVICE_VERSION}) 0009 0010 set(KF_MIN_VERSION "5.248.0") 0011 find_package(ECM ${KF_MIN_VERSION} REQUIRED CONFIG) 0012 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/ ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0013 set(KDE_COMPILERSETTINGS_LEVEL "5.84") 0014 0015 include(GenerateExportHeader) 0016 include(KDEInstallDirs) 0017 include(KDECompilerSettings NO_POLICY_SCOPE) 0018 include(KDECMakeSettings) 0019 include(FeatureSummary) 0020 include(ECMInstallIcons) 0021 include(ECMMarkAsTest) 0022 include(ECMPoQmTools) 0023 include(ECMSetupVersion) 0024 include(ECMDeprecationSettings) 0025 include(ECMFeatureSummary) 0026 0027 set(REQUIRED_QT_VERSION "6.5.0") 0028 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Core Gui Widgets Test) 0029 find_package(Boost REQUIRED) 0030 find_package(Threads REQUIRED) 0031 0032 if(APPLE) 0033 if((NOT "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "6.0.0.0") AND 0034 "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "6.0.0.6000058") 0035 # Apple Clang 6.0.0.6000057 is known to fail on some of our code using std::mem_fn 0036 # but have no issues with boost::mem_fn 0037 message("problematic Apple Clang version ${CMAKE_CXX_COMPILER_VERSION}, using boost::mem_fn") 0038 add_definitions(-DZANSHIN_USE_BOOST_MEM_FN) 0039 endif() 0040 endif() 0041 0042 if(UNIX) 0043 set(CMAKE_CXX_STANDARD 17) 0044 set(CMAKE_CXX_EXTENSIONS OFF) # Don't enable gcc-specific extensions 0045 endif() 0046 0047 kde_enable_exceptions() 0048 0049 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 0050 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 0051 endif() 0052 0053 option(ZANSHIN_BUILD_COVERAGE "Build Zanshin with gcov support" OFF) 0054 if(ZANSHIN_BUILD_COVERAGE AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") 0055 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") 0056 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") 0057 endif() 0058 0059 option(ZANSHIN_BUILD_ASAN "Build Zanshin with asan support" OFF) 0060 if(ZANSHIN_BUILD_ASAN) 0061 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls") 0062 link_libraries("asan") 0063 endif() 0064 0065 add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS 0066 -DQT_NO_URL_CAST_FROM_STRING 0067 -DQT_STRICT_ITERATORS 0068 ) 0069 0070 include_directories ( 0071 ${CMAKE_SOURCE_DIR} 0072 ${CMAKE_BINARY_DIR} 0073 ${Boost_INCLUDE_DIR} 0074 ) 0075 0076 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS 0077 Runner 0078 WindowSystem 0079 I18n 0080 CalendarCore 0081 Parts 0082 ) 0083 0084 find_package(KPim6Akonadi "6.0.40" REQUIRED) 0085 find_package(KPim6AkonadiCalendar "6.0.40" REQUIRED) 0086 find_package(KPim6KontactInterface "6.0.40" REQUIRED) 0087 0088 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) 0089 ecm_set_disabled_deprecation_versions(QT 6.3.0 0090 KF 5.249.0 0091 ) 0092 0093 add_subdirectory(src) 0094 ki18n_install(po) 0095 0096 if(BUILD_TESTING) 0097 add_subdirectory(tests) 0098 endif() 0099