link_flag: add multiple flag search
This commit is contained in:
parent
0b6d0ea507
commit
3b9eb09ba5
@ -1,6 +1,7 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
set(_LINK_FLAG_LIST_DIR ${CMAKE_CURRENT_LIST_DIR})
|
set(_LINK_FLAG_LIST_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
|
|
||||||
macro(check_link_flag _variable _flag)
|
macro(check_link_flag _variable _flag)
|
||||||
string (MAKE_C_IDENTIFIER ${_flag} _name)
|
string (MAKE_C_IDENTIFIER ${_flag} _name)
|
||||||
|
|
||||||
@ -36,3 +37,31 @@ macro(append_link_flag _flag)
|
|||||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_flag}")
|
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_flag}")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
|
##-----------------------------------------------------------------------------
|
||||||
|
macro(append_first_link_flag)
|
||||||
|
message(CHECK_START "First LDFLAG ${ARGV}")
|
||||||
|
|
||||||
|
foreach(__append_first_link_flag__flag ${ARGV})
|
||||||
|
set(__append_first_link_flag__test 0)
|
||||||
|
|
||||||
|
check_link_flag(
|
||||||
|
__append_first_link_flag__test
|
||||||
|
${__append_first_link_flag__flag}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (${append_first_link_flag__test})
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS
|
||||||
|
"${CMAKE_EXE_LINKER_FLAGS} ${__append_first_link_flag__flag}"
|
||||||
|
)
|
||||||
|
|
||||||
|
message(CHECK_PASS "Found ${__append_first_link_flag__flag}")
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if (NOT ${_append_first_link_flag__test})
|
||||||
|
message(CHECK_FAIL "No valid flags")
|
||||||
|
endif ()
|
||||||
|
endmacro()
|
Loading…
Reference in New Issue
Block a user