Files
cmake/Tests/RunCMake/CheckModules/RunCMakeTest.cmake
T
Josef Šimánek fd6f2555d4 Tests: Cover CMAKE_REQUIRED_FLAGS in Check* modules
Commit a72e241200 (Check*: Restore more toleration of `;-W...` in
CMAKE_REQUIRED_FLAGS, 2026-07-21) updated the Check* modules to share
required-flag handling without adding coverage for those paths.
Exercise each probe with required definitions followed by a warning
option.

Without the compatibility handling, CMake rejects the warning option.
Without the required definitions, all seven checks fail to find their
header, functions, prototype, or type.

Issue: #28001
2026-07-29 17:27:21 -04:00

66 lines
2.0 KiB
CMake

include(RunCMake)
run_cmake(CMP0075)
run_cmake(CheckStructHasMemberOk)
run_cmake(CheckStructHasMemberUnknownLanguage)
run_cmake(CheckStructHasMemberMissingLanguage)
run_cmake(CheckStructHasMemberMissingKey)
run_cmake(CheckStructHasMemberTooManyArguments)
run_cmake(CheckStructHasMemberWrongKey)
run_cmake(CheckTypeSizeOk)
run_cmake(CheckTypeSizeUnknownLanguage)
run_cmake(CheckTypeSizeMissingLanguage)
run_cmake(CheckTypeSizeMissingResultVariable)
run_cmake(CheckTypeSizeUnknownArgument)
run_cmake(CheckTypeSizeMixedArgs)
run_cmake(CheckTypeSizeOkNoC)
block()
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CheckTypeSize-build)
run_cmake(CheckTypeSize)
set(RunCMake_TEST_NO_CLEAN 1)
set(RunCMake_TEST_OUTPUT_MERGE 1)
run_cmake_command(CheckTypeSize-build ${CMAKE_COMMAND} --build .)
run_cmake_command(CheckTypeSize-build ${CMAKE_CTEST_COMMAND} -C Debug)
endblock()
run_cmake(CheckIncludeFilesOk)
run_cmake(CheckIncludeFilesOkNoC)
run_cmake(CheckIncludeFilesMissingLanguage)
run_cmake(CheckIncludeFilesUnknownArgument)
run_cmake(CheckIncludeFilesUnknownLanguage)
run_cmake(CheckRequiredFlags)
block()
# Set common variables
set(libDir ${RunCMake_BINARY_DIR}/CheckLinkDirectoriesTestLib-build/TestLib/lib)
set(libName mySharedLibrary)
# Build common part
run_cmake(CheckLinkDirectoriesTestLib)
set(RunCMake_TEST_NO_CLEAN 1)
set(RunCMake_TEST_OUTPUT_MERGE 1)
run_cmake_command(CheckLinkDirectoriesTestLib ${CMAKE_COMMAND} --build .)
# Run tests cleanly
unset(RunCMake_TEST_NO_CLEAN)
unset(RunCMake_TEST_OUTPUT_MERGE)
set(RunCMake_TEST_VARIANT_DESCRIPTION "WithDirectories")
run_cmake_with_options("CheckLinkDirectories"
"-DCMAKE_REQUIRED_LIBRARIES=${libName}"
"-DCMAKE_REQUIRED_LINK_DIRECTORIES=${libDir}"
"-DIS_NEED_SUCCESS:BOOL=ON"
)
set(RunCMake_TEST_VARIANT_DESCRIPTION "WithoutDirectories")
run_cmake_with_options("CheckLinkDirectories"
"-DCMAKE_REQUIRED_LIBRARIES=${libName}"
"-DIS_NEED_SUCCESS:BOOL=OFF"
)
endblock()