fb1b20eab3
CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
52 lines
2.0 KiB
CMake
52 lines
2.0 KiB
CMake
# Copyright (C) 2022 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
|
|
# These macros are inspired by ECM:
|
|
|
|
# a macro for tests that have a simple format where the name matches the
|
|
# directory and project
|
|
|
|
# The following macros will produce tests that generate the build
|
|
# system for the test project, build it and then run its tests.
|
|
macro(add_cmake_test_generate_build_run_variant name base command)
|
|
string(REPLACE "." "/" src_dir "${base}")
|
|
string(REPLACE "." "/" build_dir "${name}")
|
|
string(REGEX REPLACE "[^.]*\\." "" proj "${name}")
|
|
add_test(NAME "cmake_${name}"
|
|
COMMAND ${CMAKE_CTEST_COMMAND}
|
|
--build-and-test
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/${src_dir}"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${build_dir}"
|
|
--build-two-config
|
|
--build-generator ${CMAKE_GENERATOR}
|
|
--build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
|
--build-project ${proj}
|
|
${${name}_EXTRA_OPTIONS}
|
|
--test-command ${command} ${ARGN})
|
|
endmacro()
|
|
|
|
macro(add_cmake_test_generate_build_run name)
|
|
add_cmake_test_generate_build_run_variant("${name}" "${name}" ${ARGN})
|
|
endmacro()
|
|
|
|
# The following macros will produce tests that just run cmake
|
|
# to generate the build system for the test project.
|
|
macro(add_cmake_test_generate_variant name base)
|
|
string(REPLACE "." "/" src_dir "${base}")
|
|
string(REPLACE "." "/" build_dir "${name}")
|
|
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${build_dir}")
|
|
add_test(NAME "cmake_${name}"
|
|
COMMAND "${CMAKE_COMMAND}" "-G${CMAKE_GENERATOR}"
|
|
"-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}"
|
|
${${name}_EXTRA_OPTIONS}
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/${src_dir}"
|
|
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${build_dir}")
|
|
endmacro()
|
|
|
|
macro(add_cmake_test_generate name)
|
|
add_cmake_test_generate_variant("${name}" "${name}")
|
|
endmacro()
|
|
|
|
add_cmake_test_generate(features)
|
|
add_cmake_test_generate(qt_make_output_file)
|