mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-28 07:47:03 -05:00
build: Fix addXXXFlag functions for interface targets
This commit is contained in:
@@ -10,11 +10,21 @@ if (POLICY CMP0177)
|
||||
cmake_policy(SET CMP0177 OLD)
|
||||
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)
|
||||
if (ARGC EQUAL 1)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:C>:${ARGV0}>)
|
||||
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()
|
||||
endfunction()
|
||||
|
||||
@@ -22,7 +32,8 @@ function(addCXXFlag)
|
||||
if (ARGC EQUAL 1)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:${ARGV0}>)
|
||||
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()
|
||||
endfunction()
|
||||
|
||||
@@ -30,7 +41,8 @@ function(addObjCFlag)
|
||||
if (ARGC EQUAL 1)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:OBJC>:${ARGV0}>)
|
||||
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()
|
||||
endfunction()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user