1
0
Fork 0

Don't use PUBLIC in init_target

init_target should affect only specified target
This commit is contained in:
Ilya Fedin 2021-07-29 19:59:58 +04:00 committed by John Preston
parent f7ccab0e7c
commit 3b4cffcfa7

View file

@ -18,19 +18,19 @@ endfunction()
function(init_target target_name) # init_target(my_target folder_name) function(init_target target_name) # init_target(my_target folder_name)
if (ARGC GREATER 1) if (ARGC GREATER 1)
if (${ARGV1} STREQUAL cxx_std_14 OR ${ARGV1} STREQUAL cxx_std_11 OR ${ARGV1} STREQUAL cxx_std_17) if (${ARGV1} STREQUAL cxx_std_14 OR ${ARGV1} STREQUAL cxx_std_11 OR ${ARGV1} STREQUAL cxx_std_17)
target_compile_features(${target_name} PUBLIC ${ARGV1}) target_compile_features(${target_name} PRIVATE ${ARGV1})
else() else()
target_compile_features(${target_name} PUBLIC ${MAXIMUM_CXX_STANDARD}) target_compile_features(${target_name} PRIVATE ${MAXIMUM_CXX_STANDARD})
init_target_folder(${target_name} ${ARGV1}) init_target_folder(${target_name} ${ARGV1})
endif() endif()
else() else()
target_compile_features(${target_name} PUBLIC ${MAXIMUM_CXX_STANDARD}) target_compile_features(${target_name} PRIVATE ${MAXIMUM_CXX_STANDARD})
endif() endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set_target_properties(${target_name} PROPERTIES set_target_properties(${target_name} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif() endif()
target_link_libraries(${target_name} PUBLIC desktop-app::common_options) target_link_libraries(${target_name} PRIVATE desktop-app::common_options)
if (NOT DESKTOP_APP_USE_PACKAGED) if (NOT DESKTOP_APP_USE_PACKAGED)
set_target_properties(${target_name} PROPERTIES LINK_SEARCH_START_STATIC 1) set_target_properties(${target_name} PROPERTIES LINK_SEARCH_START_STATIC 1)
endif() endif()