CMake/Tests/RunCMake/CompileFeatures/LinkImplementationFeatureCycleSolved.cmake
Brad King df252db15a Features: Test cycle diagnostic with language standard meta-feature
The `cxx_static_assert` feature may be available in C++ 98 mode of some
compilers or not available at all in others.  Intstead of using an
individual feature to test cyclic requirement of a feature requiring
C++ 11, use the `std_cxx_11` meta-feature that has exactly this meaning.
2016-11-02 10:01:24 -04:00

15 lines
413 B
CMake

add_library(empty1 empty.cpp)
add_library(empty2 INTERFACE)
add_library(empty3 INTERFACE)
target_compile_features(empty3 INTERFACE cxx_std_11)
target_link_libraries(empty1
$<$<COMPILE_FEATURES:cxx_nullptr>:empty2>
empty3
)
# This, or populating the COMPILE_FEATURES property with a feature in the
# same standard as cxx_nullptr, solves the cycle above.
set_property(TARGET empty1 PROPERTY CXX_STANDARD 11)