From e6386a5b13ed3bf951ef650bd280781b9df349c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20R=C3=B6hling?= Date: Tue, 23 May 2023 16:38:00 +0200 Subject: [PATCH] New upstream version 3.26.4 --- .clang-format | 2 +- .clang-tidy | 13 + Auxiliary/vim/syntax/cmake.vim | 1 + CMakeCPack.cmake | 4 + CMakeLists.txt | 63 +- CompileFlags.cmake | 5 - Copyright.txt | 2 +- Help/command/DEVICE_LINK_OPTIONS.txt | 8 +- Help/command/GENEX_NOTE.txt | 6 + Help/command/SUPPORTED_LANGUAGES.txt | 25 + Help/command/add_compile_definitions.rst | 14 +- Help/command/add_compile_options.rst | 31 +- Help/command/add_custom_command.rst | 79 +- Help/command/add_custom_target.rst | 9 + Help/command/add_definitions.rst | 9 +- Help/command/add_dependencies.rst | 13 +- Help/command/add_executable.rst | 5 + Help/command/add_library.rst | 13 +- Help/command/add_link_options.rst | 13 +- Help/command/add_subdirectory.rst | 27 +- Help/command/block.rst | 6 +- Help/command/build_name.rst | 2 +- .../command/cmake_host_system_information.rst | 2 +- Help/command/cmake_minimum_required.rst | 5 + Help/command/cmake_parse_arguments.rst | 6 + Help/command/cmake_path.rst | 40 +- Help/command/cmake_policy.rst | 5 + Help/command/configure_file.rst | 11 +- Help/command/ctest_build.rst | 2 +- Help/command/ctest_configure.rst | 2 +- Help/command/ctest_coverage.rst | 2 +- Help/command/ctest_empty_binary_directory.rst | 4 +- Help/command/ctest_memcheck.rst | 2 +- Help/command/ctest_read_custom_files.rst | 4 +- Help/command/ctest_run_script.rst | 2 +- Help/command/ctest_sleep.rst | 4 +- Help/command/ctest_start.rst | 2 +- Help/command/ctest_submit.rst | 4 +- Help/command/ctest_test.rst | 4 +- Help/command/ctest_update.rst | 2 +- Help/command/ctest_upload.rst | 2 +- Help/command/define_property.rst | 6 + Help/command/enable_language.rst | 21 +- Help/command/exec_program.rst | 2 +- Help/command/execute_process.rst | 74 +- Help/command/export_library_dependencies.rst | 2 +- Help/command/file.rst | 27 +- Help/command/find_package.rst | 3 +- Help/command/foreach.rst | 6 +- Help/command/function.rst | 1 + Help/command/get_cmake_property.rst | 7 +- Help/command/get_directory_property.rst | 7 +- Help/command/get_filename_component.rst | 5 + Help/command/get_property.rst | 6 + Help/command/get_source_file_property.rst | 9 +- Help/command/get_target_property.rst | 8 +- Help/command/get_test_property.rst | 6 +- Help/command/if.rst | 14 +- Help/command/include_directories.rst | 11 +- Help/command/include_guard.rst | 2 +- Help/command/install.rst | 4 +- Help/command/install_files.rst | 6 +- Help/command/install_programs.rst | 4 +- Help/command/install_targets.rst | 2 +- Help/command/link_directories.rst | 6 + Help/command/load_command.rst | 4 +- Help/command/macro.rst | 6 + Help/command/make_directory.rst | 2 +- Help/command/message.rst | 55 + Help/command/output_required_files.rst | 2 +- Help/command/project.rst | 19 +- Help/command/remove.rst | 2 +- Help/command/return.rst | 5 +- Help/command/set.rst | 5 + Help/command/set_directory_properties.rst | 7 + Help/command/set_property.rst | 11 +- Help/command/set_source_files_properties.rst | 11 +- Help/command/set_target_properties.rst | 8 +- Help/command/set_tests_properties.rst | 8 +- Help/command/string.rst | 33 +- Help/command/subdir_depends.rst | 2 +- Help/command/subdirs.rst | 2 +- Help/command/target_compile_definitions.rst | 19 +- Help/command/target_compile_features.rst | 22 +- Help/command/target_compile_options.rst | 28 +- Help/command/target_include_directories.rst | 19 +- Help/command/target_link_directories.rst | 19 +- Help/command/target_link_libraries.rst | 16 +- Help/command/target_link_options.rst | 18 +- Help/command/target_precompile_headers.rst | 38 +- Help/command/target_sources.rst | 14 + Help/command/try_compile.rst | 68 +- Help/command/try_run.rst | 42 +- Help/command/unset.rst | 5 + Help/command/use_mangled_mesa.rst | 2 +- Help/command/utility_source.rst | 2 +- Help/command/variable_requires.rst | 2 +- Help/command/while.rst | 8 +- Help/command/write_file.rst | 2 +- Help/cpack_gen/archive.rst | 56 +- Help/cpack_gen/deb.rst | 212 +- Help/cpack_gen/dmg.rst | 32 +- Help/cpack_gen/freebsd.rst | 56 +- Help/cpack_gen/nuget.rst | 113 +- Help/cpack_gen/rpm.rst | 445 ++-- Help/dev/experimental.rst | 75 +- Help/dev/maint.rst | 1 + Help/dev/source.rst | 2 +- Help/envvar/ASM_DIALECT.rst | 10 +- Help/envvar/ASM_DIALECTFLAGS.rst | 1 + Help/envvar/CTEST_NO_TESTS_ACTION.rst | 14 + Help/envvar/PackageName_ROOT.rst | 8 +- Help/generator/Ninja Multi-Config.rst | 28 +- Help/generator/Xcode.rst | 2 +- Help/guide/importing-exporting/index.rst | 3 +- .../tutorial/Adding Export Configuration.rst | 6 +- ...Adding Support for a Testing Dashboard.rst | 95 +- .../tutorial/Adding System Introspection.rst | 153 +- .../guide/tutorial/Installing and Testing.rst | 8 +- .../Selecting Static or Shared Libraries.rst | 2 +- Help/guide/tutorial/Step12/CMakeLists.txt | 4 +- Help/guide/tutorial/Step5/CMakeLists.txt | 4 +- Help/guide/tutorial/Step6/CMakeLists.txt | 1 + .../Step7/MathFunctions/CMakeLists.txt | 20 + .../tutorial/Step7/MathFunctions/mysqrt.cxx | 10 + Help/guide/using-dependencies/index.rst | 2 +- Help/index.rst | 1 + Help/manual/ccmake.1.rst | 2 +- Help/manual/cmake-buildsystem.7.rst | 28 +- Help/manual/cmake-compile-features.7.rst | 22 + Help/manual/cmake-configure-log.7.rst | 334 +++ Help/manual/cmake-developer.7.rst | 2 +- Help/manual/cmake-env-variables.7.rst | 1 + Help/manual/cmake-file-api.7.rst | 75 +- Help/manual/cmake-generator-expressions.7.rst | 27 +- Help/manual/cmake-gui.1.rst | 2 +- Help/manual/cmake-language.7.rst | 25 +- Help/manual/cmake-modules.7.rst | 6 +- Help/manual/cmake-policies.7.rst | 7 + Help/manual/cmake-properties.7.rst | 7 +- Help/manual/cmake-variables.7.rst | 3 + Help/manual/cmake.1.rst | 48 +- Help/manual/cpack.1.rst | 22 +- Help/manual/ctest.1.rst | 23 +- Help/policy/CMP0053.rst | 2 +- Help/policy/CMP0101.rst | 24 +- Help/policy/CMP0105.rst | 5 +- Help/policy/CMP0143.rst | 30 + Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst | 2 +- Help/prop_dir/COMPILE_DEFINITIONS.rst | 3 + .../prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst | 5 +- .../INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst | 6 +- Help/prop_dir/SYSTEM.rst | 4 +- Help/prop_gbl/AUTOGEN_SOURCE_GROUP.rst | 2 +- Help/prop_gbl/JOB_POOLS.rst | 6 +- Help/prop_gbl/USE_FOLDERS.rst | 19 +- Help/prop_sf/COMPILE_DEFINITIONS.rst | 3 + Help/prop_sf/CXX_SCAN_FOR_MODULES.rst | 24 + Help/prop_sf/SKIP_AUTOUIC.rst | 2 +- Help/prop_test/LABELS.rst | 2 +- Help/prop_test/TIMEOUT_AFTER_MATCH.rst | 6 +- Help/prop_tgt/AUTOGEN_BUILD_DIR.rst | 2 +- Help/prop_tgt/AUTOGEN_ORIGIN_DEPENDS.rst | 10 +- Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst | 6 +- Help/prop_tgt/AUTOMOC.rst | 18 +- Help/prop_tgt/AUTOMOC_COMPILER_PREDEFINES.rst | 4 +- Help/prop_tgt/AUTOMOC_DEPEND_FILTERS.rst | 2 +- Help/prop_tgt/AUTOMOC_EXECUTABLE.rst | 2 +- Help/prop_tgt/AUTOMOC_MACRO_NAMES.rst | 4 +- Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst | 4 +- Help/prop_tgt/AUTORCC.rst | 14 +- Help/prop_tgt/AUTORCC_EXECUTABLE.rst | 2 +- Help/prop_tgt/AUTOUIC.rst | 10 +- Help/prop_tgt/AUTOUIC_EXECUTABLE.rst | 2 +- Help/prop_tgt/BUILD_RPATH.rst | 29 +- Help/prop_tgt/COMMON_LANGUAGE_RUNTIME.rst | 27 +- Help/prop_tgt/COMPILE_DEFINITIONS.rst | 3 + Help/prop_tgt/COMPILE_OPTIONS.rst | 2 +- Help/prop_tgt/CUDA_RESOLVE_DEVICE_SYMBOLS.rst | 9 +- Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst | 27 + Help/prop_tgt/DEFINE_SYMBOL.rst | 8 +- Help/prop_tgt/EXPORT_NO_SYSTEM.rst | 6 +- Help/prop_tgt/FOLDER.rst | 19 +- Help/prop_tgt/IMPORTED_NO_SYSTEM.rst | 28 +- Help/prop_tgt/INSTALL_NAME_DIR.rst | 9 +- Help/prop_tgt/INSTALL_RPATH.rst | 26 +- Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst | 2 +- .../INTERFACE_COMPILE_DEFINITIONS.rst | 1 - Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst | 1 - Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst | 1 - .../INTERFACE_INCLUDE_DIRECTORIES.rst | 1 - Help/prop_tgt/INTERFACE_LINK_DIRECTORIES.rst | 1 - Help/prop_tgt/INTERFACE_LINK_OPTIONS.rst | 1 - .../INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst | 14 +- .../prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst | 4 + Help/prop_tgt/JOB_POOL_PRECOMPILE_HEADER.rst | 2 +- .../LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst | 29 + Help/prop_tgt/LINK_OPTIONS.rst | 4 +- Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst | 26 +- Help/prop_tgt/OBJCXX_EXTENSIONS.rst | 2 +- Help/prop_tgt/OBJCXX_STANDARD.rst | 2 +- Help/prop_tgt/OBJCXX_STANDARD_REQUIRED.rst | 2 +- Help/prop_tgt/OBJC_EXTENSIONS.rst | 2 +- Help/prop_tgt/OBJC_STANDARD.rst | 2 +- Help/prop_tgt/OBJC_STANDARD_REQUIRED.rst | 2 +- Help/prop_tgt/SKIP_BUILD_RPATH.rst | 3 +- Help/prop_tgt/SYSTEM.rst | 16 +- Help/prop_tgt/UNITY_BUILD_MODE.rst | 2 +- Help/prop_tgt/XCODE_EMBED_type.rst | 14 +- .../XCODE_EMBED_type_CODE_SIGN_ON_COPY.rst | 3 + Help/prop_tgt/XCODE_EMBED_type_PATH.rst | 3 + ...CODE_EMBED_type_REMOVE_HEADERS_ON_COPY.rst | 6 + Help/release/3.15.rst | 50 +- Help/release/3.17.rst | 2 +- Help/release/3.18.rst | 9 +- Help/release/3.20.rst | 4 +- Help/release/3.23.rst | 4 +- Help/release/3.24.rst | 7 + Help/release/3.25.rst | 24 +- Help/release/3.26.rst | 183 ++ Help/release/3.9.rst | 6 +- Help/release/index.rst | 1 + .../variable/CMAKE_AUTOGEN_ORIGIN_DEPENDS.rst | 2 +- Help/variable/CMAKE_AUTOGEN_PARALLEL.rst | 2 +- Help/variable/CMAKE_AUTOGEN_VERBOSE.rst | 4 +- Help/variable/CMAKE_BINARY_DIR.rst | 2 +- .../CMAKE_BUILD_WITH_INSTALL_RPATH.rst | 3 + Help/variable/CMAKE_CONFIGURATION_TYPES.rst | 3 +- .../CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst | 4 +- Help/variable/CMAKE_CURRENT_BINARY_DIR.rst | 2 +- Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst | 2 +- Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst | 15 + Help/variable/CMAKE_DEFAULT_CONFIGS.rst | 2 +- Help/variable/CMAKE_DEPENDS_USE_COMPILER.rst | 2 +- .../CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT.rst | 2 +- ...CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst | 2 +- ...IND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst | 2 +- .../CMAKE_FIND_USE_PACKAGE_REGISTRY.rst | 2 +- Help/variable/CMAKE_GENERATOR_INSTANCE.rst | 21 +- Help/variable/CMAKE_GLOBAL_AUTOGEN_TARGET.rst | 4 +- .../CMAKE_GLOBAL_AUTOGEN_TARGET_NAME.rst | 4 +- Help/variable/CMAKE_GLOBAL_AUTORCC_TARGET.rst | 4 +- .../CMAKE_GLOBAL_AUTORCC_TARGET_NAME.rst | 4 +- ..._INSTALL_DEFAULT_DIRECTORY_PERMISSIONS.rst | 4 +- ...CMAKE_LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst | 15 + .../CMAKE_LANG_COMPILER_FRONTEND_VARIANT.rst | 4 + Help/variable/CMAKE_LANG_COMPILER_ID.rst | 5 +- Help/variable/CMAKE_MODULE_PATH.rst | 9 +- Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst | 3 + Help/variable/CMAKE_SKIP_BUILD_RPATH.rst | 10 +- .../CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst | 2 +- Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst | 5 + Help/variable/CMAKE_SKIP_RPATH.rst | 6 +- Help/variable/CMAKE_SOURCE_DIR.rst | 2 +- Help/variable/CMAKE_STAGING_PREFIX.rst | 4 +- Help/variable/CMAKE_TASKING_TOOLSET.rst | 2 +- .../CMAKE_VS_VERSION_BUILD_NUMBER.rst | 14 + ...AKE_VS_VERSION_BUILD_NUMBER_COMPONENTS.txt | 18 + ...INDOWS_TARGET_PLATFORM_VERSION_MAXIMUM.rst | 2 +- .../variable/CTEST_CUSTOM_ERROR_EXCEPTION.rst | 2 +- Help/variable/CTEST_CUSTOM_ERROR_MATCH.rst | 2 +- .../CTEST_CUSTOM_ERROR_POST_CONTEXT.rst | 2 +- .../CTEST_CUSTOM_ERROR_PRE_CONTEXT.rst | 2 +- Help/variable/GHSMULTI.rst | 2 +- .../LINK_LIBRARY_PREDEFINED_FEATURES.txt | 4 +- Help/variable/PackageName_ROOT.rst | 8 +- ...asicConfigVersion-AnyNewerVersion.cmake.in | 18 +- .../BasicConfigVersion-ExactVersion.cmake.in | 18 +- ...sicConfigVersion-SameMajorVersion.cmake.in | 18 +- ...sicConfigVersion-SameMinorVersion.cmake.in | 18 +- Modules/BundleUtilities.cmake | 7 +- Modules/CMakeASM_MARMASMInformation.cmake | 24 + Modules/CMakeASM_MASMInformation.cmake | 4 + Modules/CMakeCCompilerABI.c | 3 +- .../CMakeDetermineASM_MARMASMCompiler.cmake | 18 + Modules/CMakeDetermineCUDACompiler.cmake | 12 +- Modules/CMakeDetermineCXXCompiler.cmake | 8 +- Modules/CMakeDetermineCompilerABI.cmake | 13 +- Modules/CMakeDetermineCompilerId.cmake | 61 +- Modules/CMakeDetermineFortranCompiler.cmake | 7 +- Modules/CMakeDetermineSwiftCompiler.cmake | 71 +- Modules/CMakeDetermineSystem.cmake | 65 +- Modules/CMakeFindDependencyMacro.cmake | 84 +- Modules/CMakeFortranCompiler.cmake.in | 2 +- Modules/CMakeGenericSystem.cmake | 12 +- Modules/CMakeMSYSFindMake.cmake | 11 +- Modules/CMakePackageConfigHelpers.cmake | 12 +- Modules/CMakeParseImplicitIncludeInfo.cmake | 5 +- Modules/CMakeSwiftCompiler.cmake.in | 2 + Modules/CMakeSwiftInformation.cmake | 49 +- Modules/CMakeTestASM_MARMASMCompiler.cmake | 13 + Modules/CMakeTestCCompiler.cmake | 6 - Modules/CMakeTestCSharpCompiler.cmake | 6 - Modules/CMakeTestCUDACompiler.cmake | 8 +- Modules/CMakeTestCXXCompiler.cmake | 6 - Modules/CMakeTestFortranCompiler.cmake | 12 - Modules/CMakeTestHIPCompiler.cmake | 6 - Modules/CMakeTestOBJCCompiler.cmake | 6 - Modules/CMakeTestOBJCXXCompiler.cmake | 6 - Modules/CMakeTestSwiftCompiler.cmake | 6 - Modules/CPack.cmake | 2 +- Modules/CUDA/architectures.cmake | 8 +- Modules/CheckFortranFunctionExists.cmake | 7 - Modules/CheckFortranSourceCompiles.cmake | 12 +- Modules/CheckFortranSourceRuns.cmake | 10 +- Modules/CheckFunctionExists.cmake | 8 +- Modules/CheckIPOSupported.cmake | 3 - Modules/CheckIncludeFile.cmake | 10 +- Modules/CheckIncludeFileCXX.cmake | 10 +- Modules/CheckIncludeFiles.cmake | 10 +- Modules/CheckLanguage.cmake | 4 +- Modules/CheckLibraryExists.cmake | 10 +- Modules/CheckPrototypeDefinition.cmake | 8 +- Modules/CheckSourceCompiles.cmake | 30 +- Modules/CheckSourceRuns.cmake | 30 +- Modules/CheckSymbolExists.cmake | 14 +- Modules/CheckTypeSize.cmake | 5 - Modules/CheckVariableExists.cmake | 8 +- Modules/Compiler/Clang-CXX.cmake | 16 + Modules/Compiler/Clang-FindBinUtils.cmake | 11 + Modules/Compiler/Clang.cmake | 4 +- Modules/Compiler/GNU.cmake | 14 +- Modules/Compiler/IAR.cmake | 38 +- Modules/Compiler/IBMClang.cmake | 6 +- Modules/Compiler/Intel.cmake | 14 +- Modules/Compiler/IntelLLVM-C.cmake | 6 + Modules/Compiler/IntelLLVM-CXX.cmake | 22 +- Modules/Compiler/IntelLLVM.cmake | 20 +- .../Compiler/LCC-C-DetermineCompiler.cmake | 6 +- .../Compiler/LCC-CXX-DetermineCompiler.cmake | 6 +- Modules/Compiler/LCC.cmake | 14 +- Modules/Compiler/LLVMFlang-Fortran.cmake | 1 + Modules/Compiler/NAG-Fortran.cmake | 4 +- Modules/Compiler/NVIDIA-CUDA.cmake | 14 +- Modules/Compiler/QCC.cmake | 14 +- Modules/Compiler/Tasking.cmake | 14 +- Modules/ExternalData.cmake | 2 +- Modules/ExternalProject.cmake | 55 +- Modules/FetchContent.cmake | 38 +- Modules/FindBZip2.cmake | 21 +- Modules/FindBoost.cmake | 5 +- Modules/FindCUDAToolkit.cmake | 212 +- Modules/FindHDF5.cmake | 62 +- Modules/FindImageMagick.cmake | 123 +- Modules/FindJNI.cmake | 7 + Modules/FindLibLZMA.cmake | 20 +- Modules/FindMFC.cmake | 6 - Modules/FindMPI.cmake | 18 +- Modules/FindMatlab.cmake | 52 +- Modules/FindMsys.cmake | 9 +- Modules/FindOpenCL.cmake | 2 +- Modules/FindOpenMP.cmake | 33 +- Modules/FindOpenSP.cmake | 73 +- Modules/FindOpenSSL.cmake | 71 +- Modules/FindPython.cmake | 83 +- Modules/FindPython/Support.cmake | 800 ++++++- Modules/FindPython2.cmake | 4 +- Modules/FindPython3.cmake | 79 +- Modules/FindQt4.cmake | 2 +- Modules/FindThreads.cmake | 12 +- Modules/FindUnixCommands.cmake | 4 + Modules/FindZLIB.cmake | 75 +- Modules/FindwxWidgets.cmake | 2 +- Modules/FindwxWindows.cmake | 2 +- Modules/FortranCInterface.cmake | 4 - Modules/FortranCInterface/Detect.cmake | 6 +- Modules/GoogleTest.cmake | 8 +- Modules/GoogleTestAddTests.cmake | 2 +- .../CMakeTryCompilerOrLinkerFlag.cmake | 4 +- Modules/Internal/CPack/CPackRPM.cmake | 4 +- Modules/Internal/CheckFlagCommonConfig.cmake | 2 + Modules/Internal/CheckSourceCompiles.cmake | 19 +- Modules/Internal/CheckSourceRuns.cmake | 18 +- Modules/Internal/FeatureTesting.cmake | 17 +- Modules/Platform/Android-Clang.cmake | 4 +- Modules/Platform/Android-Determine.cmake | 4 +- Modules/Platform/Android.cmake | 2 + Modules/Platform/CYGWIN.cmake | 45 - Modules/Platform/DOS-OpenWatcom-C.cmake | 1 + Modules/Platform/DOS-OpenWatcom-CXX.cmake | 1 + Modules/Platform/DOS-OpenWatcom.cmake | 11 +- Modules/Platform/Linux-OpenWatcom.cmake | 14 +- Modules/Platform/OS2-OpenWatcom.cmake | 22 +- Modules/Platform/Windows-OpenWatcom.cmake | 14 +- Modules/Platform/Windows3x-OpenWatcom-C.cmake | 2 + .../Platform/Windows3x-OpenWatcom-CXX.cmake | 2 + Modules/Platform/Windows3x-OpenWatcom.cmake | 33 + Modules/Platform/Windows3x.cmake | 12 + Modules/ProcessorCount.cmake | 12 +- Modules/SystemInformation.cmake | 6 +- Modules/TestBigEndian.cmake | 7 - Modules/TestCXXAcceptsFlag.cmake | 8 +- Modules/TestForANSIForScope.cmake | 8 +- Modules/TestForANSIStreamHeaders.cxx | 2 +- Modules/TestForAnsiForScope.cxx | 2 +- Modules/TestForSSTREAM.cmake | 8 +- Modules/TestForSSTREAM.cxx | 2 +- Modules/TestForSTDNamespace.cmake | 8 +- Modules/TestForSTDNamespace.cxx | 2 +- Modules/UseJava.cmake | 2 +- Modules/UseSWIG.cmake | 69 +- Modules/UsewxWidgets.cmake | 29 - Modules/WriteBasicConfigVersionFile.cmake | 15 + Source/CMakeLists.txt | 7 +- Source/CMakeVersion.cmake | 6 +- Source/CPack/IFW/cmCPackIFWGenerator.cxx | 2 +- Source/CPack/IFW/cmCPackIFWInstaller.cxx | 38 +- Source/CPack/IFW/cmCPackIFWPackage.cxx | 6 +- Source/CPack/WiX/cmCPackWIXGenerator.cxx | 8 +- Source/CPack/cmCPackArchiveGenerator.cxx | 8 +- Source/CPack/cmCPackDebGenerator.cxx | 6 +- Source/CPack/cmCPackDragNDropGenerator.cxx | 2 +- Source/CPack/cmCPackExternalGenerator.cxx | 4 +- Source/CPack/cmCPackGenerator.cxx | 36 +- Source/CPack/cmCPackGenerator.h | 10 +- Source/CPack/cmCPackNSISGenerator.cxx | 2 +- Source/CPack/cmCPackPKGGenerator.cxx | 17 +- Source/CPack/cpack.cxx | 190 +- Source/CTest/cmCTestBuildAndTestHandler.cxx | 2 +- Source/CTest/cmCTestBuildHandler.cxx | 16 +- Source/CTest/cmCTestConfigureCommand.cxx | 7 +- Source/CTest/cmCTestCoverageHandler.cxx | 1 + Source/CTest/cmCTestCurl.cxx | 8 +- Source/CTest/cmCTestGenericHandler.cxx | 16 +- Source/CTest/cmCTestGenericHandler.h | 12 +- Source/CTest/cmCTestHandlerCommand.cxx | 4 +- Source/CTest/cmCTestScriptHandler.cxx | 4 - Source/CTest/cmCTestSubmitHandler.cxx | 4 +- Source/CTest/cmCTestTestHandler.cxx | 19 +- Source/CTest/cmCTestUpdateHandler.cxx | 4 +- Source/Checks/Curses/CMakeLists.txt | 5 +- Source/CursesDialog/ccmake.cxx | 40 +- Source/CursesDialog/form/form.h | 3 + Source/QtDialog/CMakeSetup.cxx | 37 +- Source/QtDialog/CMakeSetupDialog.cxx | 3 +- Source/QtDialog/EnvironmentDialog.cxx | 14 +- Source/QtDialog/QCMakeCacheView.cxx | 8 +- Source/QtDialog/QCMakeCacheView.h | 7 +- Source/QtDialog/QCMakeWidgets.cxx | 34 + Source/QtDialog/QCMakeWidgets.h | 8 + Source/cmArchiveWrite.cxx | 2 +- Source/cmBinUtilsLinuxELFLinker.cxx | 9 +- Source/cmCMakePresetsGraphInternal.h | 2 + Source/cmCMakePresetsGraphReadJSON.cxx | 4 +- Source/cmCPluginAPI.h | 4 +- Source/cmCTest.cxx | 86 +- Source/cmCTest.h | 2 +- Source/cmCallVisualStudioMacro.h | 3 +- Source/cmCommandLineArgument.h | 11 + Source/cmCommonTargetGenerator.cxx | 10 +- Source/cmCommonTargetGenerator.h | 2 +- Source/cmComputeComponentGraph.cxx | 33 +- Source/cmComputeComponentGraph.h | 25 +- Source/cmComputeLinkDepends.cxx | 128 +- Source/cmComputeLinkDepends.h | 60 +- Source/cmComputeLinkInformation.cxx | 14 +- Source/cmComputeTargetDepends.cxx | 115 +- Source/cmComputeTargetDepends.h | 31 +- Source/cmConfigureLog.cxx | 303 +++ Source/cmConfigureLog.h | 72 + Source/cmCoreTryCompile.cxx | 146 +- Source/cmCoreTryCompile.h | 25 +- Source/cmCustomCommandGenerator.cxx | 27 +- Source/cmCustomCommandGenerator.h | 2 +- Source/cmCxxModuleMapper.cxx | 44 +- Source/cmCxxModuleMapper.h | 3 +- Source/cmDependsFortran.cxx | 18 +- Source/cmDependsFortran.h | 2 +- Source/cmDocumentation.cxx | 169 +- Source/cmDocumentation.h | 57 +- Source/cmDocumentationEntry.h | 29 +- Source/cmDocumentationFormatter.cxx | 234 +- Source/cmDocumentationFormatter.h | 56 +- Source/cmDocumentationSection.cxx | 28 - Source/cmDocumentationSection.h | 22 +- Source/cmDyndepCollation.cxx | 625 ++++++ Source/cmDyndepCollation.h | 52 + Source/cmExperimental.cxx | 2 +- Source/cmExportFileGenerator.cxx | 13 +- Source/cmExportInstallFileGenerator.cxx | 4 +- Source/cmExportTryCompileFileGenerator.cxx | 2 +- Source/cmExtraEclipseCDT4Generator.cxx | 2 +- Source/cmFileAPI.cxx | 96 +- Source/cmFileAPI.h | 8 + Source/cmFileAPICodemodel.cxx | 112 +- Source/cmFileAPIConfigureLog.cxx | 68 + Source/cmFileAPIConfigureLog.h | 12 + Source/cmFileCommand.cxx | 87 +- Source/cmFileLockPool.cxx | 4 +- Source/cmFileSet.cxx | 9 +- Source/cmFileSet.h | 4 +- Source/cmFindBase.cxx | 2 +- Source/cmFindPackageCommand.cxx | 16 +- Source/cmGeneratedFileStream.cxx | 11 +- Source/cmGeneratorExpression.cxx | 80 +- Source/cmGeneratorExpression.h | 13 +- .../cmGeneratorExpressionEvaluationFile.cxx | 2 +- Source/cmGeneratorExpressionEvaluator.cxx | 31 +- Source/cmGeneratorExpressionNode.cxx | 42 +- Source/cmGeneratorTarget.cxx | 401 +++- Source/cmGeneratorTarget.h | 60 +- Source/cmGhsMultiTargetGenerator.cxx | 7 +- Source/cmGlobalBorlandMakefileGenerator.cxx | 7 +- Source/cmGlobalBorlandMakefileGenerator.h | 3 +- Source/cmGlobalCommonGenerator.cxx | 24 + Source/cmGlobalCommonGenerator.h | 13 + Source/cmGlobalGenerator.cxx | 73 +- Source/cmGlobalGenerator.h | 13 +- Source/cmGlobalGeneratorFactory.h | 23 +- Source/cmGlobalGhsMultiGenerator.cxx | 16 +- Source/cmGlobalGhsMultiGenerator.h | 3 +- Source/cmGlobalJOMMakefileGenerator.cxx | 8 +- Source/cmGlobalJOMMakefileGenerator.h | 3 +- Source/cmGlobalMSYSMakefileGenerator.cxx | 8 +- Source/cmGlobalMSYSMakefileGenerator.h | 9 +- Source/cmGlobalMinGWMakefileGenerator.cxx | 8 +- Source/cmGlobalMinGWMakefileGenerator.h | 5 +- Source/cmGlobalNMakeMakefileGenerator.cxx | 16 +- Source/cmGlobalNMakeMakefileGenerator.h | 3 +- Source/cmGlobalNinjaGenerator.cxx | 501 +---- Source/cmGlobalNinjaGenerator.h | 23 +- Source/cmGlobalUnixMakefileGenerator3.cxx | 19 +- Source/cmGlobalUnixMakefileGenerator3.h | 6 +- Source/cmGlobalVisualStudio10Generator.cxx | 130 +- Source/cmGlobalVisualStudio10Generator.h | 16 +- Source/cmGlobalVisualStudio11Generator.cxx | 30 +- Source/cmGlobalVisualStudio11Generator.h | 3 + Source/cmGlobalVisualStudio12Generator.cxx | 17 +- Source/cmGlobalVisualStudio14Generator.cxx | 17 +- Source/cmGlobalVisualStudio71Generator.cxx | 19 +- Source/cmGlobalVisualStudio7Generator.cxx | 71 +- Source/cmGlobalVisualStudio7Generator.h | 8 +- Source/cmGlobalVisualStudio8Generator.cxx | 52 +- Source/cmGlobalVisualStudio9Generator.cxx | 11 +- Source/cmGlobalVisualStudioGenerator.cxx | 19 +- Source/cmGlobalVisualStudioGenerator.h | 7 +- ...cmGlobalVisualStudioVersionedGenerator.cxx | 81 +- .../cmGlobalVisualStudioVersionedGenerator.h | 11 + Source/cmGlobalWatcomWMakeGenerator.cxx | 8 +- Source/cmGlobalWatcomWMakeGenerator.h | 3 +- Source/cmGlobalXCodeGenerator.cxx | 76 +- Source/cmGlobalXCodeGenerator.h | 8 +- Source/cmGraphAdjacencyList.h | 9 +- Source/cmIDEOptions.cxx | 15 +- Source/cmInstalledFile.cxx | 4 +- Source/cmJSONHelpers.h | 28 +- Source/cmLinkLineComputer.cxx | 10 +- Source/cmLocalGenerator.cxx | 81 +- Source/cmLocalGenerator.h | 4 - Source/cmLocalNinjaGenerator.cxx | 29 +- Source/cmLocalUnixMakefileGenerator3.cxx | 6 +- Source/cmLocalVisualStudio10Generator.cxx | 12 +- Source/cmLocalVisualStudio10Generator.h | 2 +- Source/cmLocalVisualStudio7Generator.cxx | 109 +- Source/cmLocalVisualStudio7Generator.h | 4 +- Source/cmLocalVisualStudioGenerator.cxx | 8 +- Source/cmLocalVisualStudioGenerator.h | 4 +- Source/cmLocalXCodeGenerator.cxx | 2 +- Source/cmMakefile.cxx | 36 +- .../cmMakefileExecutableTargetGenerator.cxx | 5 +- Source/cmMakefileLibraryTargetGenerator.cxx | 7 +- Source/cmMakefileProfilingData.cxx | 57 +- Source/cmMakefileProfilingData.h | 30 +- Source/cmMakefileTargetGenerator.cxx | 48 +- Source/cmMakefileTargetGenerator.h | 1 + Source/cmMessageCommand.cxx | 26 + Source/cmMessenger.cxx | 4 +- Source/cmNinjaNormalTargetGenerator.cxx | 113 +- Source/cmNinjaTargetGenerator.cxx | 445 ++-- Source/cmNinjaTargetGenerator.h | 21 +- Source/cmOutputConverter.cxx | 20 +- Source/cmOutputConverter.h | 7 +- Source/cmPolicies.h | 5 +- Source/cmProjectCommand.cxx | 9 + Source/cmQtAutoGenInitializer.cxx | 5 +- Source/cmQtAutoMocUic.cxx | 5 +- Source/cmRange.h | 6 +- Source/cmRulePlaceholderExpander.cxx | 5 - Source/cmRulePlaceholderExpander.h | 2 +- Source/cmSearchPath.cxx | 15 + Source/cmSetPropertyCommand.cxx | 7 +- Source/cmState.cxx | 2 + Source/cmState.h | 1 + Source/cmStateSnapshot.cxx | 8 - Source/cmStringAlgorithms.cxx | 44 +- Source/cmStringAlgorithms.h | 42 +- Source/cmStringCommand.cxx | 64 +- Source/cmSystemTools.cxx | 46 +- Source/cmSystemTools.h | 8 +- Source/cmTarget.cxx | 969 ++++----- Source/cmTargetIncludeDirectoriesCommand.cxx | 5 +- Source/cmTargetPropCommandBase.cxx | 2 +- Source/cmTargetPropCommandBase.h | 7 +- Source/cmTestGenerator.cxx | 3 +- Source/cmTimestamp.cxx | 63 +- Source/cmTimestamp.h | 4 +- Source/cmTryCompileCommand.cxx | 31 +- Source/cmTryRunCommand.cxx | 134 +- Source/cmUVProcessChain.cxx | 1 + Source/cmVSSetupHelper.cxx | 93 +- Source/cmVSSetupHelper.h | 27 +- Source/cmVersionConfig.h.in | 2 + Source/cmVisualStudio10TargetGenerator.cxx | 290 ++- Source/cmVisualStudio10TargetGenerator.h | 13 +- Source/cmVisualStudioGeneratorOptions.cxx | 41 +- Source/cmVisualStudioGeneratorOptions.h | 1 + Source/cmVisualStudioSlnData.cxx | 43 +- Source/cmVisualStudioSlnData.h | 16 +- Source/cmVisualStudioSlnParser.cxx | 189 +- Source/cmVisualStudioSlnParser.h | 4 +- Source/cmVisualStudioWCEPlatformParser.cxx | 9 +- Source/cmVisualStudioWCEPlatformParser.h | 11 +- Source/cmake.cxx | 329 +-- Source/cmake.h | 90 +- Source/cmakemain.cxx | 69 +- Source/cmcmd.cxx | 74 +- Source/ctest.cxx | 30 +- Source/kwsys/CONTRIBUTING.rst | 2 +- Source/kwsys/CommandLineArguments.cxx | 2 +- Source/kwsys/Glob.cxx | 4 +- Source/kwsys/ProcessUNIX.c | 13 + Source/kwsys/ProcessWin32.c | 5 +- Source/kwsys/RegularExpression.cxx | 56 +- Source/kwsys/RegularExpression.hxx.in | 10 +- Source/kwsys/Status.hxx.in | 10 + Source/kwsys/SystemInformation.cxx | 6 +- Source/kwsys/SystemTools.cxx | 106 +- Source/kwsys/SystemTools.hxx.in | 44 +- Source/kwsys/kwsysPrivate.h | 2 +- Source/kwsys/testConfigure.cxx | 2 +- Source/kwsys/testConsoleBuf.cxx | 2 +- Source/kwsys/testDirectory.cxx | 11 +- Source/kwsys/testEncoding.cxx | 2 +- Source/kwsys/testFStream.cxx | 2 +- Source/kwsys/testStatus.cxx | 2 +- Source/kwsys/testSystemInformation.cxx | 2 +- Source/kwsys/testSystemTools.cxx | 2 +- Templates/MSBuild/FlagTables/v10_MARMASM.json | 140 ++ Templates/MSBuild/FlagTables/v142_CL.json | 7 + Templates/MSBuild/FlagTables/v143_CL.json | 7 + Templates/MSBuild/nasm.targets | 2 +- .../target_include_directories/CMakeLists.txt | 5 + .../target_include_directories/same.c | 7 + .../same_one/same.h | 1 + .../same_two/same.h | 1 + Tests/CMakeGUI/CatchShow.h | 13 +- Tests/CMakeLib/testArgumentParser.cxx | 2 +- Tests/CMakeLib/testCMExtAlgorithm.cxx | 2 +- Tests/CMakeLib/testCMExtEnumSet.cxx | 2 +- Tests/CMakeLib/testCMExtMemory.cxx | 2 +- Tests/CMakeLib/testCMFilesystemPath.cxx | 2 +- Tests/CMakeLib/testCTestBinPacker.cxx | 2 +- Tests/CMakeLib/testCTestResourceGroups.cxx | 2 +- Tests/CMakeLib/testFindPackageCommand.cxx | 2 +- Tests/CMakeLib/testGeneratedFileStream.cxx | 2 +- Tests/CMakeLib/testJSONHelpers.cxx | 2 +- Tests/CMakeLib/testOptional.cxx | 2 +- Tests/CMakeLib/testRange.cxx | 2 +- Tests/CMakeLib/testString.cxx | 2 +- Tests/CMakeLib/testStringAlgorithms.cxx | 26 +- Tests/CMakeLib/testSystemTools.cxx | 2 +- Tests/CMakeLib/testUTF8.cxx | 2 +- Tests/CMakeLib/testUVRAII.cxx | 3 +- Tests/CMakeLib/testUVStreambuf.cxx | 13 +- Tests/CMakeLib/testVisualStudioSlnParser.cxx | 2 +- Tests/CMakeLib/testXMLParser.cxx | 2 +- Tests/CMakeLib/testXMLSafe.cxx | 2 +- Tests/CMakeLists.txt | 70 +- Tests/CMakeOnly/AllFindModules/CMakeLists.txt | 4 +- Tests/CMakeTests/CMakeLists.txt | 10 - .../FileDownloadBadHashTest.cmake.in | 13 - Tests/CMakeTests/FileDownloadTest.cmake.in | 229 -- ...eDownloadInput.png => FileUploadInput.png} | Bin Tests/CMakeTests/FileUploadTest.cmake.in | 2 +- .../String-TIMESTAMP-TimeZone.cmake | 22 + Tests/CMakeTests/StringTest.cmake.in | 3 + Tests/CTestUpdateGIT.cmake.in | 2 +- Tests/CheckFortran.cmake | 1 + Tests/CheckSourceTree/check.cmake | 9 + Tests/CheckSwift.cmake | 1 + Tests/CompileFeatures/CMakeLists.txt | 13 + .../cxx_attribute_deprecated.cpp | 5 +- Tests/CompileFeatures/cxx_attributes.cpp | 2 +- Tests/CompileFeatures/msvc_permissive.cxx | 9 + Tests/Cuda/CMakeLists.txt | 7 +- Tests/Cuda/SeparableCompCXXOnly/main.cpp | 2 +- .../SharedRuntimePlusToolkit/CMakeLists.txt | 11 +- Tests/Cuda/SharedRuntimePlusToolkit/main.cpp | 17 +- .../StaticRuntimePlusToolkit/CMakeLists.txt | 26 +- .../Cuda/StaticRuntimePlusToolkit/curand.cpp | 8 +- Tests/Cuda/StaticRuntimePlusToolkit/main.cpp | 27 +- Tests/Cuda/StaticRuntimePlusToolkit/mixed.cpp | 14 +- Tests/Cuda/StaticRuntimePlusToolkit/nppif.cpp | 8 +- .../Cuda/StaticRuntimePlusToolkit/shared.cpp | 10 +- .../Cuda/StaticRuntimePlusToolkit/static.cpp | 14 +- Tests/Cuda/Toolkit/CMakeLists.txt | 22 + Tests/CudaOnly/CMakeLists.txt | 7 +- .../SeparateCompilation/CMakeLists.txt | 26 +- Tests/CudaOnly/SeparateCompilation/file1.h | 9 + Tests/CudaOnly/SeparateCompilation/file4.cu | 2 +- Tests/CudaOnly/SeparateCompilation/file5.cu | 2 +- .../SeparateCompilation/main/CMakeLists.txt | 2 +- .../CudaOnly/SeparateCompilation/main/main.cu | 4 +- Tests/CudaOnly/SeparateCompilationPTX/main.cu | 9 +- .../SharedRuntimePlusToolkit/CMakeLists.txt | 10 +- .../CudaOnly/SharedRuntimePlusToolkit/main.cu | 17 +- .../StaticRuntimePlusToolkit/CMakeLists.txt | 24 +- .../StaticRuntimePlusToolkit/curand.cu | 8 +- .../CudaOnly/StaticRuntimePlusToolkit/main.cu | 27 +- .../StaticRuntimePlusToolkit/mixed.cu | 14 +- .../StaticRuntimePlusToolkit/nppif.cu | 8 +- .../StaticRuntimePlusToolkit/shared.cu | 10 +- .../StaticRuntimePlusToolkit/static.cu | 14 +- Tests/CudaOnly/Toolkit/CMakeLists.txt | 10 + Tests/CustomCommandByproducts/CMakeLists.txt | 35 + .../ExternalLibraryByproducts.c | 5 + Tests/FindImageMagick/CMakeLists.txt | 10 + Tests/FindImageMagick/Test/CMakeLists.txt | 13 + Tests/FindImageMagick/Test/main_magick++.cxx | 10 + Tests/FindImageMagick/Test/main_magick_wand.c | 8 + Tests/FindOpenACC/CXXTest/main.cxx | 2 +- Tests/FindPython/CMakeLists.txt | 30 + .../Python2SABIModule/CMakeLists.txt | 5 + Tests/FindPython/Python3Module/CMakeLists.txt | 9 + .../Python3SABIModule/CMakeLists.txt | 55 + .../RequiredArtifacts/CMakeLists.txt | 32 +- .../RequiredArtifacts/Check/CMakeLists.txt | 8 + .../FortranModules/Executable/CMakeLists.txt | 1 + Tests/FortranModules/Executable/main.f90 | 4 + Tests/FortranModules/Library/CMakeLists.txt | 7 +- Tests/FortranModules/Library/cycleA1.f90 | 3 + Tests/FortranModules/Library/cycleA2.f90 | 5 + Tests/FortranModules/Library/cycleB1.f90 | 3 + Tests/FortranModules/Library/cycleB2.f90 | 5 + Tests/FortranOnly/CMakeLists.txt | 22 +- Tests/GeneratorExpression/CMakeLists.txt | 22 +- Tests/GeneratorExpression/check-part3.cmake | 1 + Tests/GeneratorExpression/check-part4.cmake | 9 +- Tests/QtAutogen/Complex/calwidget.cpp | 2 +- Tests/RunCMake/AutoExportDll/AutoExport.cmake | 4 +- Tests/RunCMake/CMP0104/CMP0104-OLD-stderr.txt | 10 + Tests/RunCMake/CMP0106/CMP0106-OLD-stderr.txt | 10 + Tests/RunCMake/CMakeLists.txt | 94 +- .../RunCMake/CMakePresets/NoDebug-stdout.txt | 4 +- .../CMakePresetsTest/RunCMakeTest.cmake | 4 + .../multipleExpandOptions-stdout.txt | 1 - .../CTestCommandLine/RunCMakeTest.cmake | 11 +- .../no-tests_env_bad-result.txt} | 0 .../no-tests_env_bad-stderr.txt | 1 + ...no-tests_env_bad_with_cli_error-result.txt | 1 + ...no-tests_env_bad_with_cli_error-stderr.txt | 1 + .../no-tests_env_empty_legacy-stderr.txt | 1 + .../no-tests_env_error-result.txt | 1 + .../no-tests_env_error-stderr.txt | 1 + Tests/RunCMake/CXXModules/CMakeLists.txt | 2 +- ...etModuleHeaderUnitsInterfaceImported.cmake | 2 +- .../FileSetModulesInterfaceImported.cmake | 2 +- .../CXXModules/NoDyndepSupport-stderr.txt | 7 +- Tests/RunCMake/CXXModules/RunCMakeTest.cmake | 35 +- .../CXXModules/compiler_introspection.cmake | 1 + .../examples/circular-build-result.txt} | 0 .../examples/circular-build-stdout.txt | 1 + .../CXXModules/examples/circular-stderr.txt | 9 + .../examples/circular/CMakeLists.txt | 15 + .../examples/circular/circular-a.cppm | 6 + .../examples/circular/circular-b.cppm | 6 + .../examples/cxx-modules-find-bmi.cmake | 2 +- .../examples/cxx-modules-rules.cmake | 2 +- .../CXXModules/examples/duplicate-stderr.txt | 9 + .../examples/duplicate/CMakeLists.txt | 39 + .../examples/duplicate/duplicate.cxx | 11 + .../CXXModules/examples/duplicate/main.cxx | 6 + .../importable.cxx | 2 + .../test/CMakeLists.txt | 2 +- .../importable.cxx | 2 + .../test/CMakeLists.txt | 2 +- .../export-interface-build/CMakeLists.txt | 6 +- .../export-interface-build/importable.cxx | 2 + .../test/CMakeLists.txt | 12 +- .../export-interface-install/CMakeLists.txt | 6 +- .../export-interface-install/importable.cxx | 2 + .../test/CMakeLists.txt | 12 +- ...t-interface-no-properties-build-stderr.txt | 9 + .../CMakeLists.txt | 53 + .../forward.cxx | 6 + .../importable.cxx | 10 + .../private.cxx | 6 + .../test/CMakeLists.txt | 32 + ...interface-no-properties-install-stderr.txt | 9 + .../CMakeLists.txt | 56 + .../forward.cxx | 6 + .../importable.cxx | 10 + .../private.cxx | 6 + .../test/CMakeLists.txt | 32 + .../internal-partitions/importable.cxx | 2 +- .../internal-partitions/partition.cxx | 2 +- .../examples/partitions/importable.cxx | 2 +- .../examples/partitions/partition.cxx | 2 +- .../examples/scan_properties-stderr.txt | 9 + .../examples/scan_properties/CMakeLists.txt | 61 + .../examples/scan_properties/always_scan.cxx | 12 + .../examples/scan_properties/join.cxx | 19 + .../examples/scan_properties/main.cxx | 18 + .../examples/scan_properties/module.cxx | 12 + .../examples/scan_properties/never_scan.cxx | 10 + .../sources/module-internal-part-impl.cxx | 2 +- .../sources/module-internal-part.cxx | 2 +- .../CXXModules/sources/module-part-impl.cxx | 4 +- .../CXXModules/sources/module-part.cxx | 2 +- Tests/RunCMake/CXXModules/sources/module.cxx | 4 +- .../CheckCompilerFlagC.cmake | 9 + .../CheckCompilerFlagCXX.cmake | 9 + .../CheckCompilerFlagSwift.cmake | 21 + .../CheckCompilerFlag/RunCMakeTest.cmake | 4 + .../CheckSourceCompilesSwift.cmake | 15 + .../CheckSourceCompiles/RunCMakeTest.cmake | 4 + .../ExportFixesDir-Build-check.cmake | 35 + Tests/RunCMake/ClangTidy/ExportFixesDir.cmake | 6 + .../ExportFixesDir2-Build-check.cmake | 35 + .../ClangTidy/ExportFixesDir2-check.cmake | 35 + .../RunCMake/ClangTidy/ExportFixesDir2.cmake | 6 + Tests/RunCMake/ClangTidy/RunCMakeTest.cmake | 52 + .../export_fixes_subdir/CMakeLists.txt | 1 + Tests/RunCMake/ClangTidy/extra.c | 3 + .../C_buildsrcdir/initial-cache.txt | 2 + ...n_co_compile-tidy-remove-fixes-check.cmake | 3 + ...un_co_compile-tidy-remove-fixes-prep.cmake | 1 + .../CommandLine/E_capabilities-stdout.txt | 2 +- ...copy-t-argument-target-is-file-result.txt} | 0 ..._copy-t-argument-target-is-file-stderr.txt | 1 + .../CommandLine/Envgen-bad-help-stderr.txt | 1 + .../CommandLine/Envgen-bad-help-stdout.txt | 2 + .../Envgen-ninja-multi-help-stdout.txt | 1 + .../P_P_in_arbitrary_args-stdout.txt | 10 + .../P_P_in_arbitrary_args_2-stdout.txt | 10 + Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 29 + .../build-no-dir2-result.txt} | 0 .../CommandLine/build-no-dir2-stderr.txt | 1 + .../RunCMake/CommandLine/cmake_depends/test.c | 1 + .../trace-try_compile-redirect-check.cmake | 13 + .../trace-try_compile-redirect.cmake | 2 + .../CommandLine/trace-try_compile-stderr.txt | 4 + .../CommandLine/trace-try_compile.cmake | 2 + .../RemoveLeadingMinusD.cmake | 11 + .../CompileDefinitions/RunCMakeTest.cmake | 13 + Tests/RunCMake/CompileDefinitions/foo.c | 4 + .../RunCMake/Configure/CopyFileABI-stdout.txt | 4 +- Tests/RunCMake/Configure/ErrorLogs-stderr.txt | 4 - Tests/RunCMake/Configure/ErrorLogs-stdout.txt | 3 - Tests/RunCMake/Configure/ErrorLogs.cmake | 3 - Tests/RunCMake/Configure/RunCMakeTest.cmake | 1 - .../BuildInstallInterfaceGenex-export.cmake | 14 + .../BuildInstallInterfaceGenex-import.cmake | 9 + .../RunCMake/ExportImport/RunCMakeTest.cmake | 25 + Tests/RunCMake/ExportImport/buildlib.c | 8 + Tests/RunCMake/ExportImport/installlib.c | 8 + Tests/RunCMake/ExportImport/locallib.c | 8 + .../InstallBuilds-build-stdout.txt | 2 + .../ExternalProject/InstallBuilds.cmake | 7 + .../InstallBuilds/CMakeLists.txt | 4 + .../ExternalProject/RunCMakeTest.cmake | 1 + Tests/RunCMake/FileAPI/RunCMakeTest.cmake | 1 + Tests/RunCMake/FileAPI/codemodel-v2-check.py | 31 +- .../targets/all_build_alias.json | 3 + .../targets/all_build_custom.json | 3 + .../targets/all_build_cxx.json | 3 + .../targets/all_build_external.json | 3 + .../targets/all_build_imported.json | 3 + .../targets/all_build_interface.json | 3 + .../targets/all_build_object.json | 3 + .../targets/all_build_top.json | 3 + .../targets/c_alias_exe.json | 2 + .../codemodel-v2-data/targets/c_exe.json | 2 + .../targets/c_headers_1.json | 31 + .../targets/c_headers_2.json | 9 + .../codemodel-v2-data/targets/c_lib.json | 2 + .../targets/c_object_exe.json | 3 + .../targets/c_object_lib.json | 2 + .../targets/c_shared_exe.json | 2 + .../targets/c_shared_lib.json | 2 + .../targets/c_static_exe.json | 2 + .../targets/c_static_lib.json | 2 + .../codemodel-v2-data/targets/c_subdir.json | 2 + .../codemodel-v2-data/targets/custom_exe.json | 2 + .../codemodel-v2-data/targets/custom_tgt.json | 3 + .../targets/cxx_alias_exe.json | 2 + .../codemodel-v2-data/targets/cxx_exe.json | 2 + .../targets/cxx_exe_precompileheader.json | 3 + .../cxx_exe_precompileheader_2arch.json | 5 + .../cxx_exe_precompileheader_multigen.json | 6 + .../codemodel-v2-data/targets/cxx_lib.json | 2 + .../targets/cxx_object_exe.json | 3 + .../targets/cxx_object_lib.json | 2 + .../targets/cxx_shared_exe.json | 2 + .../targets/cxx_shared_lib.json | 2 + .../cxx_standard_compile_feature_exe.json | 2 + .../targets/cxx_standard_exe.json | 2 + .../targets/cxx_static_exe.json | 2 + .../targets/cxx_static_lib.json | 2 + .../targets/generated_exe.json | 3 + .../codemodel-v2-data/targets/iface_srcs.json | 2 + .../targets/interface_exe.json | 2 + .../targets/link_imported_exe.json | 2 + .../targets/link_imported_interface_exe.json | 2 + .../targets/link_imported_object_exe.json | 2 + .../targets/link_imported_shared_exe.json | 2 + .../targets/link_imported_static_exe.json | 2 + .../targets/zero_check_alias.json | 3 + .../targets/zero_check_custom.json | 3 + .../targets/zero_check_cxx.json | 3 + .../targets/zero_check_external.json | 3 + .../targets/zero_check_imported.json | 3 + .../targets/zero_check_interface.json | 3 + .../targets/zero_check_object.json | 3 + .../targets/zero_check_top.json | 3 + ...configureLog-v1-ClientStateful-check.cmake | 11 + .../configureLog-v1-ClientStateful-prep.cmake | 4 + ...onfigureLog-v1-ClientStateless-check.cmake | 11 + ...configureLog-v1-ClientStateless-prep.cmake | 2 + ...onfigureLog-v1-SharedStateless-check.cmake | 10 + ...configureLog-v1-SharedStateless-prep.cmake | 2 + .../RunCMake/FileAPI/configureLog-v1-check.py | 21 + Tests/RunCMake/FileAPI/configureLog-v1.cmake | 1 + ...-validation-compression-level-1-stderr.txt | 2 +- ...-validation-compression-level-2-stderr.txt | 2 +- .../pax-zstd-compression-level.cmake | 3 + Tests/RunCMake/FindBoost/CommonNotFound.cmake | 4 + .../FindPkgConfig_IMPORTED_TARGET.cmake | 40 +- .../FindPkgConfig_VERSION_OPERATORS.cmake | 21 +- .../RunCMake/FindPkgConfig/RunCMakeTest.cmake | 17 +- .../OUTPUT_NAME-recursion-stderr.txt | 2 +- .../ALIAS_GLOBAL-check.cmake} | 0 .../ALIAS_GLOBAL.cmake} | 0 .../BadInvalidName-result.txt} | 0 .../BadInvalidName-stderr.txt | 0 .../BadInvalidName.cmake | 4 + .../BadInvalidName1/CMakeLists.txt | 0 .../BadInvalidName2/CMakeLists.txt | 0 .../BadInvalidName3/CMakeLists.txt | 0 .../BadInvalidName4/CMakeLists.txt | 0 .../BadInvalidName5/CMakeLists.txt | 0 .../BadInvalidName6/CMakeLists.txt | 0 .../BadInvalidName7/CMakeLists.txt | 0 .../BadInvalidName8/CMakeLists.txt | 0 .../BadNonTarget-result.txt} | 0 .../BadNonTarget-stderr.txt | 2 +- .../GenEx-TARGET_PROPERTY/BadNonTarget.cmake | 9 + .../BadSelfReference-result.txt} | 0 .../BadSelfReference-stderr.txt | 0 .../BadSelfReference.cmake | 4 + .../BadSelfReference1/CMakeLists.txt | 0 .../BadSelfReference2/CMakeLists.txt | 0 .../BadSelfReference3/CMakeLists.txt | 0 .../BadSelfReference4/CMakeLists.txt | 0 .../BadSelfReference5/CMakeLists.txt | 0 .../BadSelfReference6/CMakeLists.txt | 0 .../GenEx-TARGET_PROPERTY/CMakeLists.txt | 6 + .../INCLUDE_DIRECTORIES-check.cmake} | 0 .../INCLUDE_DIRECTORIES.cmake} | 0 .../LOCATION-stderr.txt} | 0 .../LOCATION.cmake} | 0 .../LinkImplementationCycle1-result.txt} | 0 .../LinkImplementationCycle1-stderr.txt | 0 .../LinkImplementationCycle1.cmake | 5 +- .../LinkImplementationCycle2-result.txt} | 0 .../LinkImplementationCycle2-stderr.txt | 0 .../LinkImplementationCycle2.cmake | 5 +- .../LinkImplementationCycle3-result.txt | 0 .../LinkImplementationCycle3.cmake | 5 +- .../LinkImplementationCycle4-result.txt} | 0 .../LinkImplementationCycle4-stderr.txt | 0 .../LinkImplementationCycle4.cmake | 5 +- .../LinkImplementationCycle5-result.txt} | 0 .../LinkImplementationCycle5-stderr.txt | 0 .../LinkImplementationCycle5.cmake | 5 +- .../LinkImplementationCycle6-result.txt} | 0 .../LinkImplementationCycle6-stderr.txt | 0 .../LinkImplementationCycle6.cmake | 5 +- .../RunCMakeTest.cmake | 15 +- .../SOURCES-check.cmake} | 0 .../SOURCES.cmake} | 0 .../Scope-build-stdout.txt | 6 + Tests/RunCMake/GenEx-TARGET_PROPERTY/Scope.c | 12 + .../GenEx-TARGET_PROPERTY/Scope.cmake | 19 + .../Scope1/CMakeLists.txt | 15 + .../Scope2/CMakeLists.txt | 10 + .../empty.c} | 0 .../empty.cpp | 0 .../empty2.c} | 0 .../empty3.c} | 0 .../main.cpp | 0 .../GeneratorExpression/BadCONFIG-stderr.txt | 9 + .../GeneratorExpression/BadCONFIG.cmake | 1 + .../GeneratorExpression/RunCMakeTest.cmake | 5 - .../DefaultInstance-stdout.txt | 1 + .../GeneratorInstance/DefaultInstance.cmake | 2 + .../GetPrerequisites/ExecutableScripts.cmake | 4 +- .../GetPrerequisites/RunCMakeTest.cmake | 2 +- ...Test-discovery-arg-change-typed-stdout.txt | 3 + .../GoogleTest-skip-test-stdout.txt | 5 +- .../GoogleTest/GoogleTest-test1-stdout.txt | 26 + .../GoogleTest/GoogleTest-test2-stdout.txt | 26 + .../GoogleTest/GoogleTest-test4-stdout.txt | 6 + Tests/RunCMake/GoogleTest/GoogleTest.cmake | 4 + Tests/RunCMake/GoogleTest/RunCMakeTest.cmake | 4 + Tests/RunCMake/GoogleTest/fake_gtest.cpp | 9 +- Tests/RunCMake/GoogleTest/skip_test.cpp | 7 + Tests/RunCMake/Ninja/RunCMakeTest.cmake | 15 +- .../ShowIncludes-437-ClangCl-check.cmake | 3 + .../Ninja/ShowIncludes-437-ClangCl-stdout.txt | 1 + .../Ninja/ShowIncludes-437-ClangCl.cmake | 3 + .../ShowIncludes-437-English-check.cmake | 3 + .../Ninja/ShowIncludes-437-English-stdout.txt | 1 + .../Ninja/ShowIncludes-437-English.cmake | 3 + .../Ninja/ShowIncludes-437-French-check.cmake | 3 + .../Ninja/ShowIncludes-437-French-stdout.txt | 1 + .../Ninja/ShowIncludes-437-French.cmake | 3 + .../Ninja/ShowIncludes-437-German-check.cmake | 3 + .../Ninja/ShowIncludes-437-German-stdout.txt | 1 + .../Ninja/ShowIncludes-437-German.cmake | 3 + .../ShowIncludes-437-Italian-check.cmake | 3 + .../Ninja/ShowIncludes-437-Italian-stdout.txt | 1 + .../Ninja/ShowIncludes-437-Italian.cmake | 3 + .../ShowIncludes-437-WineMSVC-check.cmake | 3 + .../ShowIncludes-437-WineMSVC-stdout.txt | 1 + .../Ninja/ShowIncludes-437-WineMSVC.cmake | 3 + ...=> ShowIncludes-54936-Chinese-check.cmake} | 2 +- .../ShowIncludes-54936-Chinese-stdout.txt | 1 + ...cmake => ShowIncludes-54936-Chinese.cmake} | 1 + .../Ninja/ShowIncludes-54936-stdout.txt | 1 - ...=> ShowIncludes-65001-Chinese-check.cmake} | 2 +- .../ShowIncludes-65001-Chinese-stdout.txt | 1 + ...cmake => ShowIncludes-65001-Chinese.cmake} | 1 + .../ShowIncludes-65001-French-check.cmake | 3 + .../ShowIncludes-65001-French-stdout.txt | 1 + .../Ninja/ShowIncludes-65001-French.cmake | 3 + .../ShowIncludes-65001-Japanese-check.cmake | 3 + .../ShowIncludes-65001-Japanese-stdout.txt | 1 + .../Ninja/ShowIncludes-65001-Japanese.cmake | 3 + .../Ninja/ShowIncludes-65001-stdout.txt | 1 - .../ShowIncludes-932-Japanese-check.cmake | 3 + .../ShowIncludes-932-Japanese-stdout.txt | 1 + .../Ninja/ShowIncludes-932-Japanese.cmake | 3 + Tests/RunCMake/Ninja/ShowIncludes-cmake.cmake | 4 + Tests/RunCMake/Ninja/ShowIncludes.cmake | 2 +- .../CompileCommands-check.cmake | 6 +- ...Simple-reconfigure-config-ninja-stdout.txt | 4 +- ...mple-reconfigure-noconfig-ninja-stdout.txt | 4 +- .../ParseImplicitData/hand-C-relative.input | 4 +- .../ParseImplicitData/hand-CXX-relative.input | 4 +- Tests/RunCMake/RunCMake.cmake | 68 +- Tests/RunCMake/RunCTest.cmake | 5 + .../IncrementalSwift-second-result.txt} | 0 .../Swift/IncrementalSwift-second-stderr.txt | 2 + .../Swift/IncrementalSwift-second-stdout.txt | 3 + Tests/RunCMake/Swift/IncrementalSwift.cmake | 22 + .../Swift/NoWorkToDo-nowork-stdout.txt | 1 + Tests/RunCMake/Swift/NoWorkToDo.cmake | 5 + Tests/RunCMake/Swift/RunCMakeTest.cmake | 31 + .../hello.swift} | 0 .../BadNonTarget.cmake | 7 - .../CMakeLists.txt | 8 - Tests/RunCMake/VS10Project/RunCMakeTest.cmake | 7 + .../VS10Project/VsCLREmpty-check.cmake | 24 + Tests/RunCMake/VS10Project/VsCLREmpty.cmake | 6 + .../VS10Project/VsCLRNetcore-check.cmake | 24 + Tests/RunCMake/VS10Project/VsCLRNetcore.cmake | 6 + .../VS10Project/VsCLRPure-check.cmake | 24 + Tests/RunCMake/VS10Project/VsCLRPure.cmake | 6 + .../VS10Project/VsCLRSafe-check.cmake | 24 + Tests/RunCMake/VS10Project/VsCLRSafe.cmake | 6 + .../VSSolution/CMP0143-NEW-check.cmake | 6 + Tests/RunCMake/VSSolution/CMP0143-NEW.cmake | 1 + .../VSSolution/CMP0143-OLD-check.cmake | 6 + Tests/RunCMake/VSSolution/CMP0143-OLD.cmake | 1 + .../VSSolution/CMP0143-WARN-check.cmake | 6 + Tests/RunCMake/VSSolution/CMP0143-WARN.cmake | 1 + Tests/RunCMake/VSSolution/RunCMakeTest.cmake | 3 + Tests/RunCMake/VsDotnetSdk/App.xaml | 9 + Tests/RunCMake/VsDotnetSdk/App.xaml.cs | 17 + Tests/RunCMake/VsDotnetSdk/MainWindow.xaml | 12 + Tests/RunCMake/VsDotnetSdk/MainWindow.xaml.cs | 28 + .../VsDotnetSdk/Resources.Designer.cs | 63 + Tests/RunCMake/VsDotnetSdk/Resources.resx | 117 + Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake | 1 + .../VsDotnetSdkXamlFiles-check.cmake | 56 + .../VsDotnetSdk/VsDotnetSdkXamlFiles.cmake | 48 + ...mbedExtensionKitExtensions-iOS-check.cmake | 4 + .../EmbedExtensionKitExtensions-iOS.cmake | 1 + ...edExtensionKitExtensions-macOS-check.cmake | 4 + .../EmbedExtensionKitExtensions-macOS.cmake | 1 + .../EmbedExtensionKitExtensions.cmake | 22 + .../ExtensionKit.Info.plist.in | 13 + .../XcodeProject-Embed/RunCMakeTest.cmake | 27 + .../InheritedParameters-check.cmake | 24 + .../XcodeProject/InheritedParameters.cmake | 5 + .../RunCMake/XcodeProject/RunCMakeTest.cmake | 2 +- .../add_compile_definitions/CMakeLists.txt | 5 + .../RunCMakeTest.cmake | 13 + Tests/RunCMake/add_compile_definitions/foo.c | 4 + .../remove_leading_minusD.cmake | 6 + .../CommentGenex-build-stdout.txt | 1 + .../add_custom_command/CommentGenex.cmake | 9 + .../add_custom_command/RunCMakeTest.cmake | 9 + .../CommentGenex-build-stdout.txt | 1 + .../add_custom_target/CommentGenex.cmake | 6 + .../add_custom_target/RunCMakeTest.cmake | 9 + .../duplicate-target-CMP0107-OLD-stderr.txt | 10 + .../RerunCMake-rerun-stdout.txt | 4 +- .../configure_file/RerunCMake-stdout.txt | 4 +- .../ctest_environment/RunCMakeTest.cmake | 4 - .../ctest_fixtures/RunCMakeTest.cmake | 4 - .../ctest_memcheck/RunCMakeTest.cmake | 2 - Tests/RunCMake/ctest_test/RunCMakeTest.cmake | 3 - .../export/Repeat-CMP0103-OLD-stderr.txt | 10 + Tests/RunCMake/file-DOWNLOAD/CMakeLists.txt | 3 + .../file-DOWNLOAD/EXPECTED_HASH-stdout.txt | 8 + .../file-DOWNLOAD/EXPECTED_HASH.cmake | 13 + .../RunCMake/file-DOWNLOAD/RunCMakeTest.cmake | 31 + .../file-DOWNLOAD/SHOW_PROGRESS-stdout.txt | 2 + .../file-DOWNLOAD/SHOW_PROGRESS.cmake | 3 + .../file-DOWNLOAD/TLS_VERIFY-bad-stdout.txt | 1 + .../file-DOWNLOAD/TLS_VERIFY-bad.cmake | 6 + .../file-DOWNLOAD/TLS_VERIFY-good-stdout.txt | 1 + .../file-DOWNLOAD/TLS_VERIFY-good.cmake | 6 + .../file-DOWNLOAD/bad-hostname-stdout.txt | 1 + .../RunCMake/file-DOWNLOAD/bad-hostname.cmake | 9 + Tests/RunCMake/file-DOWNLOAD/basic-stdout.txt | 1 + Tests/RunCMake/file-DOWNLOAD/basic.cmake | 3 + Tests/RunCMake/file-DOWNLOAD/common.cmake | 15 + .../file-without-path-stdout.txt | 1 + .../file-DOWNLOAD/file-without-path.cmake | 10 + .../hash-mismatch-result.txt} | 0 .../file-DOWNLOAD/hash-mismatch-stderr.txt | 11 + .../file-DOWNLOAD/hash-mismatch.cmake | 8 + .../httpheader-not-set-result.txt} | 0 .../httpheader-not-set-stderr.txt} | 2 +- .../httpheader-not-set.cmake} | 0 Tests/RunCMake/file-DOWNLOAD/input.png | Bin 0 -> 194 bytes .../netrc-bad-result.txt} | 0 .../netrc-bad-stderr.txt} | 8 +- .../netrc-bad.cmake} | 4 +- .../netrc-bad.txt} | 0 .../RunCMake/file-DOWNLOAD/no-file-arg.cmake | 11 + .../RunCMake/file-DOWNLOAD/no-file-stdout.txt | 1 + Tests/RunCMake/file-DOWNLOAD/no-file.cmake | 11 + .../file-DOWNLOAD/no-save-hash-result.txt | 1 + .../no-save-hash-stderr.txt} | 3 +- .../RunCMake/file-DOWNLOAD/no-save-hash.cmake | 5 + .../no-save-hash.txt} | 0 .../file-DOWNLOAD/pass-not-set-result.txt | 1 + .../pass-not-set-stderr.txt} | 2 +- .../pass-not-set.cmake} | 0 Tests/RunCMake/file-DOWNLOAD/range-stdout.txt | 4 + Tests/RunCMake/file-DOWNLOAD/range.cmake | 15 + .../tls-cainfo-not-set-result.txt | 1 + .../tls-cainfo-not-set-stderr.txt} | 2 +- .../tls-cainfo-not-set.cmake} | 0 .../tls-verify-not-set-result.txt | 1 + .../tls-verify-not-set-stderr.txt} | 2 +- .../tls-verify-not-set.cmake} | 0 .../unused-argument-result.txt} | 0 .../unused-argument-stderr.txt} | 3 +- .../file-DOWNLOAD/unused-argument.cmake | 3 + .../RunCMakeTest.cmake | 7 +- .../linux-parent-rpath-propagation.cmake | 54 + .../linux/parent-rpath-propagation/main.c | 12 + .../linux/parent-rpath-propagation/one.c | 7 + .../linux/parent-rpath-propagation/three.c | 3 + .../linux/parent-rpath-propagation/two.c | 6 + .../COPY_FILE-file-INPUT_MAY_BE_RECENT.cmake | 10 + .../file/COPY_FILE-input-missing-result.txt | 1 + .../file/COPY_FILE-input-missing-stderr.txt | 14 + .../file/COPY_FILE-input-missing.cmake | 3 + .../file/COPY_FILE-output-missing-result.txt | 1 + .../file/COPY_FILE-output-missing-stderr.txt | 14 + .../file/COPY_FILE-output-missing.cmake | 4 + .../file/DOWNLOAD-hash-mismatch-stderr.txt | 12 - .../file/DOWNLOAD-hash-mismatch.cmake | 10 - .../RunCMake/file/DOWNLOAD-no-save-hash.cmake | 8 - .../file/DOWNLOAD-unused-argument.cmake | 8 - .../file/MAKE_DIRECTORY-fail-result.txt | 1 + .../file/MAKE_DIRECTORY-fail-stderr.txt | 9 + Tests/RunCMake/file/MAKE_DIRECTORY-fail.cmake | 2 + Tests/RunCMake/file/RunCMakeTest.cmake | 13 +- .../find_dependency/RunCMakeTest.cmake | 1 + .../find_dependency/transitive-stdout.txt | 9 + .../RunCMake/find_dependency/transitive.cmake | 3 + .../find_dependency/transitive/AConfig.cmake | 1 + .../find_dependency/transitive/BConfig.cmake | 3 + .../find_dependency/transitive/CConfig.cmake | 3 + .../find_dependency/transitive/DConfig.cmake | 5 + .../find_dependency/transitive/EConfig.cmake | 6 + Tests/RunCMake/if/IsDirectoryLong.cmake | 3 + Tests/RunCMake/if/RunCMakeTest.cmake | 1 + Tests/RunCMake/if/exists.cmake | 3 + .../RunCMake/message/ConfigureLog-config.txt | 30 + .../RunCMake/message/ConfigureLog-stdout.txt | 4 + Tests/RunCMake/message/ConfigureLog.cmake | 7 + .../message/ConfigureLogScript-config.txt | 1 + .../message/ConfigureLogScript-stdout.txt | 4 + .../RunCMake/message/ConfigureLogScript.cmake | 1 + Tests/RunCMake/message/RunCMakeTest.cmake | 2 + .../project/CMP0048-OLD-VERSION-stderr.txt | 2 +- Tests/RunCMake/project/CMP0048-OLD-stderr.txt | 2 +- .../RunCMake/project/CMP0048-WARN-stderr.txt | 2 +- Tests/RunCMake/project/CMakeLists.txt | 4 +- .../project/LanguagesTwice-stderr.txt | 2 +- .../project/NoMinimumRequired-stderr.txt | 5 + .../RunCMake/project/NoMinimumRequired.cmake | 0 Tests/RunCMake/project/RunCMakeTest.cmake | 2 + .../project/VersionInvalid-stderr.txt | 2 +- .../VersionMissingLanguages-stderr.txt | 2 +- .../RunCMake/project/VersionTwice-stderr.txt | 2 +- .../project_injected/RunCMakeTest.cmake | 1 + Tests/RunCMake/pseudo_tidy.c | 13 + Tests/RunCMake/showIncludes.c | 105 +- Tests/RunCMake/string/Timestamp-stderr.txt | 2 +- Tests/RunCMake/string/Timestamp.cmake | 2 +- .../RunCMakeTest.cmake | 13 + .../RunCMake/target_compile_definitions/foo.c | 4 + .../remove_leading_minusD.cmake | 9 + .../target_compile_options/RunCMakeTest.cmake | 1 + .../bad_keyword-result.txt | 1 + .../bad_keyword-stderr.txt | 2 + .../target_compile_options/bad_keyword.cmake | 5 + .../CMP0108-OLD-self-link-stderr.txt | 10 + .../FileSetDefaultWrongTypeExperimental.cmake | 2 +- .../FileSetWrongTypeExperimental.cmake | 2 +- .../test_include_dirs/RunCMakeTest.cmake | 4 + .../RunCMake/try_compile/CMP0128-common.cmake | 23 +- Tests/RunCMake/try_compile/ConfigureLog-bad.c | 1 + .../try_compile/ConfigureLog-config.txt | 79 + .../try_compile/ConfigureLog-stdout.txt | 4 + .../RunCMake/try_compile/ConfigureLog-test.c | 4 + Tests/RunCMake/try_compile/ConfigureLog.cmake | 38 + .../try_compile/EmptyValueArgs-stderr.txt | 8 + .../RunCMake/try_compile/EmptyValueArgs.cmake | 3 + .../try_compile/ISPCTargets-stderr.txt | 2 +- Tests/RunCMake/try_compile/Inspect-config.txt | 65 + Tests/RunCMake/try_compile/Inspect.cmake | 27 +- .../try_compile/NoLogDescription-result.txt | 1 + .../try_compile/NoLogDescription-stderr.txt | 7 + .../try_compile/NoLogDescription.cmake | 4 + ...runCMake-rerun-ninja-no-console-stdout.txt | 4 +- .../try_compile/RerunCMake-rerun-stdout.txt | 4 +- .../try_compile/RerunCMake-stdout.txt | 4 +- Tests/RunCMake/try_compile/RunCMakeTest.cmake | 24 +- .../try_compile/SourceFromBadName-config.txt | 11 + Tests/RunCMake/try_compile/Verbose.c | 7 + Tests/RunCMake/try_compile/Verbose.cmake | 15 + .../old_and_new_signature_tests.cmake | 1 + Tests/RunCMake/try_run/ConfigureLog-bad.c | 1 + .../RunCMake/try_run/ConfigureLog-config.txt | 134 ++ .../RunCMake/try_run/ConfigureLog-stdout.txt | 4 + Tests/RunCMake/try_run/ConfigureLog-test.c | 9 + Tests/RunCMake/try_run/ConfigureLog.cmake | 34 + Tests/RunCMake/try_run/CrossCompile.cmake | 8 + Tests/RunCMake/try_run/RunCMakeTest.cmake | 1 + .../try_run/old_and_new_signature_tests.cmake | 2 + Tests/StringFileTest/StringFile.cxx | 2 +- Tests/SwiftMixLib/CMakeLists.txt | 3 + Tests/SwiftMixLib/main.c | 3 + Tests/SwiftOnly/CMakeLists.txt | 11 + Tests/SwiftOnly/SwiftPlugin/CMakeLists.txt | 5 + Tests/SwiftOnly/SwiftPlugin/main.swift | 4 + Tests/SwiftOnly/SwiftPlugin/plugin.swift | 3 + Tests/SystemInformation/CMakeLists.txt | 2 +- Tests/SystemInformation/DumpInformation.cxx | 6 +- Tests/UseSWIG/BasicPerl/CMakeLists.txt | 4 +- Tests/UseSWIG/CMakeLists.txt | 30 + Tests/UseSWIG/LegacyPerl/CMakeLists.txt | 4 +- Tests/VSMARMASM/CMakeLists.txt | 6 + Tests/VSMARMASM/foo.asm | 10 + Tests/VSMARMASM/main.c | 5 + Tests/VSMASM/CMakeLists.txt | 4 +- Tests/VSMASM/foo.asm | 6 + Tests/VSNASM/CMakeLists.txt | 2 + Tests/VSNASM/foo.asm | 6 +- .../VSWinStorePhone/Direct3DApp1/BasicTimer.h | 10 +- Tests/Wrapping/Wrap.c | 3 +- Utilities/ClangTidyModule/CMakeLists.txt | 37 + Utilities/ClangTidyModule/Module.cxx | 38 + .../OstringstreamUseCmstrcatCheck.cxx | 52 + .../OstringstreamUseCmstrcatCheck.h | 21 + .../StringConcatenationUseCmstrcatCheck.cxx | 180 ++ .../StringConcatenationUseCmstrcatCheck.h | 34 + .../ClangTidyModule/Tests/CMakeLists.txt | 18 + .../ClangTidyModule/Tests/RunClangTidy.cmake | 93 + ...make-ostringstream-use-cmstrcat-stdout.txt | 6 + .../cmake-ostringstream-use-cmstrcat.cxx | 10 + ...tring-concatenation-use-cmstrcat-fixit.cxx | 40 + ...ring-concatenation-use-cmstrcat-stdout.txt | 124 ++ ...make-string-concatenation-use-cmstrcat.cxx | 40 + .../cmake-use-bespoke-enum-class-stdout.txt | 18 + .../Tests/cmake-use-bespoke-enum-class.cxx | 63 + .../Tests/cmake-use-cmstrlen-fixit.cxx | 42 + .../Tests/cmake-use-cmstrlen-stdout.txt | 52 + .../Tests/cmake-use-cmstrlen.cxx | 42 + .../Tests/cmake-use-cmsys-fstream-fixit.cxx | 81 + .../Tests/cmake-use-cmsys-fstream-stdout.txt | 155 ++ .../Tests/cmake-use-cmsys-fstream.cxx | 81 + .../Tests/cmake-use-pragma-once-stdout.txt | 25 + .../Tests/cmake-use-pragma-once.cxx | 5 + .../cmake-use-pragma-once-both-fixit.h | 8 + .../cmake-use-pragma-once-both.h | 10 + ...ake-use-pragma-once-include-guards-fixit.h | 6 + .../cmake-use-pragma-once-include-guards.h | 9 + .../cmake-use-pragma-once-neither-fixit.h | 5 + .../cmake-use-pragma-once-neither.h | 4 + .../cmake-use-pragma-once.h | 6 + .../UseBespokeEnumClassCheck.cxx | 35 + .../UseBespokeEnumClassCheck.h | 21 + .../ClangTidyModule/UseCmstrlenCheck.cxx | 78 + Utilities/ClangTidyModule/UseCmstrlenCheck.h | 21 + .../ClangTidyModule/UseCmsysFstreamCheck.cxx | 101 + .../ClangTidyModule/UseCmsysFstreamCheck.h | 24 + .../ClangTidyModule/UsePragmaOnceCheck.cxx | 325 +++ .../ClangTidyModule/UsePragmaOnceCheck.h | 60 + Utilities/Doxygen/CMakeLists.txt | 2 +- Utilities/IWYU/mapping.imp | 4 +- Utilities/Release/win/sign-package.ps1 | 2 +- Utilities/Scripts/clang-format.bash | 16 +- Utilities/Scripts/update-curl.bash | 2 +- Utilities/Scripts/update-nghttp2.bash | 4 +- Utilities/Sphinx/CMakeLists.txt | 110 +- Utilities/Sphinx/cmake.py | 1 + Utilities/Sphinx/conf.py.in | 2 + Utilities/cmcurl/CMake/OtherTests.cmake | 86 +- .../cmcurl/CMake/Platforms/WindowsCache.cmake | 2 - Utilities/cmcurl/CMakeLists.txt | 16 +- Utilities/cmcurl/include/curl/curl.h | 234 +- Utilities/cmcurl/include/curl/curlver.h | 6 +- Utilities/cmcurl/include/curl/easy.h | 2 +- Utilities/cmcurl/include/curl/mprintf.h | 2 +- Utilities/cmcurl/include/curl/multi.h | 8 +- Utilities/cmcurl/include/curl/system.h | 22 +- Utilities/cmcurl/include/curl/typecheck-gcc.h | 194 +- Utilities/cmcurl/lib/CMakeLists.txt | 28 + Utilities/cmcurl/lib/Makefile.inc | 6 +- Utilities/cmcurl/lib/altsvc.c | 16 +- Utilities/cmcurl/lib/asyn-ares.c | 9 - Utilities/cmcurl/lib/asyn-thread.c | 19 +- Utilities/cmcurl/lib/base64.c | 197 +- Utilities/cmcurl/lib/c-hyper.c | 71 +- Utilities/cmcurl/lib/cfilters.c | 502 +++++ Utilities/cmcurl/lib/cfilters.h | 315 +++ Utilities/cmcurl/lib/connect.c | 459 ++-- Utilities/cmcurl/lib/connect.h | 16 +- Utilities/cmcurl/lib/cookie.c | 26 +- Utilities/cmcurl/lib/curl_addrinfo.c | 5 - Utilities/cmcurl/lib/curl_config.h.cmake | 12 - Utilities/cmcurl/lib/curl_endian.h | 9 - Utilities/cmcurl/lib/curl_fnmatch.c | 7 +- Utilities/cmcurl/lib/curl_get_line.c | 30 +- Utilities/cmcurl/lib/curl_ntlm_core.c | 9 +- Utilities/cmcurl/lib/curl_ntlm_wb.c | 2 +- Utilities/cmcurl/lib/curl_path.c | 14 +- Utilities/cmcurl/lib/curl_range.c | 4 +- Utilities/cmcurl/lib/curl_rtmp.c | 12 +- Utilities/cmcurl/lib/curl_sasl.c | 11 +- Utilities/cmcurl/lib/curl_setup.h | 10 +- Utilities/cmcurl/lib/curl_setup_once.h | 5 +- Utilities/cmcurl/lib/curl_sha256.h | 2 +- Utilities/cmcurl/lib/curl_threads.c | 4 +- Utilities/cmcurl/lib/dict.c | 2 +- Utilities/cmcurl/lib/easy.c | 5 +- Utilities/cmcurl/lib/easyoptions.c | 4 +- Utilities/cmcurl/lib/escape.c | 2 +- Utilities/cmcurl/lib/file.c | 25 +- Utilities/cmcurl/lib/formdata.c | 22 +- Utilities/cmcurl/lib/ftp.c | 250 +-- Utilities/cmcurl/lib/ftplistparser.c | 6 +- Utilities/cmcurl/lib/getinfo.c | 8 +- Utilities/cmcurl/lib/gopher.c | 7 +- Utilities/cmcurl/lib/h2h3.c | 2 +- Utilities/cmcurl/lib/h2h3.h | 2 +- Utilities/cmcurl/lib/hostasyn.c | 4 - Utilities/cmcurl/lib/hostip.c | 4 - Utilities/cmcurl/lib/hostip.h | 5 - Utilities/cmcurl/lib/hostip4.c | 15 +- Utilities/cmcurl/lib/hostip6.c | 4 - Utilities/cmcurl/lib/hostsyn.c | 4 - Utilities/cmcurl/lib/hsts.c | 9 +- Utilities/cmcurl/lib/http.c | 254 +-- Utilities/cmcurl/lib/http.h | 2 +- Utilities/cmcurl/lib/http2.c | 14 +- Utilities/cmcurl/lib/http2.h | 2 +- Utilities/cmcurl/lib/http_aws_sigv4.c | 74 +- Utilities/cmcurl/lib/http_chunks.c | 2 +- Utilities/cmcurl/lib/http_digest.c | 2 +- Utilities/cmcurl/lib/http_ntlm.c | 2 +- Utilities/cmcurl/lib/http_proxy.c | 1884 +++++++++-------- Utilities/cmcurl/lib/http_proxy.h | 50 +- Utilities/cmcurl/lib/idn.c | 193 ++ Utilities/cmcurl/lib/idn.h | 38 + Utilities/cmcurl/lib/idn_win32.c | 121 -- Utilities/cmcurl/lib/imap.c | 30 +- Utilities/cmcurl/lib/krb5.c | 19 +- Utilities/cmcurl/lib/ldap.c | 8 +- Utilities/cmcurl/lib/md4.c | 73 +- Utilities/cmcurl/lib/md5.c | 65 +- Utilities/cmcurl/lib/mime.c | 34 +- Utilities/cmcurl/lib/mime.h | 16 +- Utilities/cmcurl/lib/mqtt.c | 4 +- Utilities/cmcurl/lib/multi.c | 241 ++- Utilities/cmcurl/lib/multihandle.h | 8 + Utilities/cmcurl/lib/nonblock.c | 3 - Utilities/cmcurl/lib/noproxy.c | 69 +- Utilities/cmcurl/lib/openldap.c | 6 +- Utilities/cmcurl/lib/pingpong.c | 5 +- Utilities/cmcurl/lib/pop3.c | 32 +- Utilities/cmcurl/lib/rand.c | 4 + Utilities/cmcurl/lib/rtsp.c | 32 +- Utilities/cmcurl/lib/rtsp.h | 2 +- Utilities/cmcurl/lib/sendf.c | 99 +- Utilities/cmcurl/lib/sendf.h | 5 +- Utilities/cmcurl/lib/setopt.c | 56 +- Utilities/cmcurl/lib/setup-os400.h | 8 +- Utilities/cmcurl/lib/sha256.c | 73 +- Utilities/cmcurl/lib/smb.c | 25 +- Utilities/cmcurl/lib/smtp.c | 53 +- Utilities/cmcurl/lib/socks.c | 457 ++-- Utilities/cmcurl/lib/socks.h | 30 +- Utilities/cmcurl/lib/strcase.c | 49 +- Utilities/cmcurl/lib/strcase.h | 8 +- Utilities/cmcurl/lib/strtoofft.c | 1 + Utilities/cmcurl/lib/telnet.c | 16 +- Utilities/cmcurl/lib/transfer.c | 198 +- Utilities/cmcurl/lib/transfer.h | 1 - Utilities/cmcurl/lib/url.c | 448 ++-- Utilities/cmcurl/lib/url.h | 22 - Utilities/cmcurl/lib/urlapi.c | 2 +- Utilities/cmcurl/lib/urldata.h | 114 +- Utilities/cmcurl/lib/vauth/digest.c | 12 +- Utilities/cmcurl/lib/vauth/digest_sspi.c | 4 +- Utilities/cmcurl/lib/vauth/krb5_sspi.c | 2 +- Utilities/cmcurl/lib/vauth/ntlm.c | 2 - Utilities/cmcurl/lib/vauth/ntlm.h | 3 - Utilities/cmcurl/lib/vauth/vauth.h | 4 +- Utilities/cmcurl/lib/version.c | 199 +- Utilities/cmcurl/lib/vquic/ngtcp2.c | 160 +- Utilities/cmcurl/lib/vquic/ngtcp2.h | 7 +- Utilities/cmcurl/lib/vquic/quiche.c | 5 +- Utilities/cmcurl/lib/vssh/libssh.c | 18 +- Utilities/cmcurl/lib/vssh/libssh2.c | 28 +- Utilities/cmcurl/lib/vssh/wolfssh.c | 6 +- Utilities/cmcurl/lib/vtls/bearssl.c | 186 +- Utilities/cmcurl/lib/vtls/gskit.c | 223 +- Utilities/cmcurl/lib/vtls/gtls.c | 662 +++--- Utilities/cmcurl/lib/vtls/gtls.h | 41 +- Utilities/cmcurl/lib/vtls/mbedtls.c | 238 ++- .../cmcurl/lib/vtls/mbedtls_threadlock.c | 13 +- .../cmcurl/lib/vtls/mbedtls_threadlock.h | 2 +- Utilities/cmcurl/lib/vtls/nss.c | 332 +-- Utilities/cmcurl/lib/vtls/openssl.c | 1781 ++++++++++------ Utilities/cmcurl/lib/vtls/rustls.c | 163 +- Utilities/cmcurl/lib/vtls/schannel.c | 293 ++- Utilities/cmcurl/lib/vtls/schannel.h | 7 +- Utilities/cmcurl/lib/vtls/schannel_verify.c | 24 +- Utilities/cmcurl/lib/vtls/sectransp.c | 532 +++-- Utilities/cmcurl/lib/vtls/vtls.c | 753 +++++-- Utilities/cmcurl/lib/vtls/vtls.h | 255 +-- Utilities/cmcurl/lib/vtls/vtls_int.h | 190 ++ Utilities/cmcurl/lib/vtls/wolfssl.c | 367 ++-- Utilities/cmcurl/lib/vtls/x509asn1.c | 62 +- Utilities/cmcurl/lib/vtls/x509asn1.h | 3 +- Utilities/cmcurl/lib/ws.c | 369 ++-- Utilities/cmcurl/lib/ws.h | 6 +- Utilities/cmnghttp2/CMakeLists.txt | 1 + Utilities/cmnghttp2/cmakeconfig.h.in | 3 - .../cmnghttp2/lib/includes/nghttp2/nghttp2.h | 1150 ++++++---- .../lib/includes/nghttp2/nghttp2ver.h | 4 +- Utilities/cmnghttp2/lib/nghttp2_buf.c | 6 +- Utilities/cmnghttp2/lib/nghttp2_buf.h | 2 +- Utilities/cmnghttp2/lib/nghttp2_extpri.c | 35 + Utilities/cmnghttp2/lib/nghttp2_extpri.h | 65 + Utilities/cmnghttp2/lib/nghttp2_frame.c | 111 +- Utilities/cmnghttp2/lib/nghttp2_frame.h | 49 +- Utilities/cmnghttp2/lib/nghttp2_hd.c | 14 +- Utilities/cmnghttp2/lib/nghttp2_hd.h | 1 + Utilities/cmnghttp2/lib/nghttp2_helper.c | 176 +- Utilities/cmnghttp2/lib/nghttp2_http.c | 813 ++++++- Utilities/cmnghttp2/lib/nghttp2_http.h | 51 + Utilities/cmnghttp2/lib/nghttp2_map.c | 280 ++- Utilities/cmnghttp2/lib/nghttp2_map.h | 70 +- Utilities/cmnghttp2/lib/nghttp2_net.h | 14 +- Utilities/cmnghttp2/lib/nghttp2_option.c | 22 + Utilities/cmnghttp2/lib/nghttp2_option.h | 15 + .../cmnghttp2/lib/nghttp2_outbound_item.c | 3 + .../cmnghttp2/lib/nghttp2_outbound_item.h | 2 +- Utilities/cmnghttp2/lib/nghttp2_pq.c | 3 +- Utilities/cmnghttp2/lib/nghttp2_pq.h | 10 +- Utilities/cmnghttp2/lib/nghttp2_session.c | 840 +++++++- Utilities/cmnghttp2/lib/nghttp2_session.h | 77 +- Utilities/cmnghttp2/lib/nghttp2_stream.c | 21 +- Utilities/cmnghttp2/lib/nghttp2_stream.h | 26 +- Utilities/cmnghttp2/lib/nghttp2_submit.c | 102 +- Utilities/cmzlib/cm_zlib_mangle.h | 3 +- Utilities/std/cm/bits/string_view.cxx | 36 +- Utilities/std/cm/string_view | 4 +- Utilities/std/cmext/iterator | 8 +- 1502 files changed, 29777 insertions(+), 13838 deletions(-) create mode 100644 Help/command/GENEX_NOTE.txt create mode 100644 Help/command/SUPPORTED_LANGUAGES.txt create mode 100644 Help/envvar/CTEST_NO_TESTS_ACTION.rst create mode 100644 Help/manual/cmake-configure-log.7.rst create mode 100644 Help/policy/CMP0143.rst create mode 100644 Help/prop_sf/CXX_SCAN_FOR_MODULES.rst create mode 100644 Help/prop_tgt/CXX_SCAN_FOR_MODULES.rst create mode 100644 Help/prop_tgt/LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst create mode 100644 Help/release/3.26.rst create mode 100644 Help/variable/CMAKE_CXX_SCAN_FOR_MODULES.rst create mode 100644 Help/variable/CMAKE_LANG_CLANG_TIDY_EXPORT_FIXES_DIR.rst create mode 100644 Help/variable/CMAKE_VS_VERSION_BUILD_NUMBER.rst create mode 100644 Help/variable/CMAKE_VS_VERSION_BUILD_NUMBER_COMPONENTS.txt create mode 100644 Modules/CMakeASM_MARMASMInformation.cmake create mode 100644 Modules/CMakeDetermineASM_MARMASMCompiler.cmake create mode 100644 Modules/CMakeTestASM_MARMASMCompiler.cmake create mode 100644 Modules/Platform/Windows3x-OpenWatcom-C.cmake create mode 100644 Modules/Platform/Windows3x-OpenWatcom-CXX.cmake create mode 100644 Modules/Platform/Windows3x-OpenWatcom.cmake create mode 100644 Modules/Platform/Windows3x.cmake create mode 100644 Source/cmConfigureLog.cxx create mode 100644 Source/cmConfigureLog.h delete mode 100644 Source/cmDocumentationSection.cxx create mode 100644 Source/cmDyndepCollation.cxx create mode 100644 Source/cmDyndepCollation.h create mode 100644 Source/cmFileAPIConfigureLog.cxx create mode 100644 Source/cmFileAPIConfigureLog.h create mode 100644 Templates/MSBuild/FlagTables/v10_MARMASM.json create mode 100644 Tests/CMakeCommands/target_include_directories/same.c create mode 100644 Tests/CMakeCommands/target_include_directories/same_one/same.h create mode 100644 Tests/CMakeCommands/target_include_directories/same_two/same.h delete mode 100644 Tests/CMakeTests/FileDownloadBadHashTest.cmake.in delete mode 100644 Tests/CMakeTests/FileDownloadTest.cmake.in rename Tests/CMakeTests/{FileDownloadInput.png => FileUploadInput.png} (100%) create mode 100644 Tests/CMakeTests/String-TIMESTAMP-TimeZone.cmake create mode 100644 Tests/CompileFeatures/msvc_permissive.cxx create mode 100644 Tests/CustomCommandByproducts/ExternalLibraryByproducts.c create mode 100644 Tests/FindImageMagick/CMakeLists.txt create mode 100644 Tests/FindImageMagick/Test/CMakeLists.txt create mode 100644 Tests/FindImageMagick/Test/main_magick++.cxx create mode 100644 Tests/FindImageMagick/Test/main_magick_wand.c create mode 100644 Tests/FindPython/Python2SABIModule/CMakeLists.txt create mode 100644 Tests/FindPython/Python3SABIModule/CMakeLists.txt create mode 100644 Tests/FortranModules/Library/cycleA1.f90 create mode 100644 Tests/FortranModules/Library/cycleA2.f90 create mode 100644 Tests/FortranModules/Library/cycleB1.f90 create mode 100644 Tests/FortranModules/Library/cycleB2.f90 create mode 100644 Tests/RunCMake/CMP0104/CMP0104-OLD-stderr.txt create mode 100644 Tests/RunCMake/CMP0106/CMP0106-OLD-stderr.txt rename Tests/RunCMake/{Configure/ErrorLogs-result.txt => CTestCommandLine/no-tests_env_bad-result.txt} (100%) create mode 100644 Tests/RunCMake/CTestCommandLine/no-tests_env_bad-stderr.txt create mode 100644 Tests/RunCMake/CTestCommandLine/no-tests_env_bad_with_cli_error-result.txt create mode 100644 Tests/RunCMake/CTestCommandLine/no-tests_env_bad_with_cli_error-stderr.txt create mode 100644 Tests/RunCMake/CTestCommandLine/no-tests_env_empty_legacy-stderr.txt create mode 100644 Tests/RunCMake/CTestCommandLine/no-tests_env_error-result.txt create mode 100644 Tests/RunCMake/CTestCommandLine/no-tests_env_error-stderr.txt rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/BadInvalidName-result.txt => CXXModules/examples/circular-build-result.txt} (100%) create mode 100644 Tests/RunCMake/CXXModules/examples/circular-build-stdout.txt create mode 100644 Tests/RunCMake/CXXModules/examples/circular-stderr.txt create mode 100644 Tests/RunCMake/CXXModules/examples/circular/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/circular/circular-a.cppm create mode 100644 Tests/RunCMake/CXXModules/examples/circular/circular-b.cppm create mode 100644 Tests/RunCMake/CXXModules/examples/duplicate-stderr.txt create mode 100644 Tests/RunCMake/CXXModules/examples/duplicate/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/duplicate/duplicate.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/duplicate/main.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build-stderr.txt create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/forward.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/importable.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/private.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/test/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install-stderr.txt create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/forward.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/importable.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/private.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/test/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties-stderr.txt create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties/CMakeLists.txt create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties/always_scan.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties/join.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties/main.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties/module.cxx create mode 100644 Tests/RunCMake/CXXModules/examples/scan_properties/never_scan.cxx create mode 100644 Tests/RunCMake/CheckCompilerFlag/CheckCompilerFlagSwift.cmake create mode 100644 Tests/RunCMake/CheckSourceCompiles/CheckSourceCompilesSwift.cmake create mode 100644 Tests/RunCMake/ClangTidy/ExportFixesDir-Build-check.cmake create mode 100644 Tests/RunCMake/ClangTidy/ExportFixesDir.cmake create mode 100644 Tests/RunCMake/ClangTidy/ExportFixesDir2-Build-check.cmake create mode 100644 Tests/RunCMake/ClangTidy/ExportFixesDir2-check.cmake create mode 100644 Tests/RunCMake/ClangTidy/ExportFixesDir2.cmake create mode 100644 Tests/RunCMake/ClangTidy/export_fixes_subdir/CMakeLists.txt create mode 100644 Tests/RunCMake/ClangTidy/extra.c create mode 100644 Tests/RunCMake/CommandLine/E___run_co_compile-tidy-remove-fixes-check.cmake create mode 100644 Tests/RunCMake/CommandLine/E___run_co_compile-tidy-remove-fixes-prep.cmake rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/BadNonTarget-result.txt => CommandLine/E_copy-t-argument-target-is-file-result.txt} (100%) create mode 100644 Tests/RunCMake/CommandLine/E_copy-t-argument-target-is-file-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/Envgen-bad-help-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/Envgen-bad-help-stdout.txt create mode 100644 Tests/RunCMake/CommandLine/Envgen-ninja-multi-help-stdout.txt create mode 100644 Tests/RunCMake/CommandLine/P_P_in_arbitrary_args-stdout.txt create mode 100644 Tests/RunCMake/CommandLine/P_P_in_arbitrary_args_2-stdout.txt rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/BadSelfReference-result.txt => CommandLine/build-no-dir2-result.txt} (100%) create mode 100644 Tests/RunCMake/CommandLine/build-no-dir2-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/trace-try_compile-redirect-check.cmake create mode 100644 Tests/RunCMake/CommandLine/trace-try_compile-redirect.cmake create mode 100644 Tests/RunCMake/CommandLine/trace-try_compile-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/trace-try_compile.cmake create mode 100644 Tests/RunCMake/CompileDefinitions/RemoveLeadingMinusD.cmake create mode 100644 Tests/RunCMake/CompileDefinitions/foo.c delete mode 100644 Tests/RunCMake/Configure/ErrorLogs-stderr.txt delete mode 100644 Tests/RunCMake/Configure/ErrorLogs-stdout.txt delete mode 100644 Tests/RunCMake/Configure/ErrorLogs.cmake create mode 100644 Tests/RunCMake/ExportImport/BuildInstallInterfaceGenex-export.cmake create mode 100644 Tests/RunCMake/ExportImport/BuildInstallInterfaceGenex-import.cmake create mode 100644 Tests/RunCMake/ExportImport/buildlib.c create mode 100644 Tests/RunCMake/ExportImport/installlib.c create mode 100644 Tests/RunCMake/ExportImport/locallib.c create mode 100644 Tests/RunCMake/ExternalProject/InstallBuilds-build-stdout.txt create mode 100644 Tests/RunCMake/ExternalProject/InstallBuilds.cmake create mode 100644 Tests/RunCMake/ExternalProject/InstallBuilds/CMakeLists.txt create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-ClientStateful-check.cmake create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-ClientStateful-prep.cmake create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-ClientStateless-check.cmake create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-ClientStateless-prep.cmake create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-SharedStateless-check.cmake create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-SharedStateless-prep.cmake create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1-check.py create mode 100644 Tests/RunCMake/FileAPI/configureLog-v1.cmake rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-ALIAS_GLOBAL-check.cmake => GenEx-TARGET_PROPERTY/ALIAS_GLOBAL-check.cmake} (100%) rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-ALIAS_GLOBAL.cmake => GenEx-TARGET_PROPERTY/ALIAS_GLOBAL.cmake} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/LinkImplementationCycle1-result.txt => GenEx-TARGET_PROPERTY/BadInvalidName-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName.cmake (67%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName1/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName2/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName3/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName4/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName5/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName6/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName7/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadInvalidName8/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/LinkImplementationCycle2-result.txt => GenEx-TARGET_PROPERTY/BadNonTarget-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadNonTarget-stderr.txt (82%) create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/BadNonTarget.cmake rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/LinkImplementationCycle4-result.txt => GenEx-TARGET_PROPERTY/BadSelfReference-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference.cmake (62%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference1/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference2/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference3/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference4/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference5/CMakeLists.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/BadSelfReference6/CMakeLists.txt (100%) create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/CMakeLists.txt rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-INCLUDE_DIRECTORIES-check.cmake => GenEx-TARGET_PROPERTY/INCLUDE_DIRECTORIES-check.cmake} (100%) rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-INCLUDE_DIRECTORIES.cmake => GenEx-TARGET_PROPERTY/INCLUDE_DIRECTORIES.cmake} (100%) rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-LOCATION-stderr.txt => GenEx-TARGET_PROPERTY/LOCATION-stderr.txt} (100%) rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-LOCATION.cmake => GenEx-TARGET_PROPERTY/LOCATION.cmake} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt => GenEx-TARGET_PROPERTY/LinkImplementationCycle1-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle1-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle1.cmake (58%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions/LinkImplementationCycle6-result.txt => GenEx-TARGET_PROPERTY/LinkImplementationCycle2-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle2-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle2.cmake (59%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle3-result.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle3.cmake (70%) rename Tests/RunCMake/{file/DOWNLOAD-hash-mismatch-result.txt => GenEx-TARGET_PROPERTY/LinkImplementationCycle4-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle4-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle4.cmake (77%) rename Tests/RunCMake/{file/DOWNLOAD-httpheader-not-set-result.txt => GenEx-TARGET_PROPERTY/LinkImplementationCycle5-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle5-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle5.cmake (69%) rename Tests/RunCMake/{file/DOWNLOAD-netrc-bad-result.txt => GenEx-TARGET_PROPERTY/LinkImplementationCycle6-result.txt} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle6-stderr.txt (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/LinkImplementationCycle6.cmake (77%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/RunCMakeTest.cmake (50%) rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-SOURCES-check.cmake => GenEx-TARGET_PROPERTY/SOURCES-check.cmake} (100%) rename Tests/RunCMake/{GeneratorExpression/TARGET_PROPERTY-SOURCES.cmake => GenEx-TARGET_PROPERTY/SOURCES.cmake} (100%) create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/Scope-build-stdout.txt create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/Scope.c create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/Scope.cmake create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/Scope1/CMakeLists.txt create mode 100644 Tests/RunCMake/GenEx-TARGET_PROPERTY/Scope2/CMakeLists.txt rename Tests/RunCMake/{GeneratorExpression/empty2.c => GenEx-TARGET_PROPERTY/empty.c} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/empty.cpp (100%) rename Tests/RunCMake/{GeneratorExpression/empty3.c => GenEx-TARGET_PROPERTY/empty2.c} (100%) rename Tests/RunCMake/{file/DOWNLOAD-hash-mismatch.txt => GenEx-TARGET_PROPERTY/empty3.c} (100%) rename Tests/RunCMake/{TargetPropertyGeneratorExpressions => GenEx-TARGET_PROPERTY}/main.cpp (100%) create mode 100644 Tests/RunCMake/GeneratorInstance/DefaultInstance-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-English-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-English-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-English.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-French-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-French-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-French.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-German-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-German-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-German.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-Italian-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-Italian-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-Italian.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-WineMSVC-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-WineMSVC-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-WineMSVC.cmake rename Tests/RunCMake/Ninja/{ShowIncludes-54936-check.cmake => ShowIncludes-54936-Chinese-check.cmake} (90%) create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-54936-Chinese-stdout.txt rename Tests/RunCMake/Ninja/{ShowIncludes-54936.cmake => ShowIncludes-54936-Chinese.cmake} (81%) delete mode 100644 Tests/RunCMake/Ninja/ShowIncludes-54936-stdout.txt rename Tests/RunCMake/Ninja/{ShowIncludes-65001-check.cmake => ShowIncludes-65001-Chinese-check.cmake} (81%) create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-Chinese-stdout.txt rename Tests/RunCMake/Ninja/{ShowIncludes-65001.cmake => ShowIncludes-65001-Chinese.cmake} (81%) create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-French-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-French-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-French.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-Japanese-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-Japanese-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-Japanese.cmake delete mode 100644 Tests/RunCMake/Ninja/ShowIncludes-65001-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-932-Japanese-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-932-Japanese-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-932-Japanese.cmake rename Tests/RunCMake/{file/DOWNLOAD-no-save-hash-result.txt => Swift/IncrementalSwift-second-result.txt} (100%) create mode 100644 Tests/RunCMake/Swift/IncrementalSwift-second-stderr.txt create mode 100644 Tests/RunCMake/Swift/IncrementalSwift-second-stdout.txt create mode 100644 Tests/RunCMake/Swift/IncrementalSwift.cmake create mode 100644 Tests/RunCMake/Swift/NoWorkToDo-nowork-stdout.txt create mode 100644 Tests/RunCMake/Swift/NoWorkToDo.cmake rename Tests/RunCMake/{file/DOWNLOAD-netrc-bad.txt => Swift/hello.swift} (100%) delete mode 100644 Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget.cmake delete mode 100644 Tests/RunCMake/TargetPropertyGeneratorExpressions/CMakeLists.txt create mode 100644 Tests/RunCMake/VS10Project/VsCLREmpty-check.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLREmpty.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLRNetcore-check.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLRNetcore.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLRPure-check.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLRPure.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLRSafe-check.cmake create mode 100644 Tests/RunCMake/VS10Project/VsCLRSafe.cmake create mode 100644 Tests/RunCMake/VSSolution/CMP0143-NEW-check.cmake create mode 100644 Tests/RunCMake/VSSolution/CMP0143-NEW.cmake create mode 100644 Tests/RunCMake/VSSolution/CMP0143-OLD-check.cmake create mode 100644 Tests/RunCMake/VSSolution/CMP0143-OLD.cmake create mode 100644 Tests/RunCMake/VSSolution/CMP0143-WARN-check.cmake create mode 100644 Tests/RunCMake/VSSolution/CMP0143-WARN.cmake create mode 100644 Tests/RunCMake/VsDotnetSdk/App.xaml create mode 100644 Tests/RunCMake/VsDotnetSdk/App.xaml.cs create mode 100644 Tests/RunCMake/VsDotnetSdk/MainWindow.xaml create mode 100644 Tests/RunCMake/VsDotnetSdk/MainWindow.xaml.cs create mode 100644 Tests/RunCMake/VsDotnetSdk/Resources.Designer.cs create mode 100644 Tests/RunCMake/VsDotnetSdk/Resources.resx create mode 100644 Tests/RunCMake/VsDotnetSdk/VsDotnetSdkXamlFiles-check.cmake create mode 100644 Tests/RunCMake/VsDotnetSdk/VsDotnetSdkXamlFiles.cmake create mode 100644 Tests/RunCMake/XcodeProject-Embed/EmbedExtensionKitExtensions-iOS-check.cmake create mode 100644 Tests/RunCMake/XcodeProject-Embed/EmbedExtensionKitExtensions-iOS.cmake create mode 100644 Tests/RunCMake/XcodeProject-Embed/EmbedExtensionKitExtensions-macOS-check.cmake create mode 100644 Tests/RunCMake/XcodeProject-Embed/EmbedExtensionKitExtensions-macOS.cmake create mode 100644 Tests/RunCMake/XcodeProject-Embed/EmbedExtensionKitExtensions.cmake create mode 100644 Tests/RunCMake/XcodeProject-Embed/ExtensionKit.Info.plist.in create mode 100644 Tests/RunCMake/add_compile_definitions/CMakeLists.txt create mode 100644 Tests/RunCMake/add_compile_definitions/RunCMakeTest.cmake create mode 100644 Tests/RunCMake/add_compile_definitions/foo.c create mode 100644 Tests/RunCMake/add_compile_definitions/remove_leading_minusD.cmake create mode 100644 Tests/RunCMake/add_custom_command/CommentGenex-build-stdout.txt create mode 100644 Tests/RunCMake/add_custom_command/CommentGenex.cmake create mode 100644 Tests/RunCMake/add_custom_target/CommentGenex-build-stdout.txt create mode 100644 Tests/RunCMake/add_custom_target/CommentGenex.cmake create mode 100644 Tests/RunCMake/alias_targets/duplicate-target-CMP0107-OLD-stderr.txt create mode 100644 Tests/RunCMake/export/Repeat-CMP0103-OLD-stderr.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/CMakeLists.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/EXPECTED_HASH-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/EXPECTED_HASH.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/RunCMakeTest.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/SHOW_PROGRESS-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/SHOW_PROGRESS.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/TLS_VERIFY-bad-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/TLS_VERIFY-bad.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/TLS_VERIFY-good-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/TLS_VERIFY-good.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/bad-hostname-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/bad-hostname.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/basic-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/basic.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/common.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/file-without-path-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/file-without-path.cmake rename Tests/RunCMake/{file/DOWNLOAD-pass-not-set-result.txt => file-DOWNLOAD/hash-mismatch-result.txt} (100%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/hash-mismatch-stderr.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/hash-mismatch.cmake rename Tests/RunCMake/{file/DOWNLOAD-tls-cainfo-not-set-result.txt => file-DOWNLOAD/httpheader-not-set-result.txt} (100%) rename Tests/RunCMake/{file/DOWNLOAD-httpheader-not-set-stderr.txt => file-DOWNLOAD/httpheader-not-set-stderr.txt} (64%) rename Tests/RunCMake/{file/DOWNLOAD-httpheader-not-set.cmake => file-DOWNLOAD/httpheader-not-set.cmake} (100%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/input.png rename Tests/RunCMake/{file/DOWNLOAD-tls-verify-not-set-result.txt => file-DOWNLOAD/netrc-bad-result.txt} (100%) rename Tests/RunCMake/{file/DOWNLOAD-netrc-bad-stderr.txt => file-DOWNLOAD/netrc-bad-stderr.txt} (70%) rename Tests/RunCMake/{file/DOWNLOAD-netrc-bad.cmake => file-DOWNLOAD/netrc-bad.cmake} (68%) rename Tests/RunCMake/{file/DOWNLOAD-no-save-hash.txt => file-DOWNLOAD/netrc-bad.txt} (100%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/no-file-arg.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/no-file-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/no-file.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/no-save-hash-result.txt rename Tests/RunCMake/{file/DOWNLOAD-no-save-hash-stderr.txt => file-DOWNLOAD/no-save-hash-stderr.txt} (59%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/no-save-hash.cmake rename Tests/RunCMake/{file/DOWNLOAD-unused-argument-result.txt => file-DOWNLOAD/no-save-hash.txt} (100%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/pass-not-set-result.txt rename Tests/RunCMake/{file/DOWNLOAD-pass-not-set-stderr.txt => file-DOWNLOAD/pass-not-set-stderr.txt} (66%) rename Tests/RunCMake/{file/DOWNLOAD-pass-not-set.cmake => file-DOWNLOAD/pass-not-set.cmake} (100%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/range-stdout.txt create mode 100644 Tests/RunCMake/file-DOWNLOAD/range.cmake create mode 100644 Tests/RunCMake/file-DOWNLOAD/tls-cainfo-not-set-result.txt rename Tests/RunCMake/{file/DOWNLOAD-tls-cainfo-not-set-stderr.txt => file-DOWNLOAD/tls-cainfo-not-set-stderr.txt} (65%) rename Tests/RunCMake/{file/DOWNLOAD-tls-cainfo-not-set.cmake => file-DOWNLOAD/tls-cainfo-not-set.cmake} (100%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/tls-verify-not-set-result.txt rename Tests/RunCMake/{file/DOWNLOAD-tls-verify-not-set-stderr.txt => file-DOWNLOAD/tls-verify-not-set-stderr.txt} (65%) rename Tests/RunCMake/{file/DOWNLOAD-tls-verify-not-set.cmake => file-DOWNLOAD/tls-verify-not-set.cmake} (100%) rename Tests/RunCMake/{file/DOWNLOAD-unused-argument.txt => file-DOWNLOAD/unused-argument-result.txt} (100%) rename Tests/RunCMake/{file/DOWNLOAD-unused-argument-stderr.txt => file-DOWNLOAD/unused-argument-stderr.txt} (62%) create mode 100644 Tests/RunCMake/file-DOWNLOAD/unused-argument.cmake create mode 100644 Tests/RunCMake/file-GET_RUNTIME_DEPENDENCIES/linux-parent-rpath-propagation.cmake create mode 100644 Tests/RunCMake/file-GET_RUNTIME_DEPENDENCIES/linux/parent-rpath-propagation/main.c create mode 100644 Tests/RunCMake/file-GET_RUNTIME_DEPENDENCIES/linux/parent-rpath-propagation/one.c create mode 100644 Tests/RunCMake/file-GET_RUNTIME_DEPENDENCIES/linux/parent-rpath-propagation/three.c create mode 100644 Tests/RunCMake/file-GET_RUNTIME_DEPENDENCIES/linux/parent-rpath-propagation/two.c create mode 100644 Tests/RunCMake/file/COPY_FILE-file-INPUT_MAY_BE_RECENT.cmake create mode 100644 Tests/RunCMake/file/COPY_FILE-input-missing-result.txt create mode 100644 Tests/RunCMake/file/COPY_FILE-input-missing-stderr.txt create mode 100644 Tests/RunCMake/file/COPY_FILE-input-missing.cmake create mode 100644 Tests/RunCMake/file/COPY_FILE-output-missing-result.txt create mode 100644 Tests/RunCMake/file/COPY_FILE-output-missing-stderr.txt create mode 100644 Tests/RunCMake/file/COPY_FILE-output-missing.cmake delete mode 100644 Tests/RunCMake/file/DOWNLOAD-hash-mismatch-stderr.txt delete mode 100644 Tests/RunCMake/file/DOWNLOAD-hash-mismatch.cmake delete mode 100644 Tests/RunCMake/file/DOWNLOAD-no-save-hash.cmake delete mode 100644 Tests/RunCMake/file/DOWNLOAD-unused-argument.cmake create mode 100644 Tests/RunCMake/file/MAKE_DIRECTORY-fail-result.txt create mode 100644 Tests/RunCMake/file/MAKE_DIRECTORY-fail-stderr.txt create mode 100644 Tests/RunCMake/file/MAKE_DIRECTORY-fail.cmake create mode 100644 Tests/RunCMake/find_dependency/transitive-stdout.txt create mode 100644 Tests/RunCMake/find_dependency/transitive.cmake create mode 100644 Tests/RunCMake/find_dependency/transitive/AConfig.cmake create mode 100644 Tests/RunCMake/find_dependency/transitive/BConfig.cmake create mode 100644 Tests/RunCMake/find_dependency/transitive/CConfig.cmake create mode 100644 Tests/RunCMake/find_dependency/transitive/DConfig.cmake create mode 100644 Tests/RunCMake/find_dependency/transitive/EConfig.cmake create mode 100644 Tests/RunCMake/if/exists.cmake create mode 100644 Tests/RunCMake/message/ConfigureLog-config.txt create mode 100644 Tests/RunCMake/message/ConfigureLog-stdout.txt create mode 100644 Tests/RunCMake/message/ConfigureLog.cmake create mode 100644 Tests/RunCMake/message/ConfigureLogScript-config.txt create mode 100644 Tests/RunCMake/message/ConfigureLogScript-stdout.txt create mode 100644 Tests/RunCMake/message/ConfigureLogScript.cmake create mode 100644 Tests/RunCMake/project/NoMinimumRequired-stderr.txt create mode 100644 Tests/RunCMake/project/NoMinimumRequired.cmake create mode 100644 Tests/RunCMake/target_compile_definitions/foo.c create mode 100644 Tests/RunCMake/target_compile_definitions/remove_leading_minusD.cmake create mode 100644 Tests/RunCMake/target_compile_options/bad_keyword-result.txt create mode 100644 Tests/RunCMake/target_compile_options/bad_keyword-stderr.txt create mode 100644 Tests/RunCMake/target_compile_options/bad_keyword.cmake create mode 100644 Tests/RunCMake/target_link_libraries/CMP0108-OLD-self-link-stderr.txt create mode 100644 Tests/RunCMake/try_compile/ConfigureLog-bad.c create mode 100644 Tests/RunCMake/try_compile/ConfigureLog-config.txt create mode 100644 Tests/RunCMake/try_compile/ConfigureLog-stdout.txt create mode 100644 Tests/RunCMake/try_compile/ConfigureLog-test.c create mode 100644 Tests/RunCMake/try_compile/ConfigureLog.cmake create mode 100644 Tests/RunCMake/try_compile/Inspect-config.txt create mode 100644 Tests/RunCMake/try_compile/NoLogDescription-result.txt create mode 100644 Tests/RunCMake/try_compile/NoLogDescription-stderr.txt create mode 100644 Tests/RunCMake/try_compile/NoLogDescription.cmake create mode 100644 Tests/RunCMake/try_compile/SourceFromBadName-config.txt create mode 100644 Tests/RunCMake/try_compile/Verbose.c create mode 100644 Tests/RunCMake/try_compile/Verbose.cmake create mode 100644 Tests/RunCMake/try_run/ConfigureLog-bad.c create mode 100644 Tests/RunCMake/try_run/ConfigureLog-config.txt create mode 100644 Tests/RunCMake/try_run/ConfigureLog-stdout.txt create mode 100644 Tests/RunCMake/try_run/ConfigureLog-test.c create mode 100644 Tests/RunCMake/try_run/ConfigureLog.cmake create mode 100644 Tests/RunCMake/try_run/CrossCompile.cmake create mode 100644 Tests/SwiftMixLib/main.c create mode 100644 Tests/SwiftOnly/SwiftPlugin/CMakeLists.txt create mode 100644 Tests/SwiftOnly/SwiftPlugin/main.swift create mode 100644 Tests/SwiftOnly/SwiftPlugin/plugin.swift create mode 100644 Tests/VSMARMASM/CMakeLists.txt create mode 100644 Tests/VSMARMASM/foo.asm create mode 100644 Tests/VSMARMASM/main.c create mode 100644 Utilities/ClangTidyModule/CMakeLists.txt create mode 100644 Utilities/ClangTidyModule/Module.cxx create mode 100644 Utilities/ClangTidyModule/OstringstreamUseCmstrcatCheck.cxx create mode 100644 Utilities/ClangTidyModule/OstringstreamUseCmstrcatCheck.h create mode 100644 Utilities/ClangTidyModule/StringConcatenationUseCmstrcatCheck.cxx create mode 100644 Utilities/ClangTidyModule/StringConcatenationUseCmstrcatCheck.h create mode 100644 Utilities/ClangTidyModule/Tests/CMakeLists.txt create mode 100644 Utilities/ClangTidyModule/Tests/RunClangTidy.cmake create mode 100644 Utilities/ClangTidyModule/Tests/cmake-ostringstream-use-cmstrcat-stdout.txt create mode 100644 Utilities/ClangTidyModule/Tests/cmake-ostringstream-use-cmstrcat.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-string-concatenation-use-cmstrcat-fixit.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-string-concatenation-use-cmstrcat-stdout.txt create mode 100644 Utilities/ClangTidyModule/Tests/cmake-string-concatenation-use-cmstrcat.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-bespoke-enum-class-stdout.txt create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-bespoke-enum-class.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-cmstrlen-fixit.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-cmstrlen-stdout.txt create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-cmstrlen.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-cmsys-fstream-fixit.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-cmsys-fstream-stdout.txt create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-cmsys-fstream.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once-stdout.txt create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once.cxx create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once-both-fixit.h create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once-both.h create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once-include-guards-fixit.h create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once-include-guards.h create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once-neither-fixit.h create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once-neither.h create mode 100644 Utilities/ClangTidyModule/Tests/cmake-use-pragma-once/cmake-use-pragma-once.h create mode 100644 Utilities/ClangTidyModule/UseBespokeEnumClassCheck.cxx create mode 100644 Utilities/ClangTidyModule/UseBespokeEnumClassCheck.h create mode 100644 Utilities/ClangTidyModule/UseCmstrlenCheck.cxx create mode 100644 Utilities/ClangTidyModule/UseCmstrlenCheck.h create mode 100644 Utilities/ClangTidyModule/UseCmsysFstreamCheck.cxx create mode 100644 Utilities/ClangTidyModule/UseCmsysFstreamCheck.h create mode 100644 Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx create mode 100644 Utilities/ClangTidyModule/UsePragmaOnceCheck.h create mode 100644 Utilities/cmcurl/lib/cfilters.c create mode 100644 Utilities/cmcurl/lib/cfilters.h create mode 100644 Utilities/cmcurl/lib/idn.c create mode 100644 Utilities/cmcurl/lib/idn.h delete mode 100644 Utilities/cmcurl/lib/idn_win32.c create mode 100644 Utilities/cmcurl/lib/vtls/vtls_int.h create mode 100644 Utilities/cmnghttp2/lib/nghttp2_extpri.c create mode 100644 Utilities/cmnghttp2/lib/nghttp2_extpri.h diff --git a/.clang-format b/.clang-format index cba23d604..813a84d87 100644 --- a/.clang-format +++ b/.clang-format @@ -1,5 +1,5 @@ --- -# This configuration requires clang-format version 6.0 exactly. +# This configuration requires clang-format version 15 exactly. BasedOnStyle: Mozilla AlignOperands: false AllowShortFunctionsOnASingleLine: InlineOnly diff --git a/.clang-tidy b/.clang-tidy index a86f39acf..c790467ae 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,24 +1,31 @@ --- Checks: "-*,\ bugprone-*,\ +-bugprone-assignment-in-if-condition,\ -bugprone-easily-swappable-parameters,\ -bugprone-implicit-widening-of-multiplication-result,\ -bugprone-macro-parentheses,\ -bugprone-misplaced-widening-cast,\ -bugprone-narrowing-conversions,\ -bugprone-too-small-loop-variable,\ +-bugprone-unchecked-optional-access,\ misc-*,\ +-misc-confusable-identifiers,\ +-misc-const-correctness,\ -misc-no-recursion,\ -misc-non-private-member-variables-in-classes,\ -misc-static-assert,\ modernize-*,\ -modernize-avoid-c-arrays,\ +-modernize-macro-to-enum,\ -modernize-return-braced-init-list,\ +-modernize-use-emplace,\ -modernize-use-nodiscard,\ -modernize-use-noexcept,\ -modernize-use-trailing-return-type,\ -modernize-use-transparent-functors,\ performance-*,\ +-performance-inefficient-vector-operation,\ readability-*,\ -readability-convert-member-functions-to-static,\ -readability-function-cognitive-complexity,\ @@ -28,11 +35,17 @@ readability-*,\ -readability-implicit-bool-conversion,\ -readability-inconsistent-declaration-parameter-name,\ -readability-magic-numbers,\ +-readability-make-member-function-const,\ -readability-named-parameter,\ -readability-redundant-declaration,\ -readability-redundant-member-init,\ +-readability-simplify-boolean-expr,\ -readability-suspicious-call-argument,\ -readability-uppercase-literal-suffix,\ +cmake-*,\ +-cmake-ostringstream-use-cmstrcat,\ +-cmake-string-concatenation-use-cmstrcat,\ +-cmake-use-bespoke-enum-class,\ " HeaderFilterRegex: 'Source/cm[^/]*\.(h|hxx|cxx)$' CheckOptions: diff --git a/Auxiliary/vim/syntax/cmake.vim b/Auxiliary/vim/syntax/cmake.vim index 9eb993abf..5e936c29d 100644 --- a/Auxiliary/vim/syntax/cmake.vim +++ b/Auxiliary/vim/syntax/cmake.vim @@ -2013,6 +2013,7 @@ syn keyword cmakeKWExternalProject contained \ IGNORED \ INACTIVITY_TIMEOUT \ INDEPENDENT_STEP_TARGETS + \ INSTALL_BYPRODUCTS \ INSTALL_COMMAND \ INSTALL_DIR \ JOB_POOLS diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake index 38fec3f91..798affd2f 100644 --- a/CMakeCPack.cmake +++ b/CMakeCPack.cmake @@ -264,5 +264,9 @@ set(CPACK_SOURCE_IGNORE_FILES "~$" ) +if(CMake_CPACK_CUSTOM_SCRIPT) + include(${CMake_CPACK_CUSTOM_SCRIPT}) +endif() + # include CPack model once all variables are set include(CPack) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b9eb2d56..0ce42fb3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,14 +1,10 @@ # Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. -cmake_minimum_required(VERSION 3.13...3.23 FATAL_ERROR) +cmake_minimum_required(VERSION 3.13...3.24 FATAL_ERROR) set(CMAKE_USER_MAKE_RULES_OVERRIDE_C ${CMAKE_CURRENT_SOURCE_DIR}/Source/Modules/OverrideC.cmake) set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/Source/Modules/OverrideCXX.cmake) -if(POLICY CMP0129) - cmake_policy(SET CMP0129 NEW) # CMake 3.23 -endif() - project(CMake) unset(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX) unset(CMAKE_USER_MAKE_RULES_OVERRIDE_C) @@ -73,11 +69,7 @@ if(NOT DEFINED CMAKE_CXX_STANDARD AND NOT CMake_NO_CXX_STANDARD) if(CMAKE_CXX_COMPILER_ID STREQUAL SunPro AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.14) set(CMAKE_CXX_STANDARD 98) else() - if(NOT CMAKE_VERSION VERSION_LESS 3.8) - include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx17_check.cmake) - else() - set(CMake_CXX17_BROKEN 1) - endif() + include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx17_check.cmake) if(NOT CMake_CXX17_BROKEN) set(CMAKE_CXX_STANDARD 17) else() @@ -130,14 +122,12 @@ option(CMake_BUILD_DEVELOPER_REFERENCE mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE) # option to build using interprocedural optimizations (IPO/LTO) -if(NOT CMAKE_VERSION VERSION_LESS 3.12.2) - option(CMake_BUILD_LTO "Compile CMake with link-time optimization if supported" OFF) - if(CMake_BUILD_LTO) - include(CheckIPOSupported) - check_ipo_supported(RESULT HAVE_IPO) - if(HAVE_IPO) - set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) - endif() +option(CMake_BUILD_LTO "Compile CMake with link-time optimization if supported" OFF) +if(CMake_BUILD_LTO) + include(CheckIPOSupported) + check_ipo_supported(RESULT HAVE_IPO) + if(HAVE_IPO) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) endif() endif() @@ -251,10 +241,6 @@ macro(CMAKE_SETUP_TESTING) configure_file(Tests/.NoDartCoverage Tests/.NoDartCoverage) configure_file(Tests/.NoDartCoverage Modules/.NoDartCoverage) configure_file(CTestCustom.cmake.in CTestCustom.cmake @ONLY) - if(BUILD_TESTING AND DART_ROOT) - configure_file(CMakeLogo.gif Testing/HTML/TestingResults/Icons/Logo.gif COPYONLY) - endif() - mark_as_advanced(DART_ROOT) endmacro() @@ -277,6 +263,25 @@ if(CMake_RUN_CLANG_TIDY) endif() set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}") + option(CMake_USE_CLANG_TIDY_MODULE "Use CMake's clang-tidy module." OFF) + if(CMake_USE_CLANG_TIDY_MODULE) + find_library(CMake_CLANG_TIDY_MODULE NAMES cmake-clang-tidy-module DOC "Location of the clang-tidy module") + if(NOT CMake_CLANG_TIDY_MODULE) + message(FATAL_ERROR "CMake_USE_CLANG_TIDY_MODULE is ON but cmake-clang-tidy-module is not found!") + endif() + list(APPEND CMAKE_CXX_CLANG_TIDY "--load=${CMake_CLANG_TIDY_MODULE}") + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMake_CLANG_TIDY_MODULE}") + endif() + + set(CMake_CLANG_TIDY_EXPORT_FIXES_DIR "" CACHE PATH "Directory to put clang-tidy fix files in.") + mark_as_advanced(CMake_CLANG_TIDY_EXPORT_FIXES_DIR) + if(CMake_CLANG_TIDY_EXPORT_FIXES_DIR) + if(NOT IS_ABSOLUTE "${CMake_CLANG_TIDY_EXPORT_FIXES_DIR}") + message(FATAL_ERROR "CMake_CLANG_TIDY_EXPORT_FIXES_DIR must be an absolute path!") + endif() + set(CMAKE_CXX_CLANG_TIDY_EXPORT_FIXES_DIR "${CMake_CLANG_TIDY_EXPORT_FIXES_DIR}") + endif() + # Create a preprocessor definition that depends on .clang-tidy content so # the compile command will change when .clang-tidy changes. This ensures # that a subsequent build re-runs clang-tidy on all sources even if they @@ -286,6 +291,11 @@ if(CMake_RUN_CLANG_TIDY) file(SHA1 ${CMAKE_CURRENT_SOURCE_DIR}/.clang-tidy clang_tidy_sha1) set(CLANG_TIDY_DEFINITIONS "CLANG_TIDY_SHA1=${clang_tidy_sha1}") unset(clang_tidy_sha1) + if(CMake_USE_CLANG_TIDY_MODULE) + file(SHA1 "${CMake_CLANG_TIDY_MODULE}" clang_tidy_module_sha1) + list(APPEND CLANG_TIDY_DEFINITIONS "CLANG_TIDY_MODULE_SHA1=${clang_tidy_module_sha1}") + unset(clang_tidy_module_sha1) + endif() endif() configure_file(.clang-tidy .clang-tidy COPYONLY) @@ -299,6 +309,11 @@ if(CMake_RUN_IWYU) endif() set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "${IWYU_COMMAND};-Xiwyu;--mapping_file=${CMake_SOURCE_DIR}/Utilities/IWYU/mapping.imp;-w") + option(CMake_IWYU_VERBOSE "Run include-what-you-use in verbose mode" OFF) + if (CMake_IWYU_VERBOSE) + list(APPEND CMAKE_CXX_INCLUDE_WHAT_YOU_USE + -Xiwyu -v7) + endif () list(APPEND CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${CMake_IWYU_OPTIONS}) endif() @@ -342,9 +357,7 @@ endif() #----------------------------------------------------------------------- include(Source/CMakeVersion.cmake) -# Include the standard Dart testing module -enable_testing() -include(${CMAKE_ROOT}/Modules/Dart.cmake) +include(CTest) # Set up test-time configuration. set_directory_properties(PROPERTIES diff --git a/CompileFlags.cmake b/CompileFlags.cmake index bf8a08218..6331af11c 100644 --- a/CompileFlags.cmake +++ b/CompileFlags.cmake @@ -87,11 +87,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro AND if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13) if (NOT CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD EQUAL 98) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03") - elseif(CMAKE_VERSION VERSION_LESS 3.8.20170502) - # CMake knows how to add this flag for compilation as C++11, - # but has not been taught that SunPro needs it for linking too. - # Add it in a place that will be used for both. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif() else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=stlport4") diff --git a/Copyright.txt b/Copyright.txt index bd45dd1f3..515e403a2 100644 --- a/Copyright.txt +++ b/Copyright.txt @@ -1,5 +1,5 @@ CMake - Cross Platform Makefile Generator -Copyright 2000-2022 Kitware, Inc. and Contributors +Copyright 2000-2023 Kitware, Inc. and Contributors All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Help/command/DEVICE_LINK_OPTIONS.txt b/Help/command/DEVICE_LINK_OPTIONS.txt index 3d5020816..878754ddf 100644 --- a/Help/command/DEVICE_LINK_OPTIONS.txt +++ b/Help/command/DEVICE_LINK_OPTIONS.txt @@ -7,8 +7,6 @@ Host And Device Specific Link Options :prop_tgt:`CUDA_RESOLVE_DEVICE_SYMBOLS` properties and policy :policy:`CMP0105`, the raw options will be delivered to the host and device link steps (wrapped in ``-Xcompiler`` or equivalent for device link). Options wrapped with - ``$`` - :manual:`generator expression ` will be used - only for the device link step. Options wrapped with ``$`` - :manual:`generator expression ` will be used - only for the host link step. + :genex:`$` generator expression will be used + only for the device link step. Options wrapped with :genex:`$` + generator expression will be used only for the host link step. diff --git a/Help/command/GENEX_NOTE.txt b/Help/command/GENEX_NOTE.txt new file mode 100644 index 000000000..4a7906ce9 --- /dev/null +++ b/Help/command/GENEX_NOTE.txt @@ -0,0 +1,6 @@ +.. |more_see_also| replace:: See the :manual:`cmake-buildsystem(7)` manual + for more on defining buildsystem properties. + +Arguments to |command_name| may use generator expressions +with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` +manual for available expressions. |more_see_also| diff --git a/Help/command/SUPPORTED_LANGUAGES.txt b/Help/command/SUPPORTED_LANGUAGES.txt new file mode 100644 index 000000000..a98c07a5d --- /dev/null +++ b/Help/command/SUPPORTED_LANGUAGES.txt @@ -0,0 +1,25 @@ + +Supported languages are ``C``, ``CXX`` (i.e. C++), ``CSharp`` (i.e. C#), ``CUDA``, +``OBJC`` (i.e. Objective-C), ``OBJCXX`` (i.e. Objective-C++), ``Fortran``, ``HIP``, +``ISPC``, ``Swift``, ``ASM``, ``ASM_NASM``, ``ASM_MARMASM``, ``ASM_MASM``, and ``ASM-ATT``. + + .. versionadded:: 3.8 + Added ``CSharp`` and ``CUDA`` support. + + .. versionadded:: 3.15 + Added ``Swift`` support. + + .. versionadded:: 3.16 + Added ``OBJC`` and ``OBJCXX`` support. + + .. versionadded:: 3.18 + Added ``ISPC`` support. + + .. versionadded:: 3.21 + Added ``HIP`` support. + + .. versionadded:: 3.26 + Added ``ASM_MARMASM`` support. + +If enabling ``ASM``, list it last so that CMake can check whether +compilers for other languages like ``C`` work for assembly too. diff --git a/Help/command/add_compile_definitions.rst b/Help/command/add_compile_definitions.rst index 48e33be63..b2eb2af3b 100644 --- a/Help/command/add_compile_definitions.rst +++ b/Help/command/add_compile_definitions.rst @@ -21,7 +21,13 @@ Function-style definitions are not supported. CMake will automatically escape the value correctly for the native build system (note that CMake language syntax may require escapes to specify some values). -Arguments to ``add_compile_definitions`` may use "generator expressions" with -the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` -manual for available expressions. See the :manual:`cmake-buildsystem(7)` -manual for more on defining buildsystem properties. +.. versionadded:: 3.26 + Any leading ``-D`` on an item will be removed. + +.. |command_name| replace:: ``add_compile_definitions`` +.. include:: GENEX_NOTE.txt + +See Also +^^^^^^^^ + +* The command :command:`target_compile_definitions` adds target-specific definitions. diff --git a/Help/command/add_compile_options.rst b/Help/command/add_compile_options.rst index 36f403c8a..0ccebc679 100644 --- a/Help/command/add_compile_options.rst +++ b/Help/command/add_compile_options.rst @@ -14,10 +14,8 @@ directory and below. Arguments ^^^^^^^^^ -Arguments to ``add_compile_options`` may use "generator expressions" with -the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` -manual for available expressions. See the :manual:`cmake-buildsystem(7)` -manual for more on defining buildsystem properties. +.. |command_name| replace:: ``add_compile_options`` +.. include:: GENEX_NOTE.txt .. include:: OPTIONS_SHELL.txt @@ -30,22 +28,25 @@ this command is in a compiler-specific conditional clause: .. code-block:: cmake if (MSVC) - # warning level 4 and all warnings as errors - add_compile_options(/W4 /WX) + # warning level 4 + add_compile_options(/W4) else() - # lots of warnings and all warnings as errors - add_compile_options(-Wall -Wextra -pedantic -Werror) + # additional warnings + add_compile_options(-Wall -Wextra -Wpedantic) endif() +To set per-language options, use the :genex:`$` +or :genex:`$` generator expressions. + See Also ^^^^^^^^ -This command can be used to add any options. However, for -adding preprocessor definitions and include directories it is recommended -to use the more specific commands :command:`add_compile_definitions` -and :command:`include_directories`. +* This command can be used to add any options. However, for + adding preprocessor definitions and include directories it is recommended + to use the more specific commands :command:`add_compile_definitions` + and :command:`include_directories`. -The command :command:`target_compile_options` adds target-specific options. +* The command :command:`target_compile_options` adds target-specific options. -The source file property :prop_sf:`COMPILE_OPTIONS` adds options to one -source file. +* The source file property :prop_sf:`COMPILE_OPTIONS` adds options to one + source file. diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst index 99adc85c1..293d3f01b 100644 --- a/Help/command/add_custom_command.rst +++ b/Help/command/add_custom_command.rst @@ -31,14 +31,12 @@ This defines a command to generate specified ``OUTPUT`` file(s). A target created in the same directory (``CMakeLists.txt`` file) that specifies any output of the custom command as a source file is given a rule to generate the file using the command at build time. -Do not list the output in more than one independent target that -may build in parallel or the two instances of the rule may conflict -(instead use the :command:`add_custom_target` command to drive the -command and make the other targets depend on that one). -In makefile terms this creates a new target in the following form:: - OUTPUT: MAIN_DEPENDENCY DEPENDS - COMMAND +Do not list the output in more than one independent target that +may build in parallel or the instances of the rule may conflict. +Instead, use the :command:`add_custom_target` command to drive the +command and make the other targets depend on that one. See the +`Example: Generating Files for Multiple Targets`_ below. The options are: @@ -140,6 +138,10 @@ The options are: Display the given message before the commands are executed at build time. + .. versionadded:: 3.26 + Arguments to ``COMMENT`` may use + :manual:`generator expressions `. + ``DEPENDS`` Specify files on which the command depends. Each argument is converted to a dependency as follows: @@ -229,15 +231,24 @@ The options are: ``OUTPUT`` Specify the output files the command is expected to produce. - If an output name is a relative path it will be interpreted - relative to the build tree directory corresponding to the - current source directory. Each output file will be marked with the :prop_sf:`GENERATED` source file property automatically. If the output of the custom command is not actually created as a file on disk it should be marked with the :prop_sf:`SYMBOLIC` source file property. + If an output file name is a relative path, its absolute path is + determined by interpreting it relative to: + + 1. the build directory corresponding to the current source directory + (:variable:`CMAKE_CURRENT_BINARY_DIR`), or + + 2. the current source directory (:variable:`CMAKE_CURRENT_SOURCE_DIR`). + + The path in the build directory is preferred unless the path in the + source tree is mentioned as an absolute source file path elsewhere + in the current directory. + .. versionadded:: 3.20 Arguments to ``OUTPUT`` may use a restricted set of :manual:`generator expressions `. @@ -385,6 +396,49 @@ will re-run whenever ``in.txt`` changes. where ```` is the build configuration, and then compile the generated source as part of a library. +Example: Generating Files for Multiple Targets +"""""""""""""""""""""""""""""""""""""""""""""" + +If multiple independent targets need the same custom command output, +it must be attached to a single custom target on which they all depend. +Consider the following example: + +.. code-block:: cmake + + add_custom_command( + OUTPUT table.csv + COMMAND makeTable -i ${CMAKE_CURRENT_SOURCE_DIR}/input.dat + -o table.csv + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/input.dat + VERBATIM) + add_custom_target(generate_table_csv DEPENDS table.csv) + + add_custom_command( + OUTPUT foo.cxx + COMMAND genFromTable -i table.csv -case foo -o foo.cxx + DEPENDS table.csv # file-level dependency + generate_table_csv # target-level dependency + VERBATIM) + add_library(foo foo.cxx) + + add_custom_command( + OUTPUT bar.cxx + COMMAND genFromTable -i table.csv -case bar -o bar.cxx + DEPENDS table.csv # file-level dependency + generate_table_csv # target-level dependency + VERBATIM) + add_library(bar bar.cxx) + +Output ``foo.cxx`` is needed only by target ``foo`` and output ``bar.cxx`` +is needed only by target ``bar``, but *both* targets need ``table.csv``, +transitively. Since ``foo`` and ``bar`` are independent targets that may +build concurrently, we prevent them from racing to generate ``table.csv`` +by placing its custom command in a separate target, ``generate_table_csv``. +The custom commands generating ``foo.cxx`` and ``bar.cxx`` each specify a +target-level dependency on ``generate_table_csv``, so the targets using them, +``foo`` and ``bar``, will not build until after target ``generate_table_csv`` +is built. + .. _`add_custom_command(TARGET)`: Build Events @@ -490,3 +544,8 @@ Ninja Multi-Config ``add_custom_command`` supports the :generator:`Ninja Multi-Config` generator's cross-config capabilities. See the generator documentation for more information. + +See Also +^^^^^^^^ + +* :command:`add_custom_target` diff --git a/Help/command/add_custom_target.rst b/Help/command/add_custom_target.rst index d8882ca99..545b9a5ae 100644 --- a/Help/command/add_custom_target.rst +++ b/Help/command/add_custom_target.rst @@ -109,6 +109,10 @@ The options are: Display the given message before the commands are executed at build time. + .. versionadded:: 3.26 + Arguments to ``COMMENT`` may use + :manual:`generator expressions `. + ``DEPENDS`` Reference files and outputs of custom commands created with :command:`add_custom_command` command calls in the same directory @@ -181,3 +185,8 @@ Ninja Multi-Config ``add_custom_target`` supports the :generator:`Ninja Multi-Config` generator's cross-config capabilities. See the generator documentation for more information. + +See Also +^^^^^^^^ + +* :command:`add_custom_command` diff --git a/Help/command/add_definitions.rst b/Help/command/add_definitions.rst index fe6918836..5c1f7b43b 100644 --- a/Help/command/add_definitions.rst +++ b/Help/command/add_definitions.rst @@ -1,7 +1,7 @@ add_definitions --------------- -Add -D define flags to the compilation of source files. +Add ``-D`` define flags to the compilation of source files. .. code-block:: cmake @@ -31,5 +31,8 @@ backwards compatibility. See documentation of the properties for details on adding preprocessor definitions to specific scopes and configurations. -See the :manual:`cmake-buildsystem(7)` manual for more on defining -buildsystem properties. +See Also +^^^^^^^^ + +* The :manual:`cmake-buildsystem(7)` manual for more on defining + buildsystem properties. diff --git a/Help/command/add_dependencies.rst b/Help/command/add_dependencies.rst index 14c018303..23cb4058f 100644 --- a/Help/command/add_dependencies.rst +++ b/Help/command/add_dependencies.rst @@ -20,7 +20,12 @@ transitively in its place since the target itself does not build. .. versionadded:: 3.3 Allow adding dependencies to interface libraries. -See the ``DEPENDS`` option of :command:`add_custom_target` and -:command:`add_custom_command` commands for adding file-level -dependencies in custom rules. See the :prop_sf:`OBJECT_DEPENDS` -source file property to add file-level dependencies to object files. +See Also +^^^^^^^^ + +* The ``DEPENDS`` option of :command:`add_custom_target` and + :command:`add_custom_command` commands for adding file-level + dependencies in custom rules. + +* The :prop_sf:`OBJECT_DEPENDS` source file property to add + file-level dependencies to object files. diff --git a/Help/command/add_executable.rst b/Help/command/add_executable.rst index dde94293e..d9ea0da1a 100644 --- a/Help/command/add_executable.rst +++ b/Help/command/add_executable.rst @@ -107,3 +107,8 @@ The ```` may not be used to modify properties of ````, that is, it may not be used as the operand of :command:`set_property`, :command:`set_target_properties`, :command:`target_link_libraries` etc. An ``ALIAS`` target may not be installed or exported. + +See Also +^^^^^^^^ + +* :command:`add_library` diff --git a/Help/command/add_library.rst b/Help/command/add_library.rst index 7dc4365e6..07c8babd2 100644 --- a/Help/command/add_library.rst +++ b/Help/command/add_library.rst @@ -83,10 +83,10 @@ Object Libraries Creates an :ref:`Object Library `. An object library compiles source files but does not archive or link their object files into a -library. Instead other targets created by :command:`add_library` or +library. Instead other targets created by ``add_library`` or :command:`add_executable` may reference the objects using an expression of the -form ``$`` as a source, where ``objlib`` is the -object library name. For example: +form :genex:`$\ ` as a source, where +``objlib`` is the object library name. For example: .. code-block:: cmake @@ -101,7 +101,7 @@ They may contain custom commands generating such sources, but not ``PRE_BUILD``, ``PRE_LINK``, or ``POST_BUILD`` commands. Some native build systems (such as Xcode) may not like targets that have only object files, so consider adding at least one real source file to any target that references -``$``. +:genex:`$\ `. .. versionadded:: 3.12 Object libraries can be linked to with :command:`target_link_libraries`. @@ -261,3 +261,8 @@ to modify properties of ````, that is, it may not be used as the operand of :command:`set_property`, :command:`set_target_properties`, :command:`target_link_libraries` etc. An ``ALIAS`` target may not be installed or exported. + +See Also +^^^^^^^^ + +* :command:`add_executable` diff --git a/Help/command/add_link_options.rst b/Help/command/add_link_options.rst index f03e7c0e4..c09e10690 100644 --- a/Help/command/add_link_options.rst +++ b/Help/command/add_link_options.rst @@ -23,13 +23,18 @@ exist to add libraries (:command:`target_link_libraries` or since they do not use a linker. To add archiver or MSVC librarian flags, see the :prop_tgt:`STATIC_LIBRARY_OPTIONS` target property. -Arguments to ``add_link_options`` may use "generator expressions" with -the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` -manual for available expressions. See the :manual:`cmake-buildsystem(7)` -manual for more on defining buildsystem properties. +.. |command_name| replace:: ``add_link_options`` +.. include:: GENEX_NOTE.txt .. include:: DEVICE_LINK_OPTIONS.txt .. include:: OPTIONS_SHELL.txt .. include:: LINK_OPTIONS_LINKER.txt + +See Also +^^^^^^^^ + +* :command:`link_libraries` +* :command:`target_link_libraries` +* :command:`target_link_options` diff --git a/Help/command/add_subdirectory.rst b/Help/command/add_subdirectory.rst index 13cae1000..ae063e6d6 100644 --- a/Help/command/add_subdirectory.rst +++ b/Help/command/add_subdirectory.rst @@ -7,16 +7,16 @@ Add a subdirectory to the build. add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL] [SYSTEM]) -Adds a subdirectory to the build. The source_dir specifies the -directory in which the source CMakeLists.txt and code files are -located. If it is a relative path it will be evaluated with respect +Adds a subdirectory to the build. The ``source_dir`` specifies the +directory in which the source ``CMakeLists.txt`` and code files are +located. If it is a relative path, it will be evaluated with respect to the current directory (the typical usage), but it may also be an absolute path. The ``binary_dir`` specifies the directory in which to -place the output files. If it is a relative path it will be evaluated +place the output files. If it is a relative path, it will be evaluated with respect to the current output directory, but it may also be an absolute path. If ``binary_dir`` is not specified, the value of ``source_dir``, before expanding any relative path, will be used (the -typical usage). The CMakeLists.txt file in the specified source +typical usage). The ``CMakeLists.txt`` file in the specified source directory will be processed immediately by CMake before processing in the current input file continues beyond this command. @@ -28,15 +28,14 @@ meant for use when the subdirectory contains a separate part of the project that is useful but not necessary, such as a set of examples. Typically the subdirectory should contain its own :command:`project` command invocation so that a full build system will be generated in the -subdirectory (such as a VS IDE solution file). Note that inter-target -dependencies supersede this exclusion. If a target built by the -parent project depends on a target in the subdirectory, the dependee +subdirectory (such as a Visual Studio IDE solution file). Note that +inter-target dependencies supersede this exclusion. If a target built by +the parent project depends on a target in the subdirectory, the dependee target will be included in the parent project build system to satisfy the dependency. -If the ``SYSTEM`` argument is provided, the :prop_dir:`SYSTEM` directory -property of the subdirectory will be set to true. This property is -used to initialize the :prop_tgt:`SYSTEM` property of each target -created in that subdirectory. The include directories of targets with -:prop_tgt:`SYSTEM` set to true will be treated as ``SYSTEM`` when -compiling consumers. +.. versionadded:: 3.25 + If the ``SYSTEM`` argument is provided, the :prop_dir:`SYSTEM` directory + property of the subdirectory will be set to true. This property is + used to initialize the :prop_tgt:`SYSTEM` property of each non-imported + target created in that subdirectory. diff --git a/Help/command/block.rst b/Help/command/block.rst index dfd60d446..a352e8365 100644 --- a/Help/command/block.rst +++ b/Help/command/block.rst @@ -71,6 +71,6 @@ inside the block. See Also ^^^^^^^^ - * :command:`endblock` - * :command:`return` - * :command:`cmake_policy` +* :command:`endblock` +* :command:`return` +* :command:`cmake_policy` diff --git a/Help/command/build_name.rst b/Help/command/build_name.rst index 2a1fbae62..5acf85830 100644 --- a/Help/command/build_name.rst +++ b/Help/command/build_name.rst @@ -5,7 +5,7 @@ Disallowed since version 3.0. See CMake Policy :policy:`CMP0036`. Use ``${CMAKE_SYSTEM}`` and ``${CMAKE_CXX_COMPILER}`` instead. -:: +.. code-block:: cmake build_name(variable) diff --git a/Help/command/cmake_host_system_information.rst b/Help/command/cmake_host_system_information.rst index c84c5b57b..76824ef1f 100644 --- a/Help/command/cmake_host_system_information.rst +++ b/Help/command/cmake_host_system_information.rst @@ -17,7 +17,7 @@ Synopsis Query host system specific information ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:: +.. code-block:: cmake cmake_host_system_information(RESULT QUERY ...) diff --git a/Help/command/cmake_minimum_required.rst b/Help/command/cmake_minimum_required.rst index d15977049..031bd5690 100644 --- a/Help/command/cmake_minimum_required.rst +++ b/Help/command/cmake_minimum_required.rst @@ -79,3 +79,8 @@ invokes cmake_policy(VERSION 2.4[...]) which enables compatibility features for CMake 2.4 and lower. + +See Also +^^^^^^^^ + +* :command:`cmake_policy` diff --git a/Help/command/cmake_parse_arguments.rst b/Help/command/cmake_parse_arguments.rst index 7c85da610..0bb1d91bb 100644 --- a/Help/command/cmake_parse_arguments.rst +++ b/Help/command/cmake_parse_arguments.rst @@ -113,3 +113,9 @@ interpreted as the beginning of the new option. E.g. is a keyword itself ``MY_INSTALL_DESTINATION`` will be empty (but added to ``MY_INSTALL_KEYWORDS_MISSING_VALUES``) and ``MY_INSTALL_OPTIONAL`` will therefore be set to ``TRUE``. + +See Also +^^^^^^^^ + +* :command:`function` +* :command:`macro` diff --git a/Help/command/cmake_path.rst b/Help/command/cmake_path.rst index eb7da07e3..4e6bedb65 100644 --- a/Help/command/cmake_path.rst +++ b/Help/command/cmake_path.rst @@ -237,7 +237,7 @@ The following forms of the ``GET`` subcommand each retrieve a different component or group of components from a path. See `Path Structure And Terminology`_ for the meaning of each path component. -:: +.. code-block:: cmake cmake_path(GET ROOT_NAME ) cmake_path(GET ROOT_DIRECTORY ) @@ -408,7 +408,7 @@ meaning of each path component. .. _HAS_RELATIVE_PART: .. _HAS_PARENT_PATH: -:: +.. code-block:: cmake cmake_path(HAS_ROOT_NAME ) cmake_path(HAS_ROOT_DIRECTORY ) @@ -432,7 +432,7 @@ Note the following special cases: .. _IS_ABSOLUTE: -:: +.. code-block:: cmake cmake_path(IS_ABSOLUTE ) @@ -446,7 +446,7 @@ false while ``HAS_ROOT_DIRECTORY`` can be true. .. _IS_RELATIVE: -:: +.. code-block:: cmake cmake_path(IS_RELATIVE ) @@ -454,7 +454,7 @@ This will store the opposite of ``IS_ABSOLUTE`` in ````. .. _IS_PREFIX: -:: +.. code-block:: cmake cmake_path(IS_PREFIX [NORMALIZE] ) @@ -476,7 +476,7 @@ are :ref:`normalized ` before the check. .. _Path COMPARE: .. _COMPARE: -:: +.. code-block:: cmake cmake_path(COMPARE EQUAL ) cmake_path(COMPARE NOT_EQUAL ) @@ -510,7 +510,7 @@ Modification .. _cmake_path-SET: -:: +.. code-block:: cmake cmake_path(SET [NORMALIZE] ) @@ -539,7 +539,7 @@ Output:: .. _APPEND: -:: +.. code-block:: cmake cmake_path(APPEND [...] [OUTPUT_VARIABLE ]) @@ -570,7 +570,7 @@ the following algorithm (pseudo-code) applies: .. _APPEND_STRING: -:: +.. code-block:: cmake cmake_path(APPEND_STRING [...] [OUTPUT_VARIABLE ]) @@ -579,7 +579,7 @@ Append all the ```` arguments to the ```` without adding any .. _REMOVE_FILENAME: -:: +.. code-block:: cmake cmake_path(REMOVE_FILENAME [OUTPUT_VARIABLE ]) @@ -609,7 +609,7 @@ Output:: .. _REPLACE_FILENAME: -:: +.. code-block:: cmake cmake_path(REPLACE_FILENAME [OUTPUT_VARIABLE ]) @@ -628,7 +628,7 @@ equivalent to the following: .. _REMOVE_EXTENSION: -:: +.. code-block:: cmake cmake_path(REMOVE_EXTENSION [LAST_ONLY] [OUTPUT_VARIABLE ]) @@ -637,7 +637,7 @@ Removes the :ref:`extension `, if any, from ````. .. _REPLACE_EXTENSION: -:: +.. code-block:: cmake cmake_path(REPLACE_EXTENSION [LAST_ONLY] [OUTPUT_VARIABLE ]) @@ -661,7 +661,7 @@ Generation .. _NORMAL_PATH: -:: +.. code-block:: cmake cmake_path(NORMAL_PATH [OUTPUT_VARIABLE ]) @@ -670,7 +670,7 @@ Normalize ```` according the steps described in :ref:`Normalization`. .. _cmake_path-RELATIVE_PATH: .. _RELATIVE_PATH: -:: +.. code-block:: cmake cmake_path(RELATIVE_PATH [BASE_DIRECTORY ] [OUTPUT_VARIABLE ]) @@ -686,7 +686,7 @@ as that used by C++ .. _ABSOLUTE_PATH: -:: +.. code-block:: cmake cmake_path(ABSOLUTE_PATH [BASE_DIRECTORY ] [NORMALIZE] [OUTPUT_VARIABLE ]) @@ -713,7 +713,7 @@ target platform when cross-compiling. .. _cmake_path-NATIVE_PATH: .. _NATIVE_PATH: -:: +.. code-block:: cmake cmake_path(NATIVE_PATH [NORMALIZE] ) @@ -727,7 +727,7 @@ When the ``NORMALIZE`` option is specified, the path is :ref:`normalized .. _cmake_path-TO_CMAKE_PATH_LIST: .. _TO_CMAKE_PATH_LIST: -:: +.. code-block:: cmake cmake_path(CONVERT TO_CMAKE_PATH_LIST [NORMALIZE]) @@ -749,7 +749,7 @@ When the ``NORMALIZE`` option is specified, the path is :ref:`normalized .. _cmake_path-TO_NATIVE_PATH_LIST: .. _TO_NATIVE_PATH_LIST: -:: +.. code-block:: cmake cmake_path(CONVERT TO_NATIVE_PATH_LIST [NORMALIZE]) @@ -788,7 +788,7 @@ Hashing .. _HASH: -:: +.. code-block:: cmake cmake_path(HASH ) diff --git a/Help/command/cmake_policy.rst b/Help/command/cmake_policy.rst index 54fc54815..cde74a733 100644 --- a/Help/command/cmake_policy.rst +++ b/Help/command/cmake_policy.rst @@ -150,3 +150,8 @@ use the pre-record policies when they are invoked. If the function or macro implementation sets policies, the changes automatically propagate up through callers until they reach the closest nested policy stack entry. + +See Also +^^^^^^^^ + +* :command:`cmake_minimum_required` diff --git a/Help/command/configure_file.rst b/Help/command/configure_file.rst index 1d8142351..6f4cedfa6 100644 --- a/Help/command/configure_file.rst +++ b/Help/command/configure_file.rst @@ -58,7 +58,7 @@ or #define VAR 1 Input lines of the form ``#cmakedefine01 VAR ...`` will expand -as ``#cmakedefine01 VAR ... 0`` or ``#cmakedefine01 VAR ... 0``, +as ``#cmakedefine01 VAR ... 0`` or ``#cmakedefine01 VAR ... 1``, which may lead to undefined behavior. .. versionadded:: 3.10 @@ -174,11 +174,16 @@ Otherwise it will contain: /* #undef FOO_ENABLE */ /* #undef FOO_STRING */ -One may then use the :command:`include_directories` command to +One may then use the :command:`target_include_directories` command to specify the output directory as an include directory: .. code-block:: cmake - include_directories(${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories( [SYSTEM] "${CMAKE_CURRENT_BINARY_DIR}") so that sources may include the header as ``#include ``. + +See Also +^^^^^^^^ + +* :command:`file(GENERATE)` diff --git a/Help/command/ctest_build.rst b/Help/command/ctest_build.rst index 8c81f2d52..bce17396e 100644 --- a/Help/command/ctest_build.rst +++ b/Help/command/ctest_build.rst @@ -3,7 +3,7 @@ ctest_build Perform the :ref:`CTest Build Step` as a :ref:`Dashboard Client`. -:: +.. code-block:: cmake ctest_build([BUILD ] [APPEND] [CONFIGURATION ] diff --git a/Help/command/ctest_configure.rst b/Help/command/ctest_configure.rst index 95712aac0..f23dd2224 100644 --- a/Help/command/ctest_configure.rst +++ b/Help/command/ctest_configure.rst @@ -3,7 +3,7 @@ ctest_configure Perform the :ref:`CTest Configure Step` as a :ref:`Dashboard Client`. -:: +.. code-block:: cmake ctest_configure([BUILD ] [SOURCE ] [APPEND] [OPTIONS ] [RETURN_VALUE ] [QUIET] diff --git a/Help/command/ctest_coverage.rst b/Help/command/ctest_coverage.rst index a6c643bbc..319c97855 100644 --- a/Help/command/ctest_coverage.rst +++ b/Help/command/ctest_coverage.rst @@ -3,7 +3,7 @@ ctest_coverage Perform the :ref:`CTest Coverage Step` as a :ref:`Dashboard Client`. -:: +.. code-block:: cmake ctest_coverage([BUILD ] [APPEND] [LABELS