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)