Warning, /graphics/kdiagram/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 project( kdiagram ) 0004 0005 set(QT_REQUIRED_VERSION "6.5.0") 0006 set(KF_MIN_VERSION "5.245.0") 0007 set(KF_MAJOR_VERSION "6") 0008 0009 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0010 0011 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0012 0013 set(KDE_COMPILERSETTINGS_LEVEL 5.84) 0014 include(KDEInstallDirs) 0015 include(KDECMakeSettings) 0016 include(KDECompilerSettings NO_POLICY_SCOPE) 0017 0018 include(ECMGenerateHeaders) 0019 include(ECMSetupVersion) 0020 include(ECMGeneratePriFile) 0021 include(ECMPoQmTools) 0022 include(ECMAddTests) 0023 0024 include(CMakePackageConfigHelpers) 0025 include(CMakeDependentOption) 0026 include(FeatureSummary) 0027 include(GenerateExportHeader) 0028 0029 set(HAS_ECMAddQch TRUE) 0030 include(ECMAddQch) 0031 0032 cmake_dependent_option(BUILD_QCH 0033 "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF 0034 "HAS_ECMAddQch" OFF 0035 ) 0036 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0037 0038 find_package(Qt6 ${QT_REQUIRED_VERSION} REQUIRED NO_MODULE 0039 COMPONENTS 0040 PrintSupport 0041 Svg 0042 Widgets 0043 ) 0044 if(BUILD_TESTING) 0045 find_package(Qt6Test QUIET) 0046 if (NOT Qt6Test_FOUND) 0047 message(STATUS "Qt6Test not found, unit tests will not be built.") 0048 endif() 0049 endif() 0050 0051 find_package(Qt6Sql QUIET) 0052 if (NOT Qt6Sql_FOUND) 0053 message(STATUS "Qt5Sql not found, examples with SQL will not be built.") 0054 endif() 0055 0056 # We want users of kdiagram libs to be able to use the lib without interference with Qt-specific keywords, e.g. "signals" that collides with Boost's Signals 0057 add_definitions( 0058 -DQT_NO_KEYWORDS 0059 -Demit= 0060 ) 0061 add_definitions( 0062 -DQT_NO_STL 0063 -DQT_FATAL_ASSERT 0064 -DUSE_EXCEPTIONS 0065 ) 0066 0067 add_definitions( 0068 -DQT_DISABLE_DEPRECATED_BEFORE=0x050c00 0069 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 0070 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055A00 0071 -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 0072 ) 0073 0074 0075 # TODO: port from .pro 0076 # NOMINMAX avoids conflicting definitions of min and max 0077 # _USE_MATH_DEFINES makes M_PI defined 0078 # win32 { 0079 # !win32-g++ { 0080 # DEFINES += NOMINMAX _USE_MATH_DEFINES 0081 # QMAKE_CXXFLAGS += /GR /EHsc /wd4251 0082 # } 0083 # } 0084 0085 # TODO: port g++.pri to cmake and check what is still needed 0086 0087 0088 ecm_install_po_files_as_qm(poqm) 0089 0090 add_subdirectory( src ) 0091 0092 if(BUILD_TESTING) 0093 add_subdirectory( examples ) 0094 add_subdirectory( tests ) 0095 0096 if(Qt6Test_FOUND) 0097 add_subdirectory( qtests ) 0098 endif() 0099 endif() 0100 0101 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)