From 45b514ce0129424c7c8df89348ff551effd4bd2b Mon Sep 17 00:00:00 2001 From: "Roscoe A. Bartlett" Date: Sat, 25 Feb 2023 07:01:29 -0700 Subject: [PATCH] Update CMake min version from 3.17 to 3.23 (#411) This is part of allowing TriBITS to take advantage of newer CMake features and replacing some older TriBITS code that now has (better or compatible) native implementations in CMake (often many years after the TriBITS support was created). This allows unconditionally using CMake features up to version 3.23 (where we were limited unconditionally using features up to CMake version 3.17). The min version of CMake 3.23 is chosen due to Trilinos changing its min version to 3.23 (see trilinos/Trilinos#10355). Some non-obvious changes made in this commit were: * For some reason, find_file() with CMake 3.23 (and using CMake 3.23 default policies) adds on an extra '/' before the file name in the found path. This messed up some of the test checks in TriBITS but I fixed that by putting '[/]*' in the regex to account for that extra '/'. * Updated the GitHub Actions testing jobs to all be CMake 3.23+. (I updated the patch versions of the different versions as well to the most recent patch releases for those minor versions as of right now. CMake 3.25 is still the most recent release of CMake as CMake 3.26 is still in release candidate testing. Therefore, CMake 3.26.2 is still the most current release of CMake.) * Added checks for setting CTEST_RESOURCE_SPEC_FILE in CTestTestfile.cmake now that CMake is >= 3.18. * Removed constant ${PROJECT_NAME}_CTEST_USE_NEW_AAO_FEATURES since it is hard-coded now that CMake is 3.17+ is required. * Removed some documentation discussing older versions of CMake (which are no longer supported by TriBITS). * install-cmake.py: Changed the default version of CMake to install from 3.17 to 3.23. * install-cmake.py: Removed patch for CMake 3.17 * Removed documentation for the Kitware fork of Ninja versions < 1.10 since Ninja 1.10 has been out for several years with Fortran support. --- .github/workflows/tribits_testing.yml | 8 +- ...ommentsFromCMakeCacheFile_TestDriver.cmake | 2 +- .../core/CTestScriptsUnitTests/CMakeLists.txt | 2 +- .../EchoEnvVarForTest.cmake | 2 +- .../TAATDriver/bad_dest_dir/CMakeLists.txt | 2 +- .../TAATDriver/bad_file_name/CMakeLists.txt | 2 +- .../CTestScriptsUnitTests/echoEnvVars.cmake | 2 +- test/core/CompilerOptions_UnitTests.cmake | 2 +- .../DummyPackageClientCMakeLists.txt | 2 +- .../RunDummyPackageClientBulid.cmake | 2 +- .../TribitsExampleProject2_Tests.cmake | 8 +- .../TribitsExampleProject_Tests.cmake | 2 +- .../TribitsHelloWorld_Tests.cmake | 11 +- test/core/ProcessEnabledTpls/CMakeLists.txt | 10 +- ...ibitsProcessEnabledTplTesterCMakeLists.txt | 2 +- .../core/TestingFunctionMacro_UnitTests.cmake | 2 +- ...ribitsAdjustPackageEnables_UnitTests.cmake | 2 +- ...rnalPackageWriteConfigFile_UnitTests.cmake | 2 +- ...TribitsPackageDependencies_UnitTests.cmake | 2 +- ...ocessExtraRepositoriesList_UnitTests.cmake | 2 +- ...rocessPackagesAndDirsLists_UnitTests.cmake | 2 +- ...ctDepsFilesCreateDepsGraph_UnitTests.cmake | 2 +- ...bitsWriteClientExportFiles_UnitTests.cmake | 2 +- test/ctest_driver/CTestDriverUnitTests.cmake | 2 +- tribits/CHANGELOG.md | 6 + .../ci_support/TribitsDumpDepsXmlScript.cmake | 2 +- .../core/config_tests/fmangle/CMakeLists.txt | 2 +- .../package_arch/TribitsAddAdvancedTest.cmake | 2 +- .../core/package_arch/TribitsConstants.cmake | 8 +- .../tribits_get_version_date.cmake | 2 +- .../ctest_driver/TribitsCTestDriverCore.cmake | 8 +- .../TribitsGetCTestTestXmlDir.cmake | 2 +- .../tribits_ctest_update_commands.cmake | 2 +- ...ribits_ctest_update_commands_wrapper.cmake | 2 +- ...dd-CTEST_RESOURCE_SPEC_FILE-variable.patch | 377 ------------------ tribits/devtools_install/install-cmake.py | 8 +- .../build_ref/TribitsBuildReferenceBody.rst | 18 +- .../doc/build_ref/create-project-build-ref.py | 4 +- tribits/doc/guides/TribitsGuidesBody.rst | 4 +- .../doc/guides/TribitsGuidesReferences.rst | 2 +- .../src/TribitsTutorial_ConvertAProject.rst | 4 +- .../src/TribitsTutorial_HelloWorld.rst | 2 +- tribits/examples/MockTrilinos/CMakeLists.txt | 2 +- .../RawAndTribitsHelloWorld/CMakeLists.txt | 2 +- .../ReducedMockTrilinos/CMakeLists.txt | 2 +- .../examples/TribitsExampleApp/CMakeLists.txt | 2 +- .../TribitsExampleApp2/CMakeLists.txt | 2 +- .../TribitsExampleMetaProject/CMakeLists.txt | 2 +- .../TribitsExampleProject/CMakeLists.txt | 2 +- .../TribitsExampleProject2/CMakeLists.txt | 2 +- .../CMakeLists.txt | 2 +- .../examples/TribitsHelloWorld/CMakeLists.txt | 2 +- .../TribitsOldSimpleExampleApp/CMakeLists.txt | 2 +- .../TribitsSimpleExampleApp/CMakeLists.txt | 2 +- .../examples/tpls/SimpleTpl/CMakeLists.txt | 2 +- tribits/examples/tpls/Tpl1/CMakeLists.txt | 2 +- tribits/examples/tpls/Tpl2/CMakeLists.txt | 2 +- tribits/examples/tpls/Tpl3/CMakeLists.txt | 2 +- tribits/examples/tpls/Tpl4/CMakeLists.txt | 2 +- 59 files changed, 81 insertions(+), 485 deletions(-) delete mode 100644 tribits/devtools_install/0001-CTest-Add-CTEST_RESOURCE_SPEC_FILE-variable.patch diff --git a/.github/workflows/tribits_testing.yml b/.github/workflows/tribits_testing.yml index 8dcc11641..0d013711f 100644 --- a/.github/workflows/tribits_testing.yml +++ b/.github/workflows/tribits_testing.yml @@ -19,10 +19,10 @@ jobs: fail-fast: false # Allow each job to run to completion even if other jobs fail first matrix: config: - - { os: ubuntu-latest, cmake: "3.22.4", generator: "makefiles", python: "3.8", cc: gcc-9, cxx: g++-9, fc: gfortran-9 } - - { os: ubuntu-latest, cmake: "3.22.4", generator: "makefiles", python: "3.8", cc: gcc-10, cxx: g++-10 } - - { os: ubuntu-latest, cmake: "3.23.1", generator: "makefiles", python: "3.8", cc: gcc-11, cxx: g++-11, fc: gfortran-11, no_have_ninja: no-ninja } - - { os: ubuntu-latest, cmake: "3.25.1", generator: "makefiles", python: "3.8", cc: gcc-11, cxx: g++-11, fc: gfortran-11 } + - { os: ubuntu-latest, cmake: "3.23.1", generator: "makefiles", python: "3.8", cc: gcc-9, cxx: g++-9, fc: gfortran-9 } + - { os: ubuntu-latest, cmake: "3.24.3", generator: "makefiles", python: "3.8", cc: gcc-10, cxx: g++-10 } + - { os: ubuntu-latest, cmake: "3.24.3", generator: "makefiles", python: "3.8", cc: gcc-11, cxx: g++-11, fc: gfortran-11, no_have_ninja: no-ninja } + - { os: ubuntu-latest, cmake: "3.25.2", generator: "makefiles", python: "3.8", cc: gcc-11, cxx: g++-11, fc: gfortran-11 } runs-on: ${{ matrix.config.os }} diff --git a/test/ci_support/TribitsStripCommentsFromCMakeCacheFile_TestDriver.cmake b/test/ci_support/TribitsStripCommentsFromCMakeCacheFile_TestDriver.cmake index a39dc4226..5ab8422c9 100644 --- a/test/ci_support/TribitsStripCommentsFromCMakeCacheFile_TestDriver.cmake +++ b/test/ci_support/TribitsStripCommentsFromCMakeCacheFile_TestDriver.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # # This file is run as a cmake -P script to create a CMakeCache.clean.txt file diff --git a/test/core/CTestScriptsUnitTests/CMakeLists.txt b/test/core/CTestScriptsUnitTests/CMakeLists.txt index 5a2ade1a9..7432668cf 100644 --- a/test/core/CTestScriptsUnitTests/CMakeLists.txt +++ b/test/core/CTestScriptsUnitTests/CMakeLists.txt @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # # The tests defined here are used to test the dynamic behavior of the diff --git a/test/core/CTestScriptsUnitTests/EchoEnvVarForTest.cmake b/test/core/CTestScriptsUnitTests/EchoEnvVarForTest.cmake index 9a3b4ea51..9a1746641 100644 --- a/test/core/CTestScriptsUnitTests/EchoEnvVarForTest.cmake +++ b/test/core/CTestScriptsUnitTests/EchoEnvVarForTest.cmake @@ -37,6 +37,6 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("PASS_IN_FROM_ENV_VAR: $ENV{PASS_IN_FROM_ENV_VAR}") diff --git a/test/core/CTestScriptsUnitTests/TAATDriver/bad_dest_dir/CMakeLists.txt b/test/core/CTestScriptsUnitTests/TAATDriver/bad_dest_dir/CMakeLists.txt index 2ac672b22..1776f1db9 100644 --- a/test/core/CTestScriptsUnitTests/TAATDriver/bad_dest_dir/CMakeLists.txt +++ b/test/core/CTestScriptsUnitTests/TAATDriver/bad_dest_dir/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) set(PROJECT_NAME TAATDriver) project(${PROJECT_NAME} NONE) diff --git a/test/core/CTestScriptsUnitTests/TAATDriver/bad_file_name/CMakeLists.txt b/test/core/CTestScriptsUnitTests/TAATDriver/bad_file_name/CMakeLists.txt index 23729ad1a..52b5bd347 100644 --- a/test/core/CTestScriptsUnitTests/TAATDriver/bad_file_name/CMakeLists.txt +++ b/test/core/CTestScriptsUnitTests/TAATDriver/bad_file_name/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) set(PROJECT_NAME TAATDriver) project(${PROJECT_NAME} NONE) diff --git a/test/core/CTestScriptsUnitTests/echoEnvVars.cmake b/test/core/CTestScriptsUnitTests/echoEnvVars.cmake index 6d33dfd53..a324bc06d 100644 --- a/test/core/CTestScriptsUnitTests/echoEnvVars.cmake +++ b/test/core/CTestScriptsUnitTests/echoEnvVars.cmake @@ -11,7 +11,7 @@ # and it read and print these env vars up to 10 # -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) set(maxNumEnvVars 10) diff --git a/test/core/CompilerOptions_UnitTests.cmake b/test/core/CompilerOptions_UnitTests.cmake index 49eaf1a47..a00cf471f 100644 --- a/test/core/CompilerOptions_UnitTests.cmake +++ b/test/core/CompilerOptions_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("PROJECT_NAME = ${PROJECT_NAME}") message("${PROJECT_NAME}_TRIBITS_DIR = ${${PROJECT_NAME}_TRIBITS_DIR}") diff --git a/test/core/ExamplesUnitTests/DummyPackageClientCMakeLists.txt b/test/core/ExamplesUnitTests/DummyPackageClientCMakeLists.txt index c5c196ea2..6f19e31a6 100644 --- a/test/core/ExamplesUnitTests/DummyPackageClientCMakeLists.txt +++ b/test/core/ExamplesUnitTests/DummyPackageClientCMakeLists.txt @@ -52,7 +52,7 @@ message("FIND_PACKAGE_OPTIONAL_COMPONENTS (input) = '${FIND_PACKAGE_OPTIONAL_COM message("CMAKE_PREFIX_PATH = '${CMAKE_PREFIX_PATH}'") message("EXPORT_VAR_PREFIX = '${EXPORT_VAR_PREFIX}'") -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) project(${DUMMY_PROJECT_NAME} NONE) if (FIND_PACKAGE_COMPONENTS) diff --git a/test/core/ExamplesUnitTests/RunDummyPackageClientBulid.cmake b/test/core/ExamplesUnitTests/RunDummyPackageClientBulid.cmake index 0741421c1..ae1f4c1a7 100644 --- a/test/core/ExamplesUnitTests/RunDummyPackageClientBulid.cmake +++ b/test/core/ExamplesUnitTests/RunDummyPackageClientBulid.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # # This file is run as a cmake -P script to create a new dummy project diff --git a/test/core/ExamplesUnitTests/TribitsExampleProject2_Tests.cmake b/test/core/ExamplesUnitTests/TribitsExampleProject2_Tests.cmake index d1f9a1f2f..890d90f37 100644 --- a/test/core/ExamplesUnitTests/TribitsExampleProject2_Tests.cmake +++ b/test/core/ExamplesUnitTests/TribitsExampleProject2_Tests.cmake @@ -197,24 +197,24 @@ function(TribitsExampleProject2_find_tpl_parts sharedOrStatic findingTplsMetho "Tpl1_LIBRARY_NAMES='tpl1'" "Found lib '${tplInstallBaseDir}/install_tpl1/lib/libtpl1${libextregex}'" "TPL_Tpl1_LIBRARIES='${tplInstallBaseDir}/install_tpl1/lib/libtpl1${libextregex}'" - "Found header '${tplInstallBaseDir}/install_tpl1/include/Tpl1.hpp'" + "Found header '${tplInstallBaseDir}/install_tpl1/include[/]*/Tpl1.hpp'" "TPL_Tpl1_INCLUDE_DIRS='${tplInstallBaseDir}/install_tpl1/include'" "Tpl2_LIBRARY_NAMES='tpl2b[;]tpl2a'" " Found lib '${tplInstallBaseDir}/install_tpl2/lib/libtpl2b${libextregex}'" " Found lib '${tplInstallBaseDir}/install_tpl2/lib/libtpl2a${libextregex}'" "TPL_Tpl2_LIBRARIES='${tplInstallBaseDir}/install_tpl2/lib/libtpl2b${libextregex}[;]${tplInstallBaseDir}/install_tpl2/lib/libtpl2a${libextregex}'" - " Found header '${tplInstallBaseDir}/install_tpl2/include/Tpl2a.hpp'" + " Found header '${tplInstallBaseDir}/install_tpl2/include[/]*/Tpl2a.hpp'" "Found TPL 'Tpl2' include dirs '${tplInstallBaseDir}/install_tpl2/include'" "TPL_Tpl2_INCLUDE_DIRS='${tplInstallBaseDir}/install_tpl2/include'" "Tpl3_LIBRARY_NAMES='tpl3'" " Found lib '${tplInstallBaseDir}/install_tpl3/lib/libtpl3${libextregex}'" "TPL_Tpl3_LIBRARIES='${tplInstallBaseDir}/install_tpl3/lib/libtpl3${libextregex}'" - " Found header '${tplInstallBaseDir}/install_tpl3/include/Tpl3.hpp'" + " Found header '${tplInstallBaseDir}/install_tpl3/include[/]*/Tpl3.hpp'" "TPL_Tpl3_INCLUDE_DIRS='${tplInstallBaseDir}/install_tpl3/include'" - " Found header '${tplInstallBaseDir}/install_tpl4/include/Tpl4.hpp'" + " Found header '${tplInstallBaseDir}/install_tpl4/include[/]*/Tpl4.hpp'" "TPL_Tpl4_INCLUDE_DIRS='${tplInstallBaseDir}/install_tpl4/include'" ${searchingTplLibAndINcDirsRegexes} diff --git a/test/core/ExamplesUnitTests/TribitsExampleProject_Tests.cmake b/test/core/ExamplesUnitTests/TribitsExampleProject_Tests.cmake index 5851b9f36..851a25c6d 100644 --- a/test/core/ExamplesUnitTests/TribitsExampleProject_Tests.cmake +++ b/test/core/ExamplesUnitTests/TribitsExampleProject_Tests.cmake @@ -2584,7 +2584,7 @@ tribits_add_advanced_test( TribitsExampleProject_HeaderOnlyTpl_FailThenPass PASS_REGULAR_EXPRESSION_ALL "Processing enabled external package/TPL: HeaderOnlyTpl .enabled by SimpleCxx, disable with -DTPL_ENABLE_HeaderOnlyTpl=OFF." "-- Searching for headers in HeaderOnlyTpl_INCLUDE_DIRS='.*/tribits/examples/tpls/HeaderOnlyTpl'" - "Found header '.*/tribits/examples/tpls/HeaderOnlyTpl/HeaderOnlyTpl_stuff.hpp'" + "Found header '.*/tribits/examples/tpls/HeaderOnlyTpl[/]*/HeaderOnlyTpl_stuff.hpp'" "Found TPL 'HeaderOnlyTpl' include dirs '.*/tribits/examples/tpls/HeaderOnlyTpl'" "TPL_HeaderOnlyTpl_INCLUDE_DIRS='.*/tribits/examples/tpls/HeaderOnlyTpl'" "Configuring done" diff --git a/test/core/ExamplesUnitTests/TribitsHelloWorld_Tests.cmake b/test/core/ExamplesUnitTests/TribitsHelloWorld_Tests.cmake index 776baf3fd..69f694fff 100644 --- a/test/core/ExamplesUnitTests/TribitsHelloWorld_Tests.cmake +++ b/test/core/ExamplesUnitTests/TribitsHelloWorld_Tests.cmake @@ -797,16 +797,6 @@ tribits_add_advanced_test( TribitsHelloWorld_install_config_dummy_proj # -# NOTE: In the below tests, we are only testing TriBITS support for generating -# the ctest_resources.json file, setting the RESOURCES_GROUP and ENVIRONMENT -# test properties, and testing CMake support for recognizing the -# RESOURCES_GROUP test property and putting it in the CTestTestfile.cmake -# file. We are not actually running ctest or looking for the var -# CTEST_RESOURCE_SPEC_FILE set in the CTestTestfile.cmake file. (Support for -# CTEST_RESOURCE_SPEC_FILE was not added proper until 3.18 so we can't rely on -# it in these tests that work with CMake 3.17.) - - tribits_add_advanced_test( TribitsHelloWorld_ctest_resources_file_autogen_2_3 OVERALL_WORKING_DIRECTORY TEST_NAME OVERALL_NUM_MPI_PROCS 1 @@ -841,6 +831,7 @@ tribits_add_advanced_test( TribitsHelloWorld_ctest_resources_file_autogen_2_3 "ENVIRONMENT .CTEST_KOKKOS_DEVICE_TYPE=gpus." "PROCESSORS .1." "RESOURCE_GROUPS .1,gpus:1." + "CTEST_RESOURCE_SPEC_FILE .*/ctest_resources.json" ALWAYS_FAIL_ON_NONZERO_RETURN ) diff --git a/test/core/ProcessEnabledTpls/CMakeLists.txt b/test/core/ProcessEnabledTpls/CMakeLists.txt index a7bb7e0c0..1a3ed9a02 100644 --- a/test/core/ProcessEnabledTpls/CMakeLists.txt +++ b/test/core/ProcessEnabledTpls/CMakeLists.txt @@ -148,7 +148,7 @@ create_process_enabled_tpls_test_case( "-- Searching for headers in HeaderOnlyTpl_INCLUDE_DIRS='.+/HeaderOnlyTpl'" "-- Searching for a header file in the set .HeaderOnlyTpl_stuff.hpp.:" "-- Searching for header 'HeaderOnlyTpl_stuff.hpp' ..." - "-- Found header '.+/HeaderOnlyTpl/HeaderOnlyTpl_stuff.hpp'" + "-- Found header '.+/HeaderOnlyTpl[/]*/HeaderOnlyTpl_stuff.hpp'" "-- Found TPL 'HeaderOnlyTpl' include dirs '.+/HeaderOnlyTpl'" "-- TPL_HeaderOnlyTpl_INCLUDE_DIRS='.+/HeaderOnlyTpl'" "Exported TPL_ENABLE_HeaderOnlyTpl='ON'" @@ -332,10 +332,10 @@ create_process_enabled_tpls_test_case( "-- Searching for headers in HeadersAndLibsTpl_INCLUDE_DIRS='.+/HeadersAndLibsTpl/include'" "-- Searching for a header file in the set .HeadersAndLibsTpl_header1.hpp.:" "-- Searching for header 'HeadersAndLibsTpl_header1.hpp' [.][.][.]" - "-- Found header '.+/HeadersAndLibsTpl/include/HeadersAndLibsTpl_header1.hpp'" + "-- Found header '.+/HeadersAndLibsTpl/include[/]*/HeadersAndLibsTpl_header1.hpp'" "-- Searching for a header file in the set .HeadersAndLibsTpl_header2.hpp.:" "-- Searching for header 'HeadersAndLibsTpl_header2.hpp' [.][.][.]" - "-- Found header '.+/HeadersAndLibsTpl/include/HeadersAndLibsTpl_header2.hpp'" + "-- Found header '.+/HeadersAndLibsTpl/include[/]*/HeadersAndLibsTpl_header2.hpp'" "-- Found TPL 'HeadersAndLibsTpl' include dirs '.+/HeadersAndLibsTpl/include'" "-- TPL_HeadersAndLibsTpl_INCLUDE_DIRS='.+/HeadersAndLibsTpl/include'" "Exported TPL_HeadersAndLibsTpl_NOT_FOUND='FALSE'" @@ -370,11 +370,11 @@ create_process_enabled_tpls_test_case( "-- Searching for a header file in the set .MissingHeader1.hpp HeadersAndLibsTpl_header1.hpp.:" "-- Searching for header 'MissingHeader1.hpp' [.][.][.]" "-- Searching for header 'HeadersAndLibsTpl_header1.hpp' [.][.][.]" - "-- Found header '.+/HeadersAndLibsTpl/include/HeadersAndLibsTpl_header1.hpp'" + "-- Found header '.+/HeadersAndLibsTpl/include[/]*/HeadersAndLibsTpl_header1.hpp'" "-- Searching for a header file in the set .MissingHeader2.hpp HeadersAndLibsTpl_header2.hpp.:" "-- Searching for header 'MissingHeader2.hpp' [.][.][.]" "-- Searching for header 'HeadersAndLibsTpl_header2.hpp' [.][.][.]" - "-- Found header '.+/HeadersAndLibsTpl/include/HeadersAndLibsTpl_header2.hpp'" + "-- Found header '.+/HeadersAndLibsTpl/include[/]*/HeadersAndLibsTpl_header2.hpp'" "-- Found TPL 'HeadersAndLibsTpl' include dirs '.+/HeadersAndLibsTpl/include'" "-- TPL_HeadersAndLibsTpl_INCLUDE_DIRS='.+/HeadersAndLibsTpl/include'" "Exported TPL_HeadersAndLibsTpl_NOT_FOUND='FALSE'" diff --git a/test/core/ProcessEnabledTpls/TribitsProcessEnabledTplTesterCMakeLists.txt b/test/core/ProcessEnabledTpls/TribitsProcessEnabledTplTesterCMakeLists.txt index f80450482..f3c1ef646 100644 --- a/test/core/ProcessEnabledTpls/TribitsProcessEnabledTplTesterCMakeLists.txt +++ b/test/core/ProcessEnabledTpls/TribitsProcessEnabledTplTesterCMakeLists.txt @@ -43,7 +43,7 @@ # TribitsTplFindIncludeDirsAndLibraries.cmake modules. # -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) # Passed in on command-line message("${PROJECT_NAME} = ${PROJECT_NAME}") diff --git a/test/core/TestingFunctionMacro_UnitTests.cmake b/test/core/TestingFunctionMacro_UnitTests.cmake index 474522787..c38647f86 100644 --- a/test/core/TestingFunctionMacro_UnitTests.cmake +++ b/test/core/TestingFunctionMacro_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("PROJECT_NAME = ${PROJECT_NAME}") message("${PROJECT_NAME}_TRIBITS_DIR = ${${PROJECT_NAME}_TRIBITS_DIR}") diff --git a/test/core/TribitsAdjustPackageEnables_UnitTests.cmake b/test/core/TribitsAdjustPackageEnables_UnitTests.cmake index b460f17de..f802528b3 100644 --- a/test/core/TribitsAdjustPackageEnables_UnitTests.cmake +++ b/test/core/TribitsAdjustPackageEnables_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include(${CMAKE_CURRENT_LIST_DIR}/TribitsAdjustPackageEnablesHelpers.cmake) diff --git a/test/core/TribitsExternalPackageWriteConfigFile_UnitTests.cmake b/test/core/TribitsExternalPackageWriteConfigFile_UnitTests.cmake index b9f98c474..a2d07c9d5 100644 --- a/test/core/TribitsExternalPackageWriteConfigFile_UnitTests.cmake +++ b/test/core/TribitsExternalPackageWriteConfigFile_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Echo input arguments message("PROJECT_NAME = '${PROJECT_NAME}'") diff --git a/test/core/TribitsPackageDependencies_UnitTests.cmake b/test/core/TribitsPackageDependencies_UnitTests.cmake index 5fb70ce66..86d500dc3 100644 --- a/test/core/TribitsPackageDependencies_UnitTests.cmake +++ b/test/core/TribitsPackageDependencies_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Echo input arguments message("PROJECT_NAME = '${PROJECT_NAME}'") diff --git a/test/core/TribitsProcessExtraRepositoriesList_UnitTests.cmake b/test/core/TribitsProcessExtraRepositoriesList_UnitTests.cmake index ad383cd0b..1644024f9 100644 --- a/test/core/TribitsProcessExtraRepositoriesList_UnitTests.cmake +++ b/test/core/TribitsProcessExtraRepositoriesList_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("PROJECT_NAME = ${PROJECT_NAME}") message("${PROJECT_NAME}_TRIBITS_DIR = ${${PROJECT_NAME}_TRIBITS_DIR}") diff --git a/test/core/TribitsProcessPackagesAndDirsLists_UnitTests.cmake b/test/core/TribitsProcessPackagesAndDirsLists_UnitTests.cmake index e6519d439..99f380e27 100644 --- a/test/core/TribitsProcessPackagesAndDirsLists_UnitTests.cmake +++ b/test/core/TribitsProcessPackagesAndDirsLists_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("PROJECT_NAME = ${PROJECT_NAME}") message("${PROJECT_NAME}_TRIBITS_DIR = ${${PROJECT_NAME}_TRIBITS_DIR}") diff --git a/test/core/TribitsReadAllProjectDepsFilesCreateDepsGraph_UnitTests.cmake b/test/core/TribitsReadAllProjectDepsFilesCreateDepsGraph_UnitTests.cmake index f742ecbb4..3d7f4ac05 100644 --- a/test/core/TribitsReadAllProjectDepsFilesCreateDepsGraph_UnitTests.cmake +++ b/test/core/TribitsReadAllProjectDepsFilesCreateDepsGraph_UnitTests.cmake @@ -44,7 +44,7 @@ # ################################################################################ -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include("${CMAKE_CURRENT_LIST_DIR}/TribitsReadAllProjectDepsFilesCreateDepsGraphHelpers.cmake") diff --git a/test/core/TribitsWriteClientExportFiles_UnitTests.cmake b/test/core/TribitsWriteClientExportFiles_UnitTests.cmake index b0c823ca3..b8cdc31cf 100644 --- a/test/core/TribitsWriteClientExportFiles_UnitTests.cmake +++ b/test/core/TribitsWriteClientExportFiles_UnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("CURRENT_TEST_DIRECTORY = ${CURRENT_TEST_DIRECTORY}") diff --git a/test/ctest_driver/CTestDriverUnitTests.cmake b/test/ctest_driver/CTestDriverUnitTests.cmake index d83b2ba97..934676620 100644 --- a/test/ctest_driver/CTestDriverUnitTests.cmake +++ b/test/ctest_driver/CTestDriverUnitTests.cmake @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("PROJECT_NAME = ${PROJECT_NAME}") message("${PROJECT_NAME}_TRIBITS_DIR = ${${PROJECT_NAME}_TRIBITS_DIR}") diff --git a/tribits/CHANGELOG.md b/tribits/CHANGELOG.md index a03ba918a..51e332f4a 100644 --- a/tribits/CHANGELOG.md +++ b/tribits/CHANGELOG.md @@ -2,6 +2,12 @@ ChangeLog for TriBITS ---------------------------------------- +## 2023-02-24: + +* **Changed:** Upgrade minimum required CMake version from 3.17 to 3.23. + Existing TriBITS projects that have already upgraded to require CMake 3.23+ + should not notice any major changes due to this change. + ## 2023-01-10: * **Added:** Added back support for deprecated variable diff --git a/tribits/ci_support/TribitsDumpDepsXmlScript.cmake b/tribits/ci_support/TribitsDumpDepsXmlScript.cmake index 5c926e902..f55d03364 100644 --- a/tribits/ci_support/TribitsDumpDepsXmlScript.cmake +++ b/tribits/ci_support/TribitsDumpDepsXmlScript.cmake @@ -50,7 +50,7 @@ # -P /ci_support/TribitsDumpDepsXmlScript.cmake # -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # A) Echo input options (must be specified with -D arguments to CMake command) diff --git a/tribits/core/config_tests/fmangle/CMakeLists.txt b/tribits/core/config_tests/fmangle/CMakeLists.txt index 0e24dacff..2112fa58a 100644 --- a/tribits/core/config_tests/fmangle/CMakeLists.txt +++ b/tribits/core/config_tests/fmangle/CMakeLists.txt @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.23) project(fmangle C Fortran) add_definitions(${COMMON_DEFS}) set(CMAKE_VERBOSE_MAKEFILE ON) diff --git a/tribits/core/package_arch/TribitsAddAdvancedTest.cmake b/tribits/core/package_arch/TribitsAddAdvancedTest.cmake index 0faae73d3..4c3ad13b8 100644 --- a/tribits/core/package_arch/TribitsAddAdvancedTest.cmake +++ b/tribits/core/package_arch/TribitsAddAdvancedTest.cmake @@ -858,7 +858,7 @@ include(PrintVar) # ``${PROJECT_NAME}_TRIBITS_DIR`` (pointing to the TriBITS location). For example, # a valid project can be a simple as:: # -# cmake_minimum_required(VERSION 3.17.0) +# cmake_minimum_required(VERSION 3.23.0) # set(PROJECT_NAME TAATDriver) # project(${PROJECT_NAME} NONE) # set(${PROJECT_NAME}_TRACE_ADD_TEST TRUE) diff --git a/tribits/core/package_arch/TribitsConstants.cmake b/tribits/core/package_arch/TribitsConstants.cmake index efda84273..b26d497c5 100644 --- a/tribits/core/package_arch/TribitsConstants.cmake +++ b/tribits/core/package_arch/TribitsConstants.cmake @@ -39,7 +39,7 @@ # Define the TriBITS minimum required CMake version -set(TRIBITS_CMAKE_MINIMUM_REQUIRED 3.17.0) +set(TRIBITS_CMAKE_MINIMUM_REQUIRED 3.23.0) macro(tribits_asesrt_minimum_cmake_version) @@ -50,12 +50,6 @@ macro(tribits_asesrt_minimum_cmake_version) endmacro() -# Misc constants - -set(${PROJECT_NAME}_CTEST_USE_NEW_AAO_FEATURES TRUE) -# NOTE: This is left to maintain backward compatibility after upgrade to CMake -# 3.17 but this option is now hard-coded to TRUE in the implementation. - # File names for TriBITS system set(${PROJECT_NAME}_PACKAGES_FILE_NAME PackagesList.cmake) diff --git a/tribits/core/package_arch/tribits_get_version_date.cmake b/tribits/core/package_arch/tribits_get_version_date.cmake index e40365f07..3b941efc4 100644 --- a/tribits/core/package_arch/tribits_get_version_date.cmake +++ b/tribits/core/package_arch/tribits_get_version_date.cmake @@ -11,7 +11,7 @@ # -P tribits_get_version_date.cmake # -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # A) Validate input diff --git a/tribits/ctest_driver/TribitsCTestDriverCore.cmake b/tribits/ctest_driver/TribitsCTestDriverCore.cmake index 500dd0bf9..467927afd 100644 --- a/tribits/ctest_driver/TribitsCTestDriverCore.cmake +++ b/tribits/ctest_driver/TribitsCTestDriverCore.cmake @@ -50,7 +50,7 @@ message("*******************************") message("") -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) set(THIS_CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_DIR}") @@ -1290,9 +1290,9 @@ include(TribitsCTestDriverCoreHelpers) # packages and therefore is more robust. But the package-by-package mode is # more expensive in several respects for many projects. # -# For versions of CMake 3.17.0 and above and newer versions of CDash, the -# CDash server for the all-at-once mode will break down build and test results -# on a package-by-package basis on CDash together. +# For newer versions of CDash 3.1+, for the all-at-once mode, the CDash server +# will break down build and test results on a package-by-package basis on +# CDash together. # # .. _Multiple ctest -S invocations (tribits_ctest_driver()): # diff --git a/tribits/ctest_driver/TribitsGetCTestTestXmlDir.cmake b/tribits/ctest_driver/TribitsGetCTestTestXmlDir.cmake index 71d54e1df..1aa1aaf33 100644 --- a/tribits/ctest_driver/TribitsGetCTestTestXmlDir.cmake +++ b/tribits/ctest_driver/TribitsGetCTestTestXmlDir.cmake @@ -14,7 +14,7 @@ # then prints the directory /Testing/ to STDOUT. # -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) if ("${PROJECT_NAME}" STREQUAL "") message(FATAL_ERROR "Error, PROJECT_NAME must be set!") diff --git a/tribits/ctest_driver/tribits_ctest_update_commands.cmake b/tribits/ctest_driver/tribits_ctest_update_commands.cmake index 81c22cc41..4caf72774 100644 --- a/tribits/ctest_driver/tribits_ctest_update_commands.cmake +++ b/tribits/ctest_driver/tribits_ctest_update_commands.cmake @@ -18,7 +18,7 @@ # 3.12) crash in that case. # -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("\ncmake -P tribits_ctest_update_commands.cmake:") message("-- GIT_EXE=${GIT_EXE}") diff --git a/tribits/ctest_driver/tribits_ctest_update_commands_wrapper.cmake b/tribits/ctest_driver/tribits_ctest_update_commands_wrapper.cmake index 9c18b0d12..2c3fcf206 100644 --- a/tribits/ctest_driver/tribits_ctest_update_commands_wrapper.cmake +++ b/tribits/ctest_driver/tribits_ctest_update_commands_wrapper.cmake @@ -7,7 +7,7 @@ # the output (and does not send it to CDash). # -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) message("\ncmake -P tribits_ctest_update_commands_wrapper.cmake:") message("-- OUTPUT_FILE=${OUTPUT_FILE}\n") diff --git a/tribits/devtools_install/0001-CTest-Add-CTEST_RESOURCE_SPEC_FILE-variable.patch b/tribits/devtools_install/0001-CTest-Add-CTEST_RESOURCE_SPEC_FILE-variable.patch deleted file mode 100644 index ad9103dff..000000000 --- a/tribits/devtools_install/0001-CTest-Add-CTEST_RESOURCE_SPEC_FILE-variable.patch +++ /dev/null @@ -1,377 +0,0 @@ -From 230de4e06240f48715685ea184386d7314137d59 Mon Sep 17 00:00:00 2001 -From: Kyle Edwards -Date: Thu, 2 Apr 2020 16:16:15 -0400 -Subject: [PATCH] CTest: Add CTEST_RESOURCE_SPEC_FILE variable - ---- - Help/manual/cmake-variables.7.rst | 1 + - Help/manual/ctest.1.rst | 8 +++-- - Help/variable/CTEST_RESOURCE_SPEC_FILE.rst | 5 +++ - Source/CTest/cmCTestTestCommand.cxx | 7 ++++ - Source/CTest/cmCTestTestHandler.cxx | 37 +++++++++++++--------- - Source/CTest/cmCTestTestHandler.h | 2 +- - Source/cmLocalGenerator.cxx | 7 ++++ - .../CTestResourceAllocation/RunCMakeTest.cmake | 28 +++++++++------- - .../checkfree1-ctest-s-res-cache-check.cmake | 1 + - .../checkfree1-ctest-s-res-variable-check.cmake | 1 + - .../notenough1-ctest-s-res-cache-check.cmake | 3 ++ - .../notenough1-ctest-s-res-cache-result.txt | 1 + - .../notenough1-ctest-s-res-cache-stderr.txt | 14 ++++++++ - .../notenough1-ctest-s-res-variable-check.cmake | 3 ++ - .../notenough1-ctest-s-res-variable-result.txt | 1 + - .../notenough1-ctest-s-res-variable-stderr.txt | 14 ++++++++ - .../RunCMake/CTestResourceAllocation/test.cmake.in | 14 +++++--- - 17 files changed, 113 insertions(+), 34 deletions(-) - create mode 100644 Help/variable/CTEST_RESOURCE_SPEC_FILE.rst - create mode 100644 Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-cache-check.cmake - create mode 100644 Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-variable-check.cmake - create mode 100644 Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-check.cmake - create mode 100644 Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-result.txt - create mode 100644 Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-stderr.txt - create mode 100644 Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-check.cmake - create mode 100644 Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-result.txt - create mode 100644 Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-stderr.txt - -diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst -index fc27739..312346d 100644 ---- a/Help/manual/cmake-variables.7.rst -+++ b/Help/manual/cmake-variables.7.rst -@@ -621,6 +621,7 @@ Variables for CTest - /variable/CTEST_P4_COMMAND - /variable/CTEST_P4_OPTIONS - /variable/CTEST_P4_UPDATE_OPTIONS -+ /variable/CTEST_RESOURCE_SPEC_FILE - /variable/CTEST_RUN_CURRENT_SCRIPT - /variable/CTEST_SCP_COMMAND - /variable/CTEST_SITE -diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst -index 6503f0e..f2033b7 100644 ---- a/Help/manual/ctest.1.rst -+++ b/Help/manual/ctest.1.rst -@@ -994,8 +994,12 @@ Configuration settings include: - - ``ResourceSpecFile`` - Specify a -- :ref:`resource specification file `. See -- :ref:`ctest-resource-allocation` for more information. -+ :ref:`resource specification file `. -+ -+ * `CTest Script`_ variable: :variable:`CTEST_RESOURCE_SPEC_FILE` -+ * :module:`CTest` module variable: ``CTEST_RESOURCE_SPEC_FILE`` -+ -+ See :ref:`ctest-resource-allocation` for more information. - - ``LabelsForSubprojects`` - Specify a semicolon-separated list of labels that will be treated as -diff --git a/Help/variable/CTEST_RESOURCE_SPEC_FILE.rst b/Help/variable/CTEST_RESOURCE_SPEC_FILE.rst -new file mode 100644 -index 0000000..59f365f ---- /dev/null -+++ b/Help/variable/CTEST_RESOURCE_SPEC_FILE.rst -@@ -0,0 +1,5 @@ -+CTEST_RESOURCE_SPEC_FILE -+------------------------ -+ -+Specify the CTest ``ResourceSpecFile`` setting in a :manual:`ctest(1)` -+dashboard client script. -diff --git a/Source/CTest/cmCTestTestCommand.cxx b/Source/CTest/cmCTestTestCommand.cxx -index 0f9b695..c5f683d 100644 ---- a/Source/CTest/cmCTestTestCommand.cxx -+++ b/Source/CTest/cmCTestTestCommand.cxx -@@ -52,6 +52,13 @@ cmCTestGenericHandler* cmCTestTestCommand::InitializeHandler() - } - } - this->CTest->SetTimeOut(timeout); -+ -+ const char* resourceSpecFile = -+ this->Makefile->GetDefinition("CTEST_RESOURCE_SPEC_FILE"); -+ if (this->ResourceSpecFile.empty() && resourceSpecFile) { -+ this->ResourceSpecFile = resourceSpecFile; -+ } -+ - cmCTestGenericHandler* handler = this->InitializeActualHandler(); - if (!this->Start.empty() || !this->End.empty() || !this->Stride.empty()) { - handler->SetOption( -diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx -index 4f324ea..25d6710 100644 ---- a/Source/CTest/cmCTestTestHandler.cxx -+++ b/Source/CTest/cmCTestTestHandler.cxx -@@ -406,7 +406,9 @@ int cmCTestTestHandler::ProcessHandler() - // start the real time clock - auto clock_start = std::chrono::steady_clock::now(); - -- this->ProcessDirectory(passed, failed); -+ if (!this->ProcessDirectory(passed, failed)) { -+ return -1; -+ } - - auto clock_finish = std::chrono::steady_clock::now(); - -@@ -543,22 +545,11 @@ bool cmCTestTestHandler::ProcessOptions() - if (val) { - this->ExcludeFixtureCleanupRegExp = val; - } -- this->SetRerunFailed(cmIsOn(this->GetOption("RerunFailed"))); -- - val = this->GetOption("ResourceSpecFile"); - if (val) { -- this->UseResourceSpec = true; - this->ResourceSpecFile = val; -- auto result = this->ResourceSpec.ReadFromJSONFile(val); -- if (result != cmCTestResourceSpec::ReadFileResult::READ_OK) { -- cmCTestLog(this->CTest, ERROR_MESSAGE, -- "Could not read/parse resource spec file " -- << val << ": " -- << cmCTestResourceSpec::ResultToString(result) -- << std::endl); -- return false; -- } - } -+ this->SetRerunFailed(cmIsOn(this->GetOption("RerunFailed"))); - - return true; - } -@@ -1259,7 +1250,7 @@ bool cmCTestTestHandler::GetValue(const char* tag, std::string& value, - return ret; - } - --void cmCTestTestHandler::ProcessDirectory(std::vector& passed, -+bool cmCTestTestHandler::ProcessDirectory(std::vector& passed, - std::vector& failed) - { - this->ComputeTestList(); -@@ -1283,7 +1274,17 @@ void cmCTestTestHandler::ProcessDirectory(std::vector& passed, - } else { - parallel->SetTestLoad(this->CTest->GetTestLoad()); - } -- if (this->UseResourceSpec) { -+ if (!this->ResourceSpecFile.empty()) { -+ this->UseResourceSpec = true; -+ auto result = this->ResourceSpec.ReadFromJSONFile(this->ResourceSpecFile); -+ if (result != cmCTestResourceSpec::ReadFileResult::READ_OK) { -+ cmCTestLog(this->CTest, ERROR_MESSAGE, -+ "Could not read/parse resource spec file " -+ << this->ResourceSpecFile << ": " -+ << cmCTestResourceSpec::ResultToString(result) -+ << std::endl); -+ return false; -+ } - parallel->InitResourceAllocator(this->ResourceSpec); - } - -@@ -1344,6 +1345,8 @@ void cmCTestTestHandler::ProcessDirectory(std::vector& passed, - this->ElapsedTestingTime = - std::chrono::steady_clock::now() - elapsed_time_start; - *this->LogFile << "End testing: " << this->CTest->CurrentTime() << std::endl; -+ -+ return true; - } - - void cmCTestTestHandler::GenerateTestCommand( -@@ -1742,6 +1745,10 @@ void cmCTestTestHandler::GetListOfTests() - if (cmSystemTools::GetErrorOccuredFlag()) { - return; - } -+ const char* specFile = mf.GetDefinition("CTEST_RESOURCE_SPEC_FILE"); -+ if (this->ResourceSpecFile.empty() && specFile) { -+ this->ResourceSpecFile = specFile; -+ } - cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, - "Done constructing a list of tests" << std::endl, - this->Quiet); -diff --git a/Source/CTest/cmCTestTestHandler.h b/Source/CTest/cmCTestTestHandler.h -index b1c8755..bb41c79 100644 ---- a/Source/CTest/cmCTestTestHandler.h -+++ b/Source/CTest/cmCTestTestHandler.h -@@ -278,7 +278,7 @@ private: - /** - * Run the tests for a directory and any subdirectories - */ -- void ProcessDirectory(std::vector& passed, -+ bool ProcessDirectory(std::vector& passed, - std::vector& failed); - - /** -diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx -index cf6802d..5e78911 100644 ---- a/Source/cmLocalGenerator.cxx -+++ b/Source/cmLocalGenerator.cxx -@@ -299,6 +299,13 @@ void cmLocalGenerator::GenerateTestFiles() - << "# testing this directory and lists subdirectories to " - << "be tested as well." << std::endl; - -+ std::string resourceSpecFile = -+ this->Makefile->GetSafeDefinition("CTEST_RESOURCE_SPEC_FILE"); -+ if (!resourceSpecFile.empty()) { -+ fout << "set(CTEST_RESOURCE_SPEC_FILE \"" << resourceSpecFile << "\")" -+ << std::endl; -+ } -+ - const char* testIncludeFile = - this->Makefile->GetProperty("TEST_INCLUDE_FILE"); - if (testIncludeFile) { -diff --git a/Tests/RunCMake/CTestResourceAllocation/RunCMakeTest.cmake b/Tests/RunCMake/CTestResourceAllocation/RunCMakeTest.cmake -index 8584786..777f192 100644 ---- a/Tests/RunCMake/CTestResourceAllocation/RunCMakeTest.cmake -+++ b/Tests/RunCMake/CTestResourceAllocation/RunCMakeTest.cmake -@@ -140,9 +140,13 @@ run_ctresalloc_verify(ctresalloc-verify-noend "test1") - # Now test the resource allocation feature of CTest - ############################################################################### - --function(run_ctest_resource name parallel random) -- run_ctest("${name}-ctest-s-res" "-DCTEST_RESOURCE_ALLOC_ENABLED=1" "-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}") -- run_ctest("${name}-ctest-s-nores" "-DCTEST_RESOURCE_ALLOC_ENABLED=0" "-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}") -+function(run_ctest_resource name parallel random extra) -+ run_ctest("${name}-ctest-s-res" "-DCTEST_RESOURCE_ALLOC_ENABLED=1" "-DCTEST_RESOURCE_SPEC_SOURCE=ARG" "-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}") -+ run_ctest("${name}-ctest-s-nores" "-DCTEST_RESOURCE_ALLOC_ENABLED=0" "-DCTEST_RESOURCE_SPEC_SOURCE=NONE" "-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}") -+ if(extra) -+ run_ctest("${name}-ctest-s-res-variable" "-DCTEST_RESOURCE_ALLOC_ENABLED=1" "-DCTEST_RESOURCE_SPEC_SOURCE=VARIABLE" "-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}") -+ run_ctest("${name}-ctest-s-res-cache" "-DCTEST_RESOURCE_ALLOC_ENABLED=1" "-DCTEST_RESOURCE_SPEC_SOURCE=CACHE" "-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}") -+ endif() - endfunction() - - function(verify_ctest_resources) -@@ -155,15 +159,15 @@ function(verify_ctest_resources) - endif() - endfunction() - --run_ctest_resource(lotsoftests 10 1) --run_ctest_resource(checkfree1 2 0) --run_ctest_resource(checkfree2 1 0) --run_ctest_resource(notenough1 1 0) --run_ctest_resource(notenough2 1 0) --run_ctest_resource(notenough3 1 0) --run_ctest_resource(combine 1 0) --run_ctest_resource(ensure_parallel 2 0) -+run_ctest_resource(lotsoftests 10 1 0) -+run_ctest_resource(checkfree1 2 0 1) -+run_ctest_resource(checkfree2 1 0 0) -+run_ctest_resource(notenough1 1 0 1) -+run_ctest_resource(notenough2 1 0 0) -+run_ctest_resource(notenough3 1 0 0) -+run_ctest_resource(combine 1 0 0) -+run_ctest_resource(ensure_parallel 2 0 0) - - set(ENV{CTEST_RESOURCE_GROUP_COUNT} 2) --run_ctest_resource(process_count 1 0) -+run_ctest_resource(process_count 1 0 0) - unset(ENV{CTEST_RESOURCE_GROUP_COUNT}) -diff --git a/Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-cache-check.cmake b/Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-cache-check.cmake -new file mode 100644 -index 0000000..ceda72e ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-cache-check.cmake -@@ -0,0 +1 @@ -+verify_ctest_resources() -diff --git a/Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-variable-check.cmake b/Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-variable-check.cmake -new file mode 100644 -index 0000000..ceda72e ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/checkfree1-ctest-s-res-variable-check.cmake -@@ -0,0 +1 @@ -+verify_ctest_resources() -diff --git a/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-check.cmake b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-check.cmake -new file mode 100644 -index 0000000..321e9a2 ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-check.cmake -@@ -0,0 +1,3 @@ -+if(EXISTS "${RunCMake_TEST_BINARY_DIR}/ctresalloc.log") -+ set(RunCMake_TEST_FAILED "ctresalloc.log should not exist") -+endif() -diff --git a/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-result.txt b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-result.txt -new file mode 100644 -index 0000000..b57e2de ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-result.txt -@@ -0,0 +1 @@ -+(-1|255) -diff --git a/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-stderr.txt b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-stderr.txt -new file mode 100644 -index 0000000..521a34b ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache-stderr.txt -@@ -0,0 +1,14 @@ -+^Insufficient resources for test Test1: -+ -+ Test requested resources of type 'fluxcapacitors' in the following amounts: -+ 200 slots -+ but only the following units were available: -+ 'outatime': 121 slots -+ -+Resource spec file: -+ -+ [^ -+]*/Tests/RunCMake/CTestResourceAllocation/resspec.json -+CMake Error at [^ -+]*/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-cache/test\.cmake:[0-9]+ \(message\): -+ Tests did not pass$ -diff --git a/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-check.cmake b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-check.cmake -new file mode 100644 -index 0000000..321e9a2 ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-check.cmake -@@ -0,0 +1,3 @@ -+if(EXISTS "${RunCMake_TEST_BINARY_DIR}/ctresalloc.log") -+ set(RunCMake_TEST_FAILED "ctresalloc.log should not exist") -+endif() -diff --git a/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-result.txt b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-result.txt -new file mode 100644 -index 0000000..b57e2de ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-result.txt -@@ -0,0 +1 @@ -+(-1|255) -diff --git a/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-stderr.txt b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-stderr.txt -new file mode 100644 -index 0000000..dcf13e0 ---- /dev/null -+++ b/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable-stderr.txt -@@ -0,0 +1,14 @@ -+^Insufficient resources for test Test1: -+ -+ Test requested resources of type 'fluxcapacitors' in the following amounts: -+ 200 slots -+ but only the following units were available: -+ 'outatime': 121 slots -+ -+Resource spec file: -+ -+ [^ -+]*/Tests/RunCMake/CTestResourceAllocation/resspec.json -+CMake Error at [^ -+]*/Tests/RunCMake/CTestResourceAllocation/notenough1-ctest-s-res-variable/test\.cmake:[0-9]+ \(message\): -+ Tests did not pass$ -diff --git a/Tests/RunCMake/CTestResourceAllocation/test.cmake.in b/Tests/RunCMake/CTestResourceAllocation/test.cmake.in -index 4b426f1..54eb4e9 100644 ---- a/Tests/RunCMake/CTestResourceAllocation/test.cmake.in -+++ b/Tests/RunCMake/CTestResourceAllocation/test.cmake.in -@@ -8,15 +8,21 @@ set(CTEST_CMAKE_GENERATOR_TOOLSET "@RunCMake_GENERATOR_TOOLSET@") - set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}") - set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC") - --ctest_start(Experimental QUIET) --ctest_configure(OPTIONS -+set(config_options - "-DCTEST_RESOURCE_ALLOC_ENABLED=${CTEST_RESOURCE_ALLOC_ENABLED};-DCTRESALLOC_COMMAND=${CTRESALLOC_COMMAND}" - ) --ctest_build() - --if(CTEST_RESOURCE_ALLOC_ENABLED) -+if(CTEST_RESOURCE_SPEC_SOURCE STREQUAL "ARG") - set(resspec RESOURCE_SPEC_FILE "@RunCMake_SOURCE_DIR@/resspec.json") -+elseif(CTEST_RESOURCE_SPEC_SOURCE STREQUAL "VARIABLE") -+ set(CTEST_RESOURCE_SPEC_FILE "@RunCMake_SOURCE_DIR@/resspec.json") -+elseif(CTEST_RESOURCE_SPEC_SOURCE STREQUAL "CACHE") -+ list(APPEND config_options "-DCTEST_RESOURCE_SPEC_FILE=@RunCMake_SOURCE_DIR@/resspec.json") - endif() -+ -+ctest_start(Experimental QUIET) -+ctest_configure(OPTIONS "${config_options}") -+ctest_build() - ctest_test(${resspec} RETURN_VALUE retval PARALLEL_LEVEL ${CTEST_PARALLEL} SCHEDULE_RANDOM ${CTEST_RANDOM}) - if(retval) - message(FATAL_ERROR "Tests did not pass") --- -2.7.4 - diff --git a/tribits/devtools_install/install-cmake.py b/tribits/devtools_install/install-cmake.py index 5b5b48ea7..795d2b29e 100755 --- a/tribits/devtools_install/install-cmake.py +++ b/tribits/devtools_install/install-cmake.py @@ -45,7 +45,7 @@ # cmakeBaseName = "cmake" -cmakeDefaultVersion = "3.17.4" +cmakeDefaultVersion = "3.23.4" # @@ -106,9 +106,6 @@ def getExtraHelpStr(self, version): when doing the configure. Therefore, this builds and installs an optimized version of CMake by default. -If CMake 3.17 is selected, a patch is applied which adds the CTEST_RESOURCE_SPEC_FILE -variable. (For versions 3.18+ this is not needed.) - NOTE: To install CMake from the tip of a branch such as 'master', one must override the 'download' command and eliminate the 'untar' command. One must stick with the directory structure that is assumed by the underlying code @@ -183,9 +180,6 @@ def doUntar(self): createDir(self.cmakeSrcDir, verbose=True) echoRunSysCmnd("tar -xzf "+self.cmakeTarball \ +" -C "+self.cmakeSrcDir+" --strip-components 1") - if self.inOptions.version.startswith("3.17"): - echoRunSysCmnd("patch -d "+self.cmakeSrcDir+" -p1 -i " \ - +os.path.join(devtools_install_dir, "0001-CTest-Add-CTEST_RESOURCE_SPEC_FILE-variable.patch")) def doConfigure(self): createDir(self.cmakeBuildBaseDir, True, True) diff --git a/tribits/doc/build_ref/TribitsBuildReferenceBody.rst b/tribits/doc/build_ref/TribitsBuildReferenceBody.rst index 07f0570a2..6da3f7bd1 100644 --- a/tribits/doc/build_ref/TribitsBuildReferenceBody.rst +++ b/tribits/doc/build_ref/TribitsBuildReferenceBody.rst @@ -75,19 +75,12 @@ back-end build system. It also provides some other nice features like ``ninja -n -d explain`` to show why the build system decides to (re)build the targets that it decides to build. -The Kitware fork of Ninja at: - - https://github.com/Kitware/ninja/releases - -provides releases of Ninja that allows CMake 3.7.0+ to build Fortran code with -Ninja. For example, the Kitware Ninja release ``1.7.2.git.kitware.dyndep-1`` -works with Fortran. As of Ninja 1.10+, Fortran support is part of the -official Google-maintained version of Ninja as can be obtained from: +As of Ninja 1.10+, Fortran support is part of the official GitHub version of +Ninja as can be obtained from: https://github.com/ninja-build/ninja/releases -and as of CMake 3.17+, cmake will recognize native Fortran support for Ninja -1.10+ (see `CMake Ninja Fortran Support`_). +(see `CMake Ninja Fortran Support`_). Ninja is easy to install from source on almost any machine. On Unix/Linux systems it is as simple as ``configure --prefix=``, ``make`` and ``make @@ -2558,11 +2551,6 @@ NOTES: for the ``CTEST_RESOURCE_SPEC_FILE`` cache variable was not added until CMake 3.18.) -* CMake versions 3.18+ can be used to get built-in CMake/CTest support for the - ``CTEST_RESOURCE_SPEC_FILE`` cache variable. This avoids needing to - explicitly pass the ctest resource file to ``ctest`` at runtime for - CMake/CTest versions 3.17.z. - * **WARNING:** This currently only works for a single node, not multiple nodes. (CTest needs to be extended to work correctly for multiple nodes where each node has multiple GPUs. Alternatively, TriBITS could be extended diff --git a/tribits/doc/build_ref/create-project-build-ref.py b/tribits/doc/build_ref/create-project-build-ref.py index b84198824..ce0ee6a92 100755 --- a/tribits/doc/build_ref/create-project-build-ref.py +++ b/tribits/doc/build_ref/create-project-build-ref.py @@ -95,8 +95,8 @@ clp.add_option( "--min-cmake-version", dest="minCMakeVersion", type="string", help="Minimum version of CMake needed for given project" \ - " [Default '3.17.0']", - default="3.17.0" ) + " [Default '3.23.0']", + default="3.23.0" ) GenerateDocUtilsOutput.addCmndLineOptions(clp) diff --git a/tribits/doc/guides/TribitsGuidesBody.rst b/tribits/doc/guides/TribitsGuidesBody.rst index 3b790406c..662f72389 100644 --- a/tribits/doc/guides/TribitsGuidesBody.rst +++ b/tribits/doc/guides/TribitsGuidesBody.rst @@ -714,7 +714,7 @@ the variable ``TRIBITS_CMAKE_MINIMUM_REQUIRED`` (the current minimum version of CMake required by TriBITS is given at in `Getting set up to use CMake`_) . For example, the ``VERA/CMakeLists.txt`` file lists as its first line:: - set(VERA_TRIBITS_CMAKE_MINIMUM_REQUIRED 3.17.0) + set(VERA_TRIBITS_CMAKE_MINIMUM_REQUIRED 3.23.0) cmake_minimum_required(VERSION ${VERA_TRIBITS_CMAKE_MINIMUM_REQUIRED} FATAL_ERROR) @@ -4674,7 +4674,7 @@ Test Test Category ``BASIC`` (`Test Test Category BASIC`_) Typically a TriBITS project will define a "standard development environment" which is comprised of a standard compiler (e.g. GCC 8.3.0), external package/TPL versions (e.g. OpenMPI 4.0.5, Boost 4.9, etc.), and other tools -(e.g. cmake 3.17.0, git 2.10.1, etc.). This standard development environment +(e.g. cmake 3.23.0, git 2.10.1, etc.). This standard development environment is expected to be used to test changes to the project's code before any push. By using a standard development environment, if the code builds and all the tests pass for the "default" pre-push builds for one developer, then that diff --git a/tribits/doc/guides/TribitsGuidesReferences.rst b/tribits/doc/guides/TribitsGuidesReferences.rst index 52bce47e6..9ca7cc5c5 100644 --- a/tribits/doc/guides/TribitsGuidesReferences.rst +++ b/tribits/doc/guides/TribitsGuidesReferences.rst @@ -116,7 +116,7 @@ Scott, Craig. *Professional CMake: A Practical Guide (5th Edition).* ISBN 978-1 .. Common references to raw CMake commands: -.. _configure_file(): https://cmake.org/cmake/help/v3.17/command/configure_file.html +.. _configure_file(): https://cmake.org/cmake/help/v3.23/command/configure_file.html .. Other references diff --git a/tribits/doc/tutorial/src/TribitsTutorial_ConvertAProject.rst b/tribits/doc/tutorial/src/TribitsTutorial_ConvertAProject.rst index 4533d8988..d3b202ac9 100644 --- a/tribits/doc/tutorial/src/TribitsTutorial_ConvertAProject.rst +++ b/tribits/doc/tutorial/src/TribitsTutorial_ConvertAProject.rst @@ -392,7 +392,7 @@ in this project level CMakeLists file: 1. cmake_minimum_version() - set the minimum version of cmake required for this project o build. If you try and run with a lower version then there will be an error. You cannot specify a version lower than - 3.17.0 + 3.23.0 #. Include ProjectNmae.cmake and call project() with argument PROJECT_NAME #. specify the directory to tribits and include TriBITS.cmake #. specify which packages are turned on/off by default @@ -401,7 +401,7 @@ in this project level CMakeLists file: Here is an examlpe of a project CMakeLists:: # Deefine your minimum CMake version - cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) + cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Define your project name and set up major project options include("${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake") diff --git a/tribits/doc/tutorial/src/TribitsTutorial_HelloWorld.rst b/tribits/doc/tutorial/src/TribitsTutorial_HelloWorld.rst index 885c3b4fa..3284283dd 100644 --- a/tribits/doc/tutorial/src/TribitsTutorial_HelloWorld.rst +++ b/tribits/doc/tutorial/src/TribitsTutorial_HelloWorld.rst @@ -163,7 +163,7 @@ single line:: have the following contents:: # To be safe, define your minimum CMake version - cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) + cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Make CMake set WIN32 with CYGWIN for older CMake versions set(CMAKE_LEGACY_CYGWIN_WIN32 1 CACHE BOOL "" FORCE) diff --git a/tribits/examples/MockTrilinos/CMakeLists.txt b/tribits/examples/MockTrilinos/CMakeLists.txt index c089891ca..49c1bcc08 100644 --- a/tribits/examples/MockTrilinos/CMakeLists.txt +++ b/tribits/examples/MockTrilinos/CMakeLists.txt @@ -37,7 +37,7 @@ # ************************************************************************ # @HEADER -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include(${CMAKE_SOURCE_DIR}/ProjectName.cmake) project(${PROJECT_NAME} NONE) set(${PROJECT_NAME}_TRIBITS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../.." CACHE PATH "") diff --git a/tribits/examples/RawAndTribitsHelloWorld/CMakeLists.txt b/tribits/examples/RawAndTribitsHelloWorld/CMakeLists.txt index 0dd4c802b..bfb9ca470 100644 --- a/tribits/examples/RawAndTribitsHelloWorld/CMakeLists.txt +++ b/tribits/examples/RawAndTribitsHelloWorld/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include(${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake) # Called at the top of every CMakeLists.txt file diff --git a/tribits/examples/ReducedMockTrilinos/CMakeLists.txt b/tribits/examples/ReducedMockTrilinos/CMakeLists.txt index ee377d58b..14281e147 100644 --- a/tribits/examples/ReducedMockTrilinos/CMakeLists.txt +++ b/tribits/examples/ReducedMockTrilinos/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include(${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake) project(${PROJECT_NAME} NONE) set(${PROJECT_NAME}_TRIBITS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../.." CACHE PATH "") diff --git a/tribits/examples/TribitsExampleApp/CMakeLists.txt b/tribits/examples/TribitsExampleApp/CMakeLists.txt index 562a38ffd..57839bd71 100644 --- a/tribits/examples/TribitsExampleApp/CMakeLists.txt +++ b/tribits/examples/TribitsExampleApp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.1) +cmake_minimum_required(VERSION 3.23.1) project(TribitsExApp DESCRIPTION diff --git a/tribits/examples/TribitsExampleApp2/CMakeLists.txt b/tribits/examples/TribitsExampleApp2/CMakeLists.txt index 306b0d61b..3ffbae9f4 100644 --- a/tribits/examples/TribitsExampleApp2/CMakeLists.txt +++ b/tribits/examples/TribitsExampleApp2/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.1) +cmake_minimum_required(VERSION 3.23.1) project(TribitsExApp2 DESCRIPTION diff --git a/tribits/examples/TribitsExampleMetaProject/CMakeLists.txt b/tribits/examples/TribitsExampleMetaProject/CMakeLists.txt index 00ff4f330..9488edf43 100644 --- a/tribits/examples/TribitsExampleMetaProject/CMakeLists.txt +++ b/tribits/examples/TribitsExampleMetaProject/CMakeLists.txt @@ -6,7 +6,7 @@ # To be safe, define your minimum CMake version. This may be newer than the # min required by TriBITS. -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Make CMake set WIN32 with CYGWIN for older CMake versions. CMake requires # this to be in the top-level CMakeLists.txt file and not an include file :-( diff --git a/tribits/examples/TribitsExampleProject/CMakeLists.txt b/tribits/examples/TribitsExampleProject/CMakeLists.txt index f413d381b..819dfd331 100644 --- a/tribits/examples/TribitsExampleProject/CMakeLists.txt +++ b/tribits/examples/TribitsExampleProject/CMakeLists.txt @@ -6,7 +6,7 @@ # To be safe, define your minimum CMake version. This may be newer than the # min required by TriBITS. -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Make CMake set WIN32 with CYGWIN for older CMake versions. CMake requires # this to be in the top-level CMakeLists.txt file and not an include file :-( diff --git a/tribits/examples/TribitsExampleProject2/CMakeLists.txt b/tribits/examples/TribitsExampleProject2/CMakeLists.txt index 8e63bc40e..7ba3163d9 100644 --- a/tribits/examples/TribitsExampleProject2/CMakeLists.txt +++ b/tribits/examples/TribitsExampleProject2/CMakeLists.txt @@ -4,7 +4,7 @@ # # ################################################################################ -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include("${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake") project(${PROJECT_NAME} LANGUAGES NONE) set(TRIBITS_HIDE_DEPRECATED_INCLUDE_DIRECTORIES_OVERRIDE TRUE) diff --git a/tribits/examples/TribitsExampleProjectAddons/CMakeLists.txt b/tribits/examples/TribitsExampleProjectAddons/CMakeLists.txt index b4dcaeb90..d2bb6a2b8 100644 --- a/tribits/examples/TribitsExampleProjectAddons/CMakeLists.txt +++ b/tribits/examples/TribitsExampleProjectAddons/CMakeLists.txt @@ -6,7 +6,7 @@ # To be safe, define your minimum CMake version. This may be newer than the # min required by TriBITS. -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) # Make CMake set WIN32 with CYGWIN for older CMake versions. CMake requires # this to be in the top-level CMakeLists.txt file and not an include file :-( diff --git a/tribits/examples/TribitsHelloWorld/CMakeLists.txt b/tribits/examples/TribitsHelloWorld/CMakeLists.txt index eeeb79cdf..8ffd690a3 100644 --- a/tribits/examples/TribitsHelloWorld/CMakeLists.txt +++ b/tribits/examples/TribitsHelloWorld/CMakeLists.txt @@ -1,5 +1,5 @@ # Example of a simple project that uses TriBITS -cmake_minimum_required(VERSION 3.17.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) include(${CMAKE_CURRENT_SOURCE_DIR}/ProjectName.cmake) project(${PROJECT_NAME} NONE) set(${PROJECT_NAME}_TRIBITS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../.. diff --git a/tribits/examples/TribitsOldSimpleExampleApp/CMakeLists.txt b/tribits/examples/TribitsOldSimpleExampleApp/CMakeLists.txt index b0d9d5d06..e46f7f172 100644 --- a/tribits/examples/TribitsOldSimpleExampleApp/CMakeLists.txt +++ b/tribits/examples/TribitsOldSimpleExampleApp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.1) +cmake_minimum_required(VERSION 3.23.1) project(TribitsOldSimpleExApp DESCRIPTION diff --git a/tribits/examples/TribitsSimpleExampleApp/CMakeLists.txt b/tribits/examples/TribitsSimpleExampleApp/CMakeLists.txt index 58725b4fc..81c624548 100644 --- a/tribits/examples/TribitsSimpleExampleApp/CMakeLists.txt +++ b/tribits/examples/TribitsSimpleExampleApp/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.1) +cmake_minimum_required(VERSION 3.23.1) project(TribitsSimpleExApp DESCRIPTION diff --git a/tribits/examples/tpls/SimpleTpl/CMakeLists.txt b/tribits/examples/tpls/SimpleTpl/CMakeLists.txt index b2909c6b0..22c1593c5 100644 --- a/tribits/examples/tpls/SimpleTpl/CMakeLists.txt +++ b/tribits/examples/tpls/SimpleTpl/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) project(SimpleTpl DESCRIPTION diff --git a/tribits/examples/tpls/Tpl1/CMakeLists.txt b/tribits/examples/tpls/Tpl1/CMakeLists.txt index 681cefc9c..36d44a637 100644 --- a/tribits/examples/tpls/Tpl1/CMakeLists.txt +++ b/tribits/examples/tpls/Tpl1/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) project(Tpl1 DESCRIPTION diff --git a/tribits/examples/tpls/Tpl2/CMakeLists.txt b/tribits/examples/tpls/Tpl2/CMakeLists.txt index 36f9a747f..7b41223cb 100644 --- a/tribits/examples/tpls/Tpl2/CMakeLists.txt +++ b/tribits/examples/tpls/Tpl2/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) project(Tpl2 DESCRIPTION diff --git a/tribits/examples/tpls/Tpl3/CMakeLists.txt b/tribits/examples/tpls/Tpl3/CMakeLists.txt index a10cb463c..6ce218849 100644 --- a/tribits/examples/tpls/Tpl3/CMakeLists.txt +++ b/tribits/examples/tpls/Tpl3/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) project(Tpl3 DESCRIPTION diff --git a/tribits/examples/tpls/Tpl4/CMakeLists.txt b/tribits/examples/tpls/Tpl4/CMakeLists.txt index cbbe3f2ac..bd5886380 100644 --- a/tribits/examples/tpls/Tpl4/CMakeLists.txt +++ b/tribits/examples/tpls/Tpl4/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17.0) +cmake_minimum_required(VERSION 3.23.0) project(Tpl4 DESCRIPTION