diff options
author | Brad King <brad.king@kitware.com> | 2019-10-16 14:32:56 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-10-16 14:32:56 (GMT) |
commit | ac75886525c647ef7081dc11f6c0c128463b7ecd (patch) | |
tree | d34cfd6a5d869bc0674bd2252a165ccb610a8702 /Tests/RunCMake | |
parent | 9150c818b7d2afb868575fcb2e0c9ba62b9d7f85 (diff) | |
download | CMake-ac75886525c647ef7081dc11f6c0c128463b7ecd.zip CMake-ac75886525c647ef7081dc11f6c0c128463b7ecd.tar.gz CMake-ac75886525c647ef7081dc11f6c0c128463b7ecd.tar.bz2 |
PCH: Document and test COMPILE_LANGUAGE genex for per-language header
Fixes: #19839
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r-- | Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake | 14 | ||||
-rw-r--r-- | Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake | 5 |
2 files changed, 18 insertions, 1 deletions
diff --git a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake index 44fe2da..e0b753a 100644 --- a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake +++ b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake @@ -15,3 +15,17 @@ if (NOT EXISTS ${foobar_pch_hxx_header}) set(RunCMake_TEST_FAILED "Generated foobar C++ pch header ${foobar_pch_hxx_header} does not exist") return() endif() + +file(STRINGS ${foobar_pch_h_header} foobar_pch_h_header_strings) + +if (NOT foobar_pch_h_header_strings MATCHES ";#include <stddef.h>(;|$)") + set(RunCMake_TEST_FAILED "Generated foo pch header\n ${foobar_pch_h_header}\nhas bad content:\n ${foobar_pch_h_header_strings}") + return() +endif() + +file(STRINGS ${foobar_pch_hxx_header} foobar_pch_hxx_header_strings) + +if (NOT foobar_pch_hxx_header_strings MATCHES ";#include <cstddef>(;|$)") + set(RunCMake_TEST_FAILED "Generated foo pch header\n ${foobar_pch_hxx_header}\nhas bad content:\n ${foobar_pch_hxx_header_strings}") + return() +endif() diff --git a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake index 7a837da..cdc42b2 100644 --- a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake +++ b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake @@ -6,4 +6,7 @@ add_executable(foobar main.cpp ) target_include_directories(foobar PUBLIC include) -target_precompile_headers(foobar PRIVATE "<stddef.h>") +target_precompile_headers(foobar PRIVATE + "$<$<COMPILE_LANGUAGE:C>:<stddef.h$<ANGLE-R>>" + "$<$<COMPILE_LANGUAGE:CXX>:<cstddef$<ANGLE-R>>" + ) |