diff options
author | Brad King <brad.king@kitware.com> | 2014-04-29 13:36:55 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-04-29 13:36:55 (GMT) |
commit | bbc358c3fc1f09fe2a483996ae1359dba3f587f4 (patch) | |
tree | acbe60addb92ac90fc7c91f187a9d9226c2a95dd /Tests/CompileFeatures/CMakeLists.txt | |
parent | 0cce556b5fbe629dccee294aeece7c275343ed64 (diff) | |
parent | c51d07d4397ceed55c534a036ef81df44b741ff6 (diff) | |
download | CMake-bbc358c3fc1f09fe2a483996ae1359dba3f587f4.zip CMake-bbc358c3fc1f09fe2a483996ae1359dba3f587f4.tar.gz CMake-bbc358c3fc1f09fe2a483996ae1359dba3f587f4.tar.bz2 |
Merge branch 'master' into osx-init-early
Resolve conflict in Source/cmGlobalGenerator.cxx by integrating
changes from both sides.
Diffstat (limited to 'Tests/CompileFeatures/CMakeLists.txt')
-rw-r--r-- | Tests/CompileFeatures/CMakeLists.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt new file mode 100644 index 0000000..ce5004b --- /dev/null +++ b/Tests/CompileFeatures/CMakeLists.txt @@ -0,0 +1,44 @@ + +cmake_minimum_required(VERSION 3.0) + +project(CompileFeatures) + +if (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) + if (";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ${feature}) + add_library(test_${feature} OBJECT ${feature}.cpp) + set_property(TARGET test_${feature} + PROPERTY COMPILE_FEATURES "${feature}" + ) + else() + message("Not supported: ${feature}") + endif() +endmacro() + +foreach(feature ${CMAKE_CXX_KNOWN_FEATURES}) + run_test(${feature}) +endforeach() + +add_executable(CompileFeatures main.cpp) +set_property(TARGET CompileFeatures + PROPERTY COMPILE_FEATURES "cxx_auto_type" +) + +add_executable(GenexCompileFeatures main.cpp) +set_property(TARGET GenexCompileFeatures + PROPERTY COMPILE_FEATURES "$<1:cxx_auto_type>;$<0:not_a_feature>" +) + +add_library(iface INTERFACE) +set_property(TARGET iface + PROPERTY INTERFACE_COMPILE_FEATURES "cxx_auto_type" +) +add_executable(IfaceCompileFeatures main.cpp) +target_link_libraries(IfaceCompileFeatures iface) |