Remove RunCMake helpers from top-level repo

These test helpers are moved to qtbase submodule.

Change-Id: If8aa31fe1d9a93f2667249abd90ae9b8cb81d07a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Cristian Le 2025-02-12 11:01:27 +01:00
parent a1c47252fb
commit e552513c9f
8 changed files with 9 additions and 544 deletions

View File

@ -1,136 +0,0 @@
CMake - Cross Platform Makefile Generator
Copyright 2000-2024 Kitware, Inc. and Contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Kitware, Inc. nor the names of Contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
The following individuals and institutions are among the Contributors:
* Aaron C. Meadows <cmake@shadowguarddev.com>
* Adriaan de Groot <groot@kde.org>
* Aleksey Avdeev <solo@altlinux.ru>
* Alexander Neundorf <neundorf@kde.org>
* Alexander Smorkalov <alexander.smorkalov@itseez.com>
* Alexey Sokolov <sokolov@google.com>
* Alex Merry <alex.merry@kde.org>
* Alex Turbov <i.zaufi@gmail.com>
* Andreas Pakulat <apaku@gmx.de>
* Andreas Schneider <asn@cryptomilk.org>
* André Rigland Brodtkorb <Andre.Brodtkorb@ifi.uio.no>
* Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf
* Benjamin Eikel
* Bjoern Ricks <bjoern.ricks@gmail.com>
* Brad Hards <bradh@kde.org>
* Christopher Harvey
* Christoph Grüninger <foss@grueninger.de>
* Clement Creusot <creusot@cs.york.ac.uk>
* Daniel Blezek <blezek@gmail.com>
* Daniel Pfeifer <daniel@pfeifer-mail.de>
* Dawid Wróbel <me@dawidwrobel.com>
* Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
* Eran Ifrah <eran.ifrah@gmail.com>
* Esben Mose Hansen, Ange Optimization ApS
* Geoffrey Viola <geoffrey.viola@asirobots.com>
* Google Inc
* Gregor Jasny
* Helio Chissini de Castro <helio@kde.org>
* Ilya Lavrenov <ilya.lavrenov@itseez.com>
* Insight Software Consortium <insightsoftwareconsortium.org>
* Intel Corporation <www.intel.com>
* Jan Woetzel
* Jordan Williams <jordan@jwillikers.com>
* Julien Schueller
* Kelly Thompson <kgt@lanl.gov>
* Konstantin Podsvirov <konstantin@podsvirov.pro>
* Laurent Montel <montel@kde.org>
* Mario Bensi <mbensi@ipsquad.net>
* Martin Gräßlin <mgraesslin@kde.org>
* Mathieu Malaterre <mathieu.malaterre@gmail.com>
* Matthaeus G. Chajdas
* Matthias Kretz <kretz@kde.org>
* Matthias Maennich <matthias@maennich.net>
* Michael Hirsch, Ph.D. <www.scivision.co>
* Michael Stürmer
* Miguel A. Figueroa-Villanueva
* Mike Durso <rbprogrammer@gmail.com>
* Mike Jackson
* Mike McQuaid <mike@mikemcquaid.com>
* Nicolas Bock <nicolasbock@gmail.com>
* Nicolas Despres <nicolas.despres@gmail.com>
* Nikita Krupen'ko <krnekit@gmail.com>
* NVIDIA Corporation <www.nvidia.com>
* OpenGamma Ltd. <opengamma.com>
* Patrick Stotko <stotko@cs.uni-bonn.de>
* Per Øyvind Karlsen <peroyvind@mandriva.org>
* Peter Collingbourne <peter@pcc.me.uk>
* Petr Gotthard <gotthard@honeywell.com>
* Philip Lowman <philip@yhbt.com>
* Philippe Proulx <pproulx@efficios.com>
* Raffi Enficiaud, Max Planck Society
* Raumfeld <raumfeld.com>
* Roger Leigh <rleigh@codelibre.net>
* Rolf Eike Beer <eike@sf-mail.de>
* Roman Donchenko <roman.donchenko@itseez.com>
* Roman Kharitonov <roman.kharitonov@itseez.com>
* Ruslan Baratov
* Sebastian Holtermann <sebholt@xwmw.org>
* Stephen Kelly <steveire@gmail.com>
* Sylvain Joubert <joubert.sy@gmail.com>
* The Qt Company Ltd.
* Thomas Sondergaard <ts@medical-insight.com>
* Tobias Hunger <tobias.hunger@qt.io>
* Todd Gamblin <tgamblin@llnl.gov>
* Tristan Carel
* University of Dundee
* Vadim Zhukov
* Will Dicharry <wdicharry@stellarscience.com>
See version control history for details of individual contributions.
The above copyright and license notice applies to distributions of
CMake in source and binary form. Third-party software packages supplied
with CMake under compatible licenses provide their own copyright notices
documented in corresponding subdirectories or source files.
------------------------------------------------------------------------------
CMake was initially developed by Kitware with the following sponsorship:
* National Library of Medicine at the National Institutes of Health
as part of the Insight Segmentation and Registration Toolkit (ITK).
* US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
Visualization Initiative.
* National Alliance for Medical Image Computing (NAMIC) is funded by the
National Institutes of Health through the NIH Roadmap for Medical Research,
Grant U54 EB005149.
* Kitware, Inc.

View File

@ -1,349 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#
# Original file location was Tests/RunCMake/RunCMake.cmake
foreach(
arg
IN ITEMS
RunCMake_GENERATOR
RunCMake_SOURCE_DIR
RunCMake_BINARY_DIR
)
if(NOT DEFINED ${arg})
message(FATAL_ERROR "${arg} not given!")
endif()
endforeach()
function(run_cmake test)
if(DEFINED ENV{RunCMake_TEST_FILTER})
set(test_and_variant "${test}${RunCMake_TEST_VARIANT_DESCRIPTION}")
if(NOT test_and_variant MATCHES "$ENV{RunCMake_TEST_FILTER}")
return()
endif()
unset(test_and_variant)
endif()
set(top_src "${RunCMake_SOURCE_DIR}")
set(top_bin "${RunCMake_BINARY_DIR}")
if(EXISTS ${top_src}/${test}-result.txt)
file(READ ${top_src}/${test}-result.txt expect_result)
string(REGEX REPLACE "\n+$" "" expect_result "${expect_result}")
elseif(DEFINED RunCMake_TEST_EXPECT_RESULT)
set(expect_result "${RunCMake_TEST_EXPECT_RESULT}")
else()
set(expect_result 0)
endif()
string(TOLOWER ${CMAKE_HOST_SYSTEM_NAME} platform_name)
#remove all additional bits from cygwin/msys name
if(platform_name MATCHES cygwin)
set(platform_name cygwin)
endif()
if(platform_name MATCHES msys)
set(platform_name msys)
endif()
foreach(o IN ITEMS stdout stderr config)
if(RunCMake-${o}-file AND EXISTS ${top_src}/${RunCMake-${o}-file})
file(READ ${top_src}/${RunCMake-${o}-file} expect_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
elseif(EXISTS ${top_src}/${test}-${o}-${platform_name}.txt)
file(READ ${top_src}/${test}-${o}-${platform_name}.txt expect_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
elseif(EXISTS ${top_src}/${test}-${o}.txt)
file(READ ${top_src}/${test}-${o}.txt expect_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
elseif(DEFINED RunCMake_TEST_EXPECT_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${RunCMake_TEST_EXPECT_${o}}")
else()
unset(expect_${o})
endif()
endforeach()
foreach(o IN ITEMS stdout stderr config)
if(DEFINED RunCMake_TEST_NOT_EXPECT_${o})
string(REGEX REPLACE "\n+$" "" not_expect_${o} "${RunCMake_TEST_NOT_EXPECT_${o}}")
endif()
endforeach()
if (NOT expect_stderr)
if (NOT RunCMake_DEFAULT_stderr)
set(RunCMake_DEFAULT_stderr "^$")
endif()
set(expect_stderr ${RunCMake_DEFAULT_stderr})
endif()
if (NOT RunCMake_TEST_SOURCE_DIR)
set(RunCMake_TEST_SOURCE_DIR "${top_src}")
endif()
if(NOT RunCMake_TEST_BINARY_DIR)
set(RunCMake_TEST_BINARY_DIR "${top_bin}/${test}-build")
endif()
if(NOT RunCMake_TEST_NO_CLEAN)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
endif()
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
if(RunCMake-prep-file AND EXISTS ${top_src}/${RunCMake-prep-file})
include(${top_src}/${RunCMake-prep-file})
else()
include(${top_src}/${test}-prep.cmake OPTIONAL)
endif()
if(RunCMake_TEST_OUTPUT_MERGE)
set(actual_stderr_var actual_stdout)
set(actual_stderr "")
else()
set(actual_stderr_var actual_stderr)
endif()
if(DEFINED RunCMake_TEST_TIMEOUT)
set(maybe_timeout TIMEOUT ${RunCMake_TEST_TIMEOUT})
else()
set(maybe_timeout "")
endif()
if(RunCMake-stdin-file AND EXISTS ${top_src}/${RunCMake-stdin-file})
set(maybe_input_file INPUT_FILE ${top_src}/${RunCMake-stdin-file})
elseif(EXISTS ${top_src}/${test}-stdin.txt)
set(maybe_input_file INPUT_FILE ${top_src}/${test}-stdin.txt)
else()
set(maybe_input_file "")
endif()
if(NOT RunCMake_TEST_COMMAND)
if(NOT DEFINED RunCMake_TEST_OPTIONS)
set(RunCMake_TEST_OPTIONS "")
endif()
if(APPLE)
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
endif()
if(RunCMake_TEST_LCC AND NOT RunCMake_TEST_NO_CMP0129)
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0129=NEW)
endif()
if(RunCMake_MAKE_PROGRAM)
list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
endif()
set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND})
if(NOT RunCMake_TEST_NO_SOURCE_DIR)
list(APPEND RunCMake_TEST_COMMAND "${RunCMake_TEST_SOURCE_DIR}")
endif()
list(APPEND RunCMake_TEST_COMMAND -G "${RunCMake_GENERATOR}")
if(RunCMake_GENERATOR_PLATFORM)
list(APPEND RunCMake_TEST_COMMAND -A "${RunCMake_GENERATOR_PLATFORM}")
endif()
if(RunCMake_GENERATOR_TOOLSET)
list(APPEND RunCMake_TEST_COMMAND -T "${RunCMake_GENERATOR_TOOLSET}")
endif()
if(RunCMake_GENERATOR_INSTANCE)
list(APPEND RunCMake_TEST_COMMAND "-DCMAKE_GENERATOR_INSTANCE=${RunCMake_GENERATOR_INSTANCE}")
endif()
list(APPEND RunCMake_TEST_COMMAND
-DRunCMake_TEST=${test}
--no-warn-unused-cli
)
else()
set(RunCMake_TEST_OPTIONS "")
endif()
if(NOT DEFINED RunCMake_TEST_RAW_ARGS)
set(RunCMake_TEST_RAW_ARGS "")
endif()
if(NOT RunCMake_TEST_COMMAND_WORKING_DIRECTORY)
set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
endif()
string(CONCAT _code [[execute_process(
COMMAND ${RunCMake_TEST_COMMAND}
${RunCMake_TEST_OPTIONS}
]] "${RunCMake_TEST_RAW_ARGS}\n" [[
WORKING_DIRECTORY "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}"
OUTPUT_VARIABLE actual_stdout
ERROR_VARIABLE ${actual_stderr_var}
RESULT_VARIABLE actual_result
ENCODING UTF8
${maybe_timeout}
${maybe_input_file}
)]])
if(DEFINED ENV{PWD})
set(old_pwd "$ENV{PWD}")
else()
set(old_pwd)
endif()
# Emulate a shell using this directory.
set(ENV{PWD} "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}")
cmake_language(EVAL CODE "${_code}")
if(DEFINED old_pwd)
set(ENV{PWD} "${old_pwd}")
else()
set(ENV{PWD})
endif()
set(msg "")
if(NOT "${actual_result}" MATCHES "${expect_result}")
string(APPEND msg "Result is [${actual_result}], not [${expect_result}].\n")
endif()
set(config_file "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}/CMakeFiles/CMakeConfigureLog.yaml")
if(EXISTS "${config_file}")
file(READ "${config_file}" actual_config)
else()
set(actual_config "")
endif()
# Special case: remove ninja no-op line from stderr, but not stdout.
# Test cases that look for it should use RunCMake_TEST_OUTPUT_MERGE.
string(REGEX REPLACE "(^|\r?\n)ninja: no work to do\\.\r?\n" "\\1" actual_stderr "${actual_stderr}")
# Remove incidental content from both stdout and stderr.
string(CONCAT ignore_line_regex
"(^|\n)((==[0-9]+=="
"|BullseyeCoverage"
"|[a-z]+\\([0-9]+\\) malloc:"
"|clang[^:]*: warning: the object size sanitizer has no effect at -O0, but is explicitly enabled:"
"|flang-new: warning: argument unused during compilation: .-flang-experimental-exec."
"|icp?x: remark: Note that use of .-g. without any optimization-level option will turn off most compiler optimizations"
"|ifx: remark #10440: Note that use of a debug option without any optimization-level option will turnoff most compiler optimizations"
"|lld-link: warning: procedure symbol record for .* refers to PDB item index [0-9A-Fa-fx]+ which is not a valid function ID record"
"|Error kstat returned"
"|Hit xcodebuild bug"
"|Recompacting log\\.\\.\\."
"|LICENSE WARNING:"
"|Your license to use PGI[^\n]*expired"
"|Please obtain a new version at"
"|contact PGI Sales at"
"|ic(p?c|l): remark #10441: The Intel\\(R\\) C\\+\\+ Compiler Classic \\(ICC\\) is deprecated"
"|[^\n]*install_name_tool: warning: changes being made to the file will invalidate the code signature in:"
"|[^\n]*(createItemModels|_NSMainThread|Please file a bug at)"
"|[^\n]*xcodebuild[^\n]*DVTAssertions: Warning"
"|[^\n]*xcodebuild[^\n]*DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default"
"|[^\n]*xcodebuild[^\n]*DVTPlugInManager"
"|[^\n]*xcodebuild[^\n]*DVTSDK: Warning: SDK path collision for path"
"|[^\n]*xcodebuild[^\n]*Requested but did not find extension point with identifier"
"|[^\n]*xcodebuild[^\n]*nil host used in call to allows.*HTTPSCertificateForHost"
"|[^\n]*xcodebuild[^\n]*warning: file type[^\n]*is based on missing file type"
"|[^\n]*objc[^\n]*: Class [^\n]* One of the two will be used. Which one is undefined."
"|[^\n]*is a member of multiple groups"
"|[^\n]*offset in archive not a multiple of 8"
"|[^\n]*from Time Machine by path"
"|[^\n]*Bullseye Testing Technology"
${RunCMake_TEST_EXTRA_IGNORE_LINE_REGEX}
")[^\n]*\n)+"
)
if(RunCMake_IGNORE_POLICY_VERSION_DEPRECATION)
string(REGEX REPLACE [[
^CMake Deprecation Warning at [^
]*CMakeLists.txt:1 \(cmake_minimum_required\):
Compatibility with CMake < 3\.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a \.\.\.<max> suffix to tell
CMake that the project does not need compatibility with older versions\.
+
]] "" actual_stderr "${actual_stderr}")
endif()
foreach(o IN ITEMS stdout stderr config)
string(REGEX REPLACE "\r\n" "\n" actual_${o} "${actual_${o}}")
string(REGEX REPLACE "${ignore_line_regex}" "\\1" actual_${o} "${actual_${o}}")
string(REGEX REPLACE "\n+$" "" actual_${o} "${actual_${o}}")
if(DEFINED expect_${o})
if(NOT "${actual_${o}}" MATCHES "${expect_${o}}")
string(APPEND msg "${o} does not match that expected.\n")
endif()
endif()
if(DEFINED not_expect_${o})
if("${actual_${o}}" MATCHES "${not_expect_${o}}")
string(APPEND msg "${o} matches that not expected.\n")
endif()
endif()
endforeach()
unset(RunCMake_TEST_FAILED)
if(RunCMake-check-file AND EXISTS ${top_src}/${RunCMake-check-file})
include(${top_src}/${RunCMake-check-file})
else()
include(${top_src}/${test}-check.cmake OPTIONAL)
endif()
if(RunCMake_TEST_FAILED)
set(msg "${RunCMake_TEST_FAILED}\n${msg}")
endif()
if(msg)
string(REPLACE ";" "\" \"" command "\"${RunCMake_TEST_COMMAND}\"")
if(RunCMake_TEST_OPTIONS)
string(REPLACE ";" "\" \"" options "\"${RunCMake_TEST_OPTIONS}\"")
string(APPEND command " ${options}")
endif()
if(RunCMake_TEST_RAW_ARGS)
string(APPEND command " ${RunCMake_TEST_RAW_ARGS}")
endif()
string(APPEND msg "Command was:\n command> ${command}\n")
endif()
if(msg)
foreach(o IN ITEMS stdout stderr config)
if(DEFINED expect_${o})
string(REGEX REPLACE "\n" "\n expect-${o}> " expect_${o} " expect-${o}> ${expect_${o}}")
string(APPEND msg "Expected ${o} to match:\n${expect_${o}}\n")
endif()
if(NOT o STREQUAL "config" OR DEFINED expect_${o})
string(REGEX REPLACE "\n" "\n actual-${o}> " actual_${o} " actual-${o}> ${actual_${o}}")
string(APPEND msg "Actual ${o}:\n${actual_${o}}\n")
endif()
endforeach()
message(SEND_ERROR "${test}${RunCMake_TEST_VARIANT_DESCRIPTION} - FAILED:\n${msg}")
else()
message(STATUS "${test}${RunCMake_TEST_VARIANT_DESCRIPTION} - PASSED")
endif()
endfunction()
function(run_cmake_command test)
set(RunCMake_TEST_COMMAND "${ARGN}")
run_cmake(${test})
endfunction()
function(run_cmake_script test)
set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND} ${ARGN} -P ${RunCMake_SOURCE_DIR}/${test}.cmake)
run_cmake(${test})
endfunction()
function(run_cmake_with_options test)
set(RunCMake_TEST_OPTIONS "${ARGN}")
run_cmake(${test})
endfunction()
function(run_cmake_with_raw_args test args)
set(RunCMake_TEST_RAW_ARGS "${args}")
run_cmake(${test})
endfunction()
function(ensure_files_match expected_file actual_file)
if(NOT EXISTS "${expected_file}")
message(FATAL_ERROR "Expected file does not exist:\n ${expected_file}")
endif()
if(NOT EXISTS "${actual_file}")
message(FATAL_ERROR "Actual file does not exist:\n ${actual_file}")
endif()
file(READ "${expected_file}" expected_file_content)
file(READ "${actual_file}" actual_file_content)
if(NOT "${expected_file_content}" STREQUAL "${actual_file_content}")
message(FATAL_ERROR "Actual file content does not match expected:\n
\n
expected file: ${expected_file}\n
expected content:\n
${expected_file_content}\n
\n
actual file: ${actual_file}\n
actual content:\n
${actual_file_content}\n
")
endif()
endfunction()
# Get the user id on unix if possible.
function(get_unix_uid var)
set("${var}" "" PARENT_SCOPE)
if(UNIX)
set(ID "id")
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND EXISTS "/usr/xpg4/bin/id")
set (ID "/usr/xpg4/bin/id")
endif()
execute_process(COMMAND ${ID} -u $ENV{USER} OUTPUT_VARIABLE uid ERROR_QUIET
RESULT_VARIABLE status OUTPUT_STRIP_TRAILING_WHITESPACE)
if(status EQUAL 0)
set("${var}" "${uid}" PARENT_SCOPE)
endif()
endif()
endfunction()
# Protect RunCMake tests from calling environment.
unset(ENV{MAKEFLAGS})

View File

@ -1,39 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#
# Original file location was Tests/RunCMake/CMakeLists.txt
macro(add_RunCMake_test test)
set(TEST_ARGS ${ARGN})
if ("${ARGV1}" STREQUAL "TEST_DIR")
if ("${ARGV2}" STREQUAL "")
message(FATAL_ERROR "Invalid args")
endif()
set(Test_Dir ${ARGV2})
list(REMOVE_AT TEST_ARGS 0)
list(REMOVE_AT TEST_ARGS 0)
else()
set(Test_Dir ${test})
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "LCC")
list(APPEND TEST_ARGS -DRunCMake_TEST_LCC=1)
endif()
add_test(NAME RunCMake.${test} COMMAND ${CMAKE_CMAKE_COMMAND}
-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR}
-DRunCMake_GENERATOR_IS_MULTI_CONFIG=${_isMultiConfig}
-DRunCMake_GENERATOR=${CMAKE_GENERATOR}
-DRunCMake_GENERATOR_INSTANCE=${CMAKE_GENERATOR_INSTANCE}
-DRunCMake_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
-DRunCMake_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET}
-DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM}
-DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}
-DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${test}
${${test}_ARGS}
${TEST_ARGS}
-P "${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}/RunCMakeTest.cmake"
)
set_tests_properties("RunCMake.${test}" PROPERTIES LABELS "CMake;run")
if(${test} MATCHES ^CMP)
set_property(TEST "RunCMake.${test}" APPEND PROPERTY LABELS "policy")
endif()
endmacro()

View File

@ -1,16 +0,0 @@
{
"Id": "cmake-test-modules",
"Name": "cmake-test-modules",
"QDocModule": "qtcore",
"QtUsage": "Used as part of the build system.",
"QtParts" : [ "tests" ],
"Description": "CMake helpers for running CMake tests.",
"Homepage": "https://cmake.org/",
"Version": "3.29.0",
"License": "BSD 3-Clause \"New\" or \"Revised\" License",
"LicenseId": "BSD-3-Clause",
"LicenseFile": "Copyright.txt",
"Copyright": "Copyright © 2000-2024 Kitware, Inc. and Contributors"
}

View File

@ -8,7 +8,6 @@ macro(qt_ir_include_all_helpers)
include(QtIROptionsHelpers)
include(QtIRParsingHelpers)
include(QtIRProcessHelpers)
include(QtIRTestHelpers)
include(QtTopLevelHelpers)
endmacro()

View File

@ -7,7 +7,6 @@ cmake_minimum_required(VERSION 3.16)
macro(qt_ir_setup_include_paths)
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/3rdparty/cmake"
)
include(QtIRHelpers)
endmacro()

View File

@ -7,7 +7,6 @@ cmake_minimum_required(VERSION 3.16)
macro(qt_tl_setup_include_paths)
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/3rdparty/cmake"
)
include(QtTopLevelHelpers)
endmacro()

View File

@ -3,15 +3,23 @@
set(top_repo_dir_path "${CMAKE_CURRENT_LIST_DIR}/../../..")
get_filename_component(top_repo_dir_path "${top_repo_dir_path}" ABSOLUTE)
if(NOT IS_DIRECTORY ${top_repo_dir_path}/qtbase/cmake/3rdparty/cmake)
message(FATAL_ERROR
"qtbase submodule is not initialized or it is missing the QtRunCMakeTestHelpers.\n"
" Cannot run these tests without them."
)
endif()
macro(qt_ir_setup_test_include_paths)
set(ir_script_path "${top_repo_dir_path}/cmake")
list(APPEND CMAKE_MODULE_PATH
"${ir_script_path}"
"${ir_script_path}/3rdparty/cmake"
"${top_repo_dir_path}/qtbase/cmake/3rdparty/cmake"
)
include(QtIRHelpers)
qt_ir_include_all_helpers()
# RunCMakeTestHelpers from qtbase/cmake/3rdparty/cmake
include(QtRunCMakeTestHelpers)
endmacro()
qt_ir_setup_test_include_paths()