X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=boot%2Ffreeldr%2Ffreeldr%2FCMakeLists.txt;h=74a9b444c240941aa3c0b98d7bffb57397234c5a;hp=6fb59604c2edbf587d4f806bada8ef4fa664526e;hb=7d0cd6e9372501bf24c7540fd9bd48ea8614fe49;hpb=a5c5ba17e5d2298adc280455a7fcf62e6c963f55 diff --git a/boot/freeldr/freeldr/CMakeLists.txt b/boot/freeldr/freeldr/CMakeLists.txt index 6fb59604c2e..74a9b444c24 100644 --- a/boot/freeldr/freeldr/CMakeLists.txt +++ b/boot/freeldr/freeldr/CMakeLists.txt @@ -5,74 +5,6 @@ if(SEPARATE_DBG) set(CMAKE_LDR_PE_HELPER_STANDARD_LIBRARIES "-lgcc" CACHE STRING "Standard C Libraries") endif() -if(NOT MSVC) -### -### For GCC -### -function(add_linker_script _target _linker_script_file) - get_filename_component(_file_full_path ${_linker_script_file} ABSOLUTE) - add_target_link_flags(${_target} "-Wl,-T,${_file_full_path}") - - # Unfortunately LINK_DEPENDS is ignored in non-Makefile generators (for now...) - # See also http://www.cmake.org/pipermail/cmake/2010-May/037206.html - add_target_property(${_target} LINK_DEPENDS ${_file_full_path}) -endfunction() - -else() -### -### For MSVC -### -function(add_linker_script _target _linker_script_file) - get_filename_component(_file_full_path ${_linker_script_file} ABSOLUTE) - get_filename_component(_file_name ${_linker_script_file} NAME) - set(_generated_file_path_prefix "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_target}.dir/${_file_name}") - - # Generate the ASM module containing sections specifications and layout. - set(_generated_file "${_generated_file_path_prefix}.S") - add_custom_command( - OUTPUT ${_generated_file} - COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${_file_full_path}" "${_generated_file}" - DEPENDS ${_file_full_path}) - set_source_files_properties(${_generated_file} PROPERTIES LANGUAGE "ASM" GENERATED TRUE) - add_asm_files(${_target}_freeldr_linker_file ${_generated_file}) - - # Generate the C module containing extra sections specifications and layout, - # as well as comment-type linker #pragma directives. - set(_generated_file "${_generated_file_path_prefix}.c") - add_custom_command( - OUTPUT ${_generated_file} - COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${_file_full_path}" "${_generated_file}" - DEPENDS ${_file_full_path}) - set_source_files_properties(${_generated_file} PROPERTIES LANGUAGE "C" GENERATED TRUE) - list(APPEND ${_target}_freeldr_linker_file ${_generated_file}) - - # Add both files to the sources of the target. - target_sources(${_target} PRIVATE "${${_target}_freeldr_linker_file}") - - # Create the additional linker response file. - set(_generated_file "${_generated_file_path_prefix}.rsp") - if(USE_CLANG_CL) - set(_no_std_includes_flag "-nostdinc") - else() - set(_no_std_includes_flag "/X") - endif() - add_custom_command( - #OUTPUT ${_generated_file} - TARGET ${_target} PRE_LINK - COMMAND ${CMAKE_C_COMPILER} /nologo ${_no_std_includes_flag} /D__LINKER__ /EP /c "${_file_full_path}" > "${_generated_file}" - DEPENDS ${_file_full_path} - VERBATIM) - set_source_files_properties(${_generated_file} PROPERTIES GENERATED TRUE) - add_target_link_flags(${_target} "@${_generated_file}") - - # Unfortunately LINK_DEPENDS is ignored in non-Makefile generators (for now...) - # See also http://www.cmake.org/pipermail/cmake/2010-May/037206.html - add_target_property(${_target} LINK_DEPENDS ${_generated_file}) -endfunction() - -endif() - - if(MSVC) # We don't need hotpatching replace_compile_flags("/hotpatch" " ")