mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00

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
65 lines
2.0 KiB
CMake
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()
|