Tests/CompileFeatures: Add support for testing without CXX

This commit is contained in:
Brad King
2026-04-27 11:13:06 -04:00
parent 6cdb1fa58c
commit 8e76e3c827
3 changed files with 14 additions and 9 deletions
+1
View File
@@ -430,6 +430,7 @@ if(BUILD_TESTING)
string(REPLACE ";" "$<SEMICOLON>" TEST_STDS_CUDA "${CMake_TEST_CUDA_STANDARDS}")
string(REPLACE ";" "$<SEMICOLON>" TEST_STDS_HIP "${CMake_TEST_HIP_STANDARDS}")
set(CompileFeatures_BUILD_OPTIONS
-DCMake_TEST_CXX=${CMake_TEST_CXX}
-DCMake_TEST_C_STANDARDS=${TEST_STDS_C}
-DCMake_TEST_CXX_STANDARDS=${TEST_STDS_CXX}
-DCMake_TEST_CUDA=${CMake_TEST_CUDA}
+9 -9
View File
@@ -1,12 +1,15 @@
cmake_minimum_required(VERSION 3.10)
project(CompileFeatures LANGUAGES NONE)
project(CompileFeatures)
enable_language(C)
set(ext_C c)
set(ext_CXX cpp)
set(std_C 90 99 11 17 23)
set(std_CXX 98 11 14 17 20 23 26)
if(CMake_TEST_CXX)
enable_language(CXX)
set(ext_CXX cpp)
set(std_CXX 98 11 14 17 20 23 26)
endif()
if(CMake_TEST_CUDA)
enable_language(CUDA)
@@ -356,10 +359,7 @@ endif ()
# always add a target "CompileFeatures"
if ((NOT CXX_expected_features) OR
(NOT cxx_auto_type IN_LIST CXX_expected_features))
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp"
"int main(int,char**) { return 0; }\n"
)
add_executable(CompileFeatures "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp")
add_executable(CompileFeatures main.c)
else()
# these tests only work if at least cxx_auto_type is available
add_executable(CompileFeatures main.cpp)
+4
View File
@@ -0,0 +1,4 @@
int main(void)
{
return 0;
}