# Copyright 2006 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # QElectroTech is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with QElectroTech. If not, see . cmake_minimum_required(VERSION 3.5) message("..___________________________________________________________________") project(G_unittests LANGUAGES CXX) 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) message(".. PROJECT_NAME :" ${PROJECT_NAME}) message(".. PROJECT_SOURCE_DIR :" ${PROJECT_SOURCE_DIR}) if(NOT DEFINED QET_DIR) set(QET_DIR "../..") message(".. QET_DIR is not set, assuming QET is ../..") endif() message(".. QET_DIR :" ${QET_DIR}) if(NOT DEFINED QET_COMPONENTS) set(QET_COMPONENTS Widgets Concurrent Xml Svg Network Sql PrintSupport LinguistTools) message(".. QET_COMPONENTS is not set !!! I set them up !!!") endif() if(NOT DEFINED QT_VERSION_MAJOR) find_package( QT NAMES Qt6 Qt5 COMPONENTS ${QET_COMPONENTS} REQUIRED ) endif() message(".. QT_VERSION_MAJOR :" ${QT_VERSION_MAJOR}) find_package( Qt${QT_VERSION_MAJOR} COMPONENTS ${QET_COMPONENTS} REQUIRED) Include(FetchContent) FetchContent_Declare( GTest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG release-1.10.0) FetchContent_MakeAvailable(GTest) if(DEFINED BUILD_KF5_YES) if(NOT DEFINED KF5_GIT_TAG) set(KF5_GIT_TAG v5.76.0) message(".. KF5_GIT_TAG :" ${KF5_GIT_TAG}) endif() #---ToDo why you don't work :/ FetchContent_Declare( kcoreaddons GIT_REPOSITORY https://invent.kde.org/frameworks/kcoreaddons.git GIT_TAG ${KF5_GIT_TAG}) FetchContent_MakeAvailable(kcoreaddons) #___ToDo FetchContent_Declare( kwidgetsaddons GIT_REPOSITORY https://invent.kde.org/frameworks/kwidgetsaddons.git GIT_TAG ${KF5_GIT_TAG}) FetchContent_MakeAvailable(kwidgetsaddons) else() find_package(KF5CoreAddons REQUIRED) find_package(KF5WidgetsAddons REQUIRED) endif() add_executable( ${PROJECT_NAME} tst_My_test.cpp main.cpp ) target_link_libraries( ${PROJECT_NAME} PUBLIC gtest gtest_main PRIVATE KF5::WidgetsAddons KF5::CoreAddons Qt::Gui Qt::Xml Qt::Svg Qt::Sql Qt::Network Qt::Widgets Qt::Concurrent)