build: Fix addXXXFlag functions for interface targets
This commit is contained in:
parent
cfa6b706a8
commit
5ee2ebfb4f
@ -10,11 +10,21 @@ if (POLICY CMP0177)
|
|||||||
cmake_policy(SET CMP0177 OLD)
|
cmake_policy(SET CMP0177 OLD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
function(getTarget target type)
|
||||||
|
get_target_property(TARGET_TYPE ${target} TYPE)
|
||||||
|
if (${TARGET_TYPE} STREQUAL "INTERFACE_LIBRARY")
|
||||||
|
set(${type} INTERFACE PARENT_SCOPE)
|
||||||
|
else()
|
||||||
|
set(${type} PRIVATE PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
function(addCFlag)
|
function(addCFlag)
|
||||||
if (ARGC EQUAL 1)
|
if (ARGC EQUAL 1)
|
||||||
add_compile_options($<$<COMPILE_LANGUAGE:C>:${ARGV0}>)
|
add_compile_options($<$<COMPILE_LANGUAGE:C>:${ARGV0}>)
|
||||||
elseif (ARGC EQUAL 2)
|
elseif (ARGC EQUAL 2)
|
||||||
target_compile_options(${ARGV1} PRIVATE $<$<COMPILE_LANGUAGE:C>:${ARGV0}>)
|
getTarget(${ARGV1} TYPE)
|
||||||
|
target_compile_options(${ARGV1} ${TYPE} $<$<COMPILE_LANGUAGE:C>:${ARGV0}>)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@ -22,7 +32,8 @@ function(addCXXFlag)
|
|||||||
if (ARGC EQUAL 1)
|
if (ARGC EQUAL 1)
|
||||||
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:${ARGV0}>)
|
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:${ARGV0}>)
|
||||||
elseif (ARGC EQUAL 2)
|
elseif (ARGC EQUAL 2)
|
||||||
target_compile_options(${ARGV1} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${ARGV0}>)
|
getTarget(${ARGV1} TYPE)
|
||||||
|
target_compile_options(${ARGV1} ${TYPE} $<$<COMPILE_LANGUAGE:CXX>:${ARGV0}>)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@ -30,7 +41,8 @@ function(addObjCFlag)
|
|||||||
if (ARGC EQUAL 1)
|
if (ARGC EQUAL 1)
|
||||||
add_compile_options($<$<COMPILE_LANGUAGE:OBJC>:${ARGV0}>)
|
add_compile_options($<$<COMPILE_LANGUAGE:OBJC>:${ARGV0}>)
|
||||||
elseif (ARGC EQUAL 2)
|
elseif (ARGC EQUAL 2)
|
||||||
target_compile_options(${ARGV1} PRIVATE $<$<COMPILE_LANGUAGE:OBJC>:${ARGV0}>)
|
getTarget(${ARGV1} TYPE)
|
||||||
|
target_compile_options(${ARGV1} ${TYPE} $<$<COMPILE_LANGUAGE:OBJC>:${ARGV0}>)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user