Files
qt-creator/share/qtcreator/templates/wizards/autotest/files/tst.txt

188 lines
5.8 KiB
Plaintext
Raw Normal View History

cmake_minimum_required(VERSION 3.5)
project(%{TestCaseName} LANGUAGES CXX)
enable_testing()
@if "%{TestFrameWork}" == "QtTest"
@if "%{RequireGUI}" == "true"
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Gui Test)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui Test)
@else
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Test)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test)
@endif
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(%{TestCaseName} %{TestCaseFileWithCppSuffix})
add_test(NAME %{TestCaseName} COMMAND %{TestCaseName})
@if "%{RequireGUI}" == "true"
target_link_libraries(%{TestCaseName} PRIVATE Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Test)
@else
target_link_libraries(%{TestCaseName} PRIVATE Qt${QT_VERSION_MAJOR}::Test)
@endif
@endif
@if "%{TestFrameWork}" == "QtQuickTest"
@if "%{UseSetupCode}" === "true"
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS QuickTest Qml)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS QuickTest Qml)
@else
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS QuickTest)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS QuickTest)
@endif
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# no need to copy around qml test files for shadow builds - just set the respective define
add_definitions(-DQUICK_TEST_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
file(GLOB_RECURSE QML_FILES *.qml)
add_custom_target(qmlfiles SOURCES ${QML_FILES})
@if "%{UseSetupCode}" === "true"
add_executable(%{TestCaseName} %{MainCppName}
setup.cpp setup.h)
@else
add_executable(%{TestCaseName} %{MainCppName})
@endif
add_test(NAME %{TestCaseName} COMMAND %{TestCaseName})
@if "%{UseSetupCode}" === "true"
target_link_libraries(%{TestCaseName}
PRIVATE Qt${QT_VERSION_MAJOR}::QuickTest
PRIVATE Qt${QT_VERSION_MAJOR}::Qml)
@else
target_link_libraries(%{TestCaseName} PRIVATE Qt${QT_VERSION_MAJOR}::QuickTest)
@endif
@endif
@if "%{TestFrameWork}" == "GTest"
@if "%{GTestCXX11}" == "true"
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_definitions(-DGTEST_LANGUAGE_CXX11)
@endif
find_package(Threads REQUIRED)
if ($ENV{GOOGLETEST_DIR})
set(GOOGLETEST_DIR $ENV{GOOGLETEST_DIR})
else ()
if (NOT "%{GTestRepository}" STREQUAL "")
message(WARNING "Using googletest src dir specified at Qt Creator wizard")
endif ()
set(GOOGLETEST_DIR "%{GTestRepository}")
endif ()
if (EXISTS ${GOOGLETEST_DIR})
set(GTestSrc ${GOOGLETEST_DIR}/googletest)
set(GMockSrc ${GOOGLETEST_DIR}/googlemock)
elseif (UNIX AND EXISTS /usr/src/gtest)
set(GTestSrc /usr/src/gtest)
message(WARNING "Using gtest from system")
if (EXISTS /usr/src/gmock)
set(GMockSrc /usr/src/gmock)
endif ()
else ()
message( FATAL_ERROR "No googletest src dir found - set GOOGLETEST_DIR to enable!")
endif ()
set(GTestFiles ${GTestSrc}/src/gtest-all.cc)
set(GTestIncludes ${GTestSrc} ${GTestSrc}/include)
if (NOT ${GMockSrc} STREQUAL "")
list(APPEND GTestFiles ${GMockSrc}/src/gmock-all.cc)
list(APPEND GTestIncludes ${GMockSrc} ${GMockSrc}/include)
endif ()
include_directories(${GTestIncludes})
add_executable(%{TestCaseName} %{MainCppName} %{TestCaseFileGTestWithCppSuffix}
${GTestFiles})
add_test(NAME %{TestCaseName} COMMAND %{TestCaseName})
target_link_libraries(%{TestCaseName} PRIVATE Threads::Threads)
@endif
@if "%{TestFrameWork}" == "BoostTest"
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(%{TestCaseName} %{MainCppName})
add_test(NAME %{TestCaseName} COMMAND %{TestCaseName})
if (DEFINED ENV{BOOST_INCLUDE_DIR})
set(BOOST_INCLUDE_DIR $ENV{BOOST_INCLUDE_DIR})
else ()
set(BOOST_INCLUDE_DIR "%{BoostIncDir}") # set by Qt Creator wizard
endif ()
if (BOOST_INCLUDE_DIR STREQUAL "")
message("BOOST_INCLUDE_DIR is not set, assuming Boost can be found automatically in your system")
elseif (EXISTS ${BOOST_INCLUDE_DIR})
include_directories(${BOOST_INCLUDE_DIR})
endif ()
@endif
@if "%{TestFrameWork}" == "BoostTest_dyn"
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
if (DEFINED ENV{BOOST_INSTALL_DIR})
set(BOOST_INSTALL_DIR $ENV{BOOST_INSTALL_DIR})
else ()
set(BOOST_INSTALL_DIR "%{BoostInstallDir}") # set by Qt Creator wizard
endif ()
if (BOOST_INSTALL_DIR STREQUAL "")
message("BOOST_INSTALL_DIR not set, assuming Boost can be found automatically in your system")
elseif (EXISTS ${BOOST_INSTALL_DIR})
set(BOOST_ROOT ${BOOST_INSTALL_DIR})
endif ()
find_package(Boost COMPONENTS unit_test_framework REQUIRED)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(%{TestCaseName} %{MainCppName} %{TestCaseFileGTestWithCppSuffix})
add_test(NAME %{TestCaseName} COMMAND %{TestCaseName})
if (Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(%{TestCaseName} PUBLIC ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
endif ()
@endif
@if "%{TestFrameWork}" == "Catch2"
SET(CMAKE_CXX_STANDARD 11)
@if "%{Catch2NeedsQt}" == "true"
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Gui)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui)
@endif
add_executable(${PROJECT_NAME} %{TestCaseFileWithCppSuffix} main.cpp)
@if "%{Catch2NeedsQt}" == "true"
target_link_libraries(%{TestCaseName} PRIVATE Qt${QT_VERSION_MAJOR}::Gui)
@endif
if (DEFINED ENV{CATCH_INCLUDE_DIR})
set(CATCH_INCLUDE_DIR $ENV{CATCH_INCLUDE_DIR})
else ()
set(CATCH_INCLUDE_DIR "%{CatchIncDir}") # set by Qt Creator wizard
endif ()
if (CATCH_INCLUDE_DIR STREQUAL "")
message("CATCH_INCLUDE_DIR is not set, assuming Catch2 can be found automatically in your system")
elseif (EXISTS ${CATCH_INCLUDE_DIR})
include_directories(${CATCH_INCLUDE_DIR})
endif ()
@endif