summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2017-01-30 19:17:19 +0100
committerRolf Eike Beer <eike@sf-mail.de>2017-01-30 19:19:44 +0100
commit1679fecb74ee4eb4500d591796f93fe4271b688e (patch)
tree3e8712e10a487b62f2d84ada46c1238d3390bc44 /Tests
parent98e6d1e5e426c491e04faa746c11746002e6a69d (diff)
downloadcmake-1679fecb74ee4eb4500d591796f93fe4271b688e.tar.gz
CompileFeatures Test: make sure the target "CompileFeatures" is always defined
Everything in there guards against unsupported compilers already, so no need to skip the whole file if no features are defined. This in turn allows to have a simpler fallback in case there is no C++ auto_type feature available.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CompileFeatures/CMakeLists.txt18
1 files changed, 8 insertions, 10 deletions
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt
index 13aa86e1ab..2a307d09ce 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -3,14 +3,6 @@ cmake_minimum_required(VERSION 3.1)
project(CompileFeatures)
-if (NOT CMAKE_C_COMPILE_FEATURES AND NOT CMAKE_CXX_COMPILE_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")
- return()
-endif()
-
macro(run_test feature lang)
if (";${CMAKE_${lang}_COMPILE_FEATURES};" MATCHES ${feature})
add_library(test_${feature} OBJECT ${feature})
@@ -277,8 +269,14 @@ if (CMAKE_CXX_COMPILE_FEATURES)
endif()
endif ()
-# these tests only work if at least cxx_auto_type is available
-if (";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_auto_type;")
+# always add a target "CompileFeatures"
+if (NOT ";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_auto_type;")
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp"
+ "int main(int,char**) { return 0; }\n"
+ )
+ add_executable(CompileFeatures "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp")
+else()
+ # these tests only work if at least cxx_auto_type is available
add_executable(CompileFeatures main.cpp)
set_property(TARGET CompileFeatures
PROPERTY COMPILE_FEATURES "cxx_auto_type"