Tests: Factor out a CMake_TEST_OBJC variable for OBJC/OBJCXX test conditions

This commit is contained in:
Brad King
2022-10-31 12:43:48 -04:00
parent 46c1693602
commit b641a80d55
2 changed files with 17 additions and 9 deletions

View File

@@ -349,6 +349,12 @@ if(BUILD_TESTING)
endif() endif()
endif() endif()
if(NOT DEFINED CMake_TEST_OBJC)
if(APPLE AND CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
set(CMake_TEST_OBJC 1)
endif()
endif()
# Use 1500 or CTEST_TEST_TIMEOUT for long test timeout value, # Use 1500 or CTEST_TEST_TIMEOUT for long test timeout value,
# whichever is greater. # whichever is greater.
set(CMAKE_LONG_TEST_TIMEOUT 1500) set(CMAKE_LONG_TEST_TIMEOUT 1500)
@@ -438,6 +444,11 @@ if(BUILD_TESTING)
endif() endif()
endif() endif()
if(CMake_TEST_OBJC)
add_subdirectory(ObjC)
add_subdirectory(ObjCXX)
endif()
if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^9]|[9][0-9])") if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^9]|[9][0-9])")
ADD_TEST_MACRO(CSharpOnly CSharpOnly) ADD_TEST_MACRO(CSharpOnly CSharpOnly)
if(NOT CMAKE_VS_PLATFORM_NAME STREQUAL "ARM64") if(NOT CMAKE_VS_PLATFORM_NAME STREQUAL "ARM64")
@@ -2506,9 +2517,6 @@ if(BUILD_TESTING)
-Dgen=${CMAKE_GENERATOR} -Dgen=${CMAKE_GENERATOR}
-P ${CMake_SOURCE_DIR}/Tests/CFBundleTest/VerifyResult.cmake) -P ${CMake_SOURCE_DIR}/Tests/CFBundleTest/VerifyResult.cmake)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CFBundleTest") list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CFBundleTest")
add_subdirectory(ObjC)
add_subdirectory(ObjCXX)
endif() endif()
endif() endif()

View File

@@ -299,8 +299,8 @@ if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja")
add_RunCMake_test(CompilerChange) add_RunCMake_test(CompilerChange)
endif() endif()
add_RunCMake_test(CompilerNotFound) add_RunCMake_test(CompilerNotFound)
if (APPLE AND CMAKE_C_COMPILER_ID MATCHES "Clang|GNU") if(DEFINED CMake_TEST_OBJC)
list(APPEND CompilerTest_ARGS -DCMake_TEST_OBJC=1) list(APPEND CompilerTest_ARGS -DCMake_TEST_OBJC=${CMake_TEST_OBJC})
endif() endif()
if(CMAKE_Fortran_COMPILER) if(CMAKE_Fortran_COMPILER)
list(APPEND CompilerTest_ARGS -DCMake_TEST_Fortran=1) list(APPEND CompilerTest_ARGS -DCMake_TEST_Fortran=1)
@@ -897,13 +897,13 @@ if("${CMAKE_GENERATOR}" MATCHES "Make|Ninja")
if(DEFINED CMake_TEST_ISPC) if(DEFINED CMake_TEST_ISPC)
list(APPEND CompilerLauncher_ARGS -DCMake_TEST_ISPC=${CMake_TEST_ISPC}) list(APPEND CompilerLauncher_ARGS -DCMake_TEST_ISPC=${CMake_TEST_ISPC})
endif() endif()
if(DEFINED CMake_TEST_OBJC)
list(APPEND CompilerLauncher_ARGS -DCMake_TEST_OBJC=${CMake_TEST_OBJC})
list(APPEND LinkerLauncher_ARGS -DCMake_TEST_OBJC=${CMake_TEST_OBJC})
endif()
if(CMAKE_Fortran_COMPILER) if(CMAKE_Fortran_COMPILER)
list(APPEND CompilerLauncher_ARGS -DCMake_TEST_Fortran=1) list(APPEND CompilerLauncher_ARGS -DCMake_TEST_Fortran=1)
endif() endif()
if (APPLE AND CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
list(APPEND CompilerLauncher_ARGS -DCMake_TEST_OBJC=1)
list(APPEND LinkerLauncher_ARGS -DCMake_TEST_OBJC=1)
endif()
add_RunCMake_test(CompilerLauncher) add_RunCMake_test(CompilerLauncher)
set_property(TEST RunCMake.CompilerLauncher APPEND set_property(TEST RunCMake.CompilerLauncher APPEND
PROPERTY LABELS "CUDA;HIP;ISPC") PROPERTY LABELS "CUDA;HIP;ISPC")