1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00
Files
CMake/Tests/RunCMake/CheckModules/RunCMakeTest.cmake
Peter Kokot 1b9812f701 CheckTypeSize: Add check_type_size(RESULT_VARIABLE)
Changes:
- Added new `RESULT_VARIABLE` keyword to enable customizing the name of
  the internal cache variable, which contains the boolean result of the
  check.
- The macro check_type_size() changed to function for easier arguments
  handling.
- Documentation synced and extended to better understand the
  check_type_size() command. Some typos fixed in the initial example.
- CheckTypeSize tests adjusted so also C++ is tested.
- Error messages slightly adjusted when checking the LANGUAGE argument.

Closes: #27202
2025-09-24 00:14:19 +02:00

65 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)
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()