diff --git a/CMakeLists.txt b/CMakeLists.txt index 0db0fe005..71cc5a530 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,13 @@ project(qelectrotech include(cmake/copyright_message.cmake) set(QET_DIR ${PROJECT_SOURCE_DIR}) +include(cmake/qet_compilation_vars.cmake) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Qt6 REQUIRED COMPONENTS ${QET_COMPONENTS}) +qt_standard_project_setup() # Add sub directories option(PACKAGE_TESTS "Build the tests" ON) @@ -43,38 +50,17 @@ include(cmake/git_last_commit_sha.cmake) include(cmake/fetch_kdeaddons.cmake) include(cmake/fetch_singleapplication.cmake) include(cmake/fetch_pugixml.cmake) -include(cmake/qet_compilation_vars.cmake) set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -SET(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -find_package( - QT - NAMES - Qt6 - COMPONENTS - ${QET_COMPONENTS} - REQUIRED - ) - -find_package( - Qt${QT_VERSION_MAJOR} - COMPONENTS - ${QET_COMPONENTS} - REQUIRED) set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui) # als laatse include(cmake/define_definitions.cmake) -add_executable( +qt_add_executable( ${PROJECT_NAME} ${QET_RES_FILES} ${QET_SRC_FILES} diff --git a/cmake/define_definitions.cmake b/cmake/define_definitions.cmake index cd519f9d4..cb9ad9b54 100644 --- a/cmake/define_definitions.cmake +++ b/cmake/define_definitions.cmake @@ -62,7 +62,7 @@ message("PROJECT_SOURCE_DIR :" ${PROJECT_SOURCE_DIR}) message("QET_DIR :" ${QET_DIR}) message("GIT_COMMIT_SHA :" ${GIT_COMMIT_SHA}) -if(BUILD_WITH_KF6) +if(BUILD_WITH_KF6 AND BUILD_KF6) message("KF6_GIT_TAG :" ${KF6_GIT_TAG}) else() add_definitions(-DBUILD_WITHOUT_KF6) diff --git a/cmake/fetch_kdeaddons.cmake b/cmake/fetch_kdeaddons.cmake index 6ea692f8f..24f6ac5eb 100644 --- a/cmake/fetch_kdeaddons.cmake +++ b/cmake/fetch_kdeaddons.cmake @@ -14,42 +14,55 @@ # You should have received a copy of the GNU General Public License # along with QElectroTech. If not, see . -message(" - fetch_kdeaddons") +message(STATUS "fetch_kdeaddons") -if(DEFINED BUILD_WITH_KF6) - Include(FetchContent) - - option(BUILD_KF6 "Build KF6 libraries, use system ones otherwise" NO) +if(BUILD_WITH_KF6) + option(BUILD_KF6 "Build KF6 libraries, use system ones otherwise" OFF) + block(PROPAGATE KF6_GIT_TAG) + set(BUILD_TESTING OFF) + set(KDE_SKIP_TEST_SETTINGS ON) + set(BUILD_DESIGNERPLUGIN OFF) + set(KCOREADDONS_USE_QML OFF) + find_package(ECM REQUIRED NO_MODULE) + list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) + set(ecm_version ${ECM_VERSION}) if(BUILD_KF6) + Include(FetchContent) if(NOT DEFINED KF6_GIT_TAG) set(KF6_GIT_TAG v6.5.0) endif() - # - set(BUILD_TESTING OFF) - FetchContent_Declare( - ecm - GIT_REPOSITORY https://invent.kde.org/frameworks/extra-cmake-modules.git - GIT_TAG ${KF6_GIT_TAG}) - FetchContent_MakeAvailable(ecm) - FetchContent_Declare( kcoreaddons GIT_REPOSITORY https://invent.kde.org/frameworks/kcoreaddons.git GIT_TAG ${KF6_GIT_TAG}) FetchContent_MakeAvailable(kcoreaddons) + get_target_property(kca_version KF6::CoreAddons VERSION) FetchContent_Declare( kwidgetsaddons GIT_REPOSITORY https://invent.kde.org/frameworks/kwidgetsaddons.git GIT_TAG ${KF6_GIT_TAG}) FetchContent_MakeAvailable(kwidgetsaddons) + get_target_property(kwa_version KF6::WidgetsAddons VERSION) else() find_package(KF6CoreAddons REQUIRED) + set(kca_version ${KF6CoreAddons_VERSION}) find_package(KF6WidgetsAddons REQUIRED) - endif() + set(kwa_version ${KF6WidgetsAddons_VERSION}) + endif() + + get_target_property(kca_type KF6::WidgetsAddons TYPE) + get_target_property(kwa_type KF6::CoreAddons TYPE) + + message(NOTICE "ecm version : " ${ecm_version}) + message(NOTICE "kcoreaddons library : " ${kca_type}) + message(NOTICE "kcoreaddons version : " ${kca_version}) + message(NOTICE "kwidgetsaddons library : " ${kwa_type}) + message(NOTICE "kwidgetsaddons version : " ${kwa_version}) + endblock() set(KF6_PRIVATE_LIBRARIES KF6::WidgetsAddons diff --git a/cmake/qet_compilation_vars.cmake b/cmake/qet_compilation_vars.cmake index 85aa6ead8..d5752cf7c 100644 --- a/cmake/qet_compilation_vars.cmake +++ b/cmake/qet_compilation_vars.cmake @@ -17,6 +17,8 @@ message(" - qet_compilation_vars") set(QET_COMPONENTS + Core + Gui LinguistTools PrintSupport Xml