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)