[CMAKE] Replace custom scripts in compilerflags with standard ones

- add_target_link_flags changed to target_link_options
- add_target_property changed to set_property(... APPEND ...)
This commit is contained in:
Victor Perevertkin 2021-09-13 19:51:08 +03:00
parent 233c74e25a
commit 8e1fa03456
No known key found for this signature in database
GPG key ID: C750B7222E9C7830
12 changed files with 34 additions and 79 deletions

View file

@ -238,31 +238,31 @@ set(CMAKE_ASM_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
function(set_entrypoint _module _entrypoint)
if(${_entrypoint} STREQUAL "0")
add_target_link_flags(${_module} "/NOENTRY")
target_link_options(${_module} PRIVATE "/NOENTRY")
elseif(ARCH STREQUAL "i386")
set(_entrysymbol ${_entrypoint})
if(${ARGC} GREATER 2)
set(_entrysymbol ${_entrysymbol}@${ARGV2})
endif()
add_target_link_flags(${_module} "/ENTRY:${_entrysymbol}")
target_link_options(${_module} PRIVATE "/ENTRY:${_entrysymbol}")
else()
add_target_link_flags(${_module} "/ENTRY:${_entrypoint}")
target_link_options(${_module} PRIVATE "/ENTRY:${_entrypoint}")
endif()
endfunction()
function(set_subsystem MODULE SUBSYSTEM)
string(TOUPPER ${SUBSYSTEM} _subsystem)
if(ARCH STREQUAL "amd64")
add_target_link_flags(${MODULE} "/SUBSYSTEM:${_subsystem},5.02")
target_link_options(${MODULE} PRIVATE "/SUBSYSTEM:${_subsystem},5.02")
elseif(ARCH STREQUAL "arm")
add_target_link_flags(${MODULE} "/SUBSYSTEM:${_subsystem},6.02")
target_link_options(${MODULE} PRIVATE "/SUBSYSTEM:${_subsystem},6.02")
else()
add_target_link_flags(${MODULE} "/SUBSYSTEM:${_subsystem},5.01")
target_link_options(${MODULE} PRIVATE "/SUBSYSTEM:${_subsystem},5.01")
endif()
endfunction()
function(set_image_base MODULE IMAGE_BASE)
add_target_link_flags(${MODULE} "/BASE:${IMAGE_BASE}")
target_link_options(${MODULE} PRIVATE "/BASE:${IMAGE_BASE}")
endfunction()
function(set_module_type_toolchain MODULE TYPE)
@ -302,7 +302,7 @@ function(add_delay_importlibs _module)
if(NOT _ext)
set(_ext ".dll")
endif()
add_target_link_flags(${_module} "/DELAYLOAD:${_basename}${_ext}")
target_link_options(${_module} PRIVATE "/DELAYLOAD:${_basename}${_ext}")
target_link_libraries(${_module} "lib${_basename}")
endforeach()
target_link_libraries(${_module} delayimp)
@ -538,8 +538,8 @@ function(add_linker_script _target _linker_script_file)
message(FATAL_ERROR "Generating pre-processed linker options for target '${_target}' failed with error ${linker_rsp_result}.")
endif()
# file(STRINGS ${_generated_file} linker_options NEWLINE_CONSUME)
string(REGEX REPLACE "[\r\n]+" " " linker_options "${linker_options}")
add_target_link_flags(${_target} ${linker_options})
string(REGEX REPLACE "[\r\n]+" ";" linker_options "${linker_options}")
target_link_options(${_target} PRIVATE ${linker_options})
else()
# Generate at compile-time a linker response file and append it
# to the linker command-line.
@ -552,8 +552,8 @@ function(add_linker_script _target _linker_script_file)
set_source_files_properties(${_generated_file} PROPERTIES GENERATED TRUE)
# add_custom_target("${_target}_${_file_name}" ALL DEPENDS ${_generated_file})
# add_dependencies(${_target} "${_target}_${_file_name}")
add_target_link_flags(${_target} "@${_generated_file}")
add_target_property(${_target} LINK_DEPENDS ${_file_full_path})
target_link_options(${_target} PRIVATE "@${_generated_file}")
set_property(TARGET ${_target} APPEND PROPERTY LINK_DEPENDS ${_file_full_path})
endif()
endfunction()