mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
Tests: Add options to select languages for external testing
When `CMake_TEST_EXTERNAL_CMAKE` is enabled, offer `CMake_TEST_{C,CXX}`.
This commit is contained in:
+22
-6
@@ -2,12 +2,32 @@
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION 3.13...4.2 FATAL_ERROR)
|
||||
|
||||
if(CMake_TEST_HOST_CMAKE)
|
||||
get_filename_component(CMake_TEST_EXTERNAL_CMAKE "${CMAKE_COMMAND}" DIRECTORY)
|
||||
endif()
|
||||
|
||||
set(CMake_LANGUAGES "")
|
||||
if(CMake_TEST_EXTERNAL_CMAKE)
|
||||
foreach(lang C CXX)
|
||||
if(NOT DEFINED CMake_TEST_${lang})
|
||||
set(CMake_TEST_${lang} 1)
|
||||
endif()
|
||||
if(CMake_TEST_${lang})
|
||||
list(APPEND CMake_LANGUAGES ${lang})
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
set(CMake_TEST_C 1)
|
||||
set(CMake_TEST_CXX 1)
|
||||
list(APPEND CMake_LANGUAGES C CXX)
|
||||
endif()
|
||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE_C ${CMAKE_CURRENT_SOURCE_DIR}/Source/Modules/OverrideC.cmake)
|
||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/Source/Modules/OverrideCXX.cmake)
|
||||
|
||||
project(CMake)
|
||||
project(CMake LANGUAGES ${CMake_LANGUAGES})
|
||||
unset(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX)
|
||||
unset(CMAKE_USER_MAKE_RULES_OVERRIDE_C)
|
||||
unset(CMake_LANGUAGES)
|
||||
|
||||
# FIXME: This block should go away after a transition period.
|
||||
if(MSVC AND NOT CMAKE_VERSION VERSION_LESS 3.15)
|
||||
@@ -30,10 +50,6 @@ if(CMAKE_BOOTSTRAP)
|
||||
unset(CMAKE_BOOTSTRAP CACHE)
|
||||
endif()
|
||||
|
||||
if(CMake_TEST_HOST_CMAKE)
|
||||
get_filename_component(CMake_TEST_EXTERNAL_CMAKE "${CMAKE_COMMAND}" DIRECTORY)
|
||||
endif()
|
||||
|
||||
if(NOT CMake_TEST_EXTERNAL_CMAKE)
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
|
||||
message(FATAL_ERROR
|
||||
|
||||
Reference in New Issue
Block a user