mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-23 22:58:37 -05:00
72e7c45e98
Since 3.19, CMake generates a deprecation warning when using a minimum version less than 2.8.12. This eliminates those warnings generated during tests, which are typically hidden from the user and developer but are being generated nonetheless.
69 lines
1.7 KiB
CMake
69 lines
1.7 KiB
CMake
|
|
cmake_minimum_required(VERSION 2.8.12)
|
|
|
|
project(target_compile_options)
|
|
|
|
add_executable(target_compile_options
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
|
|
)
|
|
target_compile_options(target_compile_options
|
|
PRIVATE $<$<CXX_COMPILER_ID:AppleClang,Clang,GNU>:-DMY_PRIVATE_DEFINE>
|
|
PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-DMY_PUBLIC_DEFINE>
|
|
PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,GNU,Clang,AppleClang>:-DMY_MUTLI_COMP_PUBLIC_DEFINE>
|
|
INTERFACE $<$<CXX_COMPILER_ID:GNU>:-DMY_INTERFACE_DEFINE>
|
|
INTERFACE $<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:-DMY_MULTI_COMP_INTERFACE_DEFINE>
|
|
)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
target_compile_definitions(target_compile_options
|
|
PRIVATE
|
|
"DO_GNU_TESTS"
|
|
)
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
target_compile_definitions(target_compile_options
|
|
PRIVATE
|
|
"DO_CLANG_TESTS"
|
|
)
|
|
endif()
|
|
|
|
add_executable(consumer
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/consumer.cpp"
|
|
)
|
|
|
|
target_sources(consumer PRIVATE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/consumer.c"
|
|
)
|
|
target_compile_options(consumer
|
|
PRIVATE
|
|
-DCONSUMER_LANG_$<COMPILE_LANGUAGE>
|
|
-DLANG_IS_CXX=$<COMPILE_LANGUAGE:CXX>
|
|
-DLANG_IS_C=$<COMPILE_LANGUAGE:C>
|
|
)
|
|
|
|
if(CMAKE_GENERATOR MATCHES "Visual Studio")
|
|
target_compile_definitions(consumer
|
|
PRIVATE TEST_LANG_DEFINES_FOR_VISUAL_STUDIO
|
|
)
|
|
endif()
|
|
|
|
target_compile_options(consumer
|
|
PRIVATE $<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:$<TARGET_PROPERTY:target_compile_options,INTERFACE_COMPILE_OPTIONS>>
|
|
)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
target_compile_definitions(consumer
|
|
PRIVATE
|
|
"DO_GNU_TESTS"
|
|
)
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
target_compile_definitions(consumer
|
|
PRIVATE
|
|
"DO_CLANG_TESTS"
|
|
)
|
|
endif()
|
|
|
|
# Test no items
|
|
target_compile_options(consumer
|
|
PRIVATE
|
|
)
|