diff --git a/reactos/boot/freeldr/freeldr/CMakeLists.txt b/reactos/boot/freeldr/freeldr/CMakeLists.txt index 7f92a7735ca..8f48a344b0e 100644 --- a/reactos/boot/freeldr/freeldr/CMakeLists.txt +++ b/reactos/boot/freeldr/freeldr/CMakeLists.txt @@ -1,7 +1,8 @@ if(SEPARATE_DBG) # FIXME: http://sourceware.org/bugzilla/show_bug.cgi?id=11822 - set(CMAKE_C_CREATE_SHARED_LIBRARY " -o ") + set(CMAKE_LDR_PE_HELPER_CREATE_SHARED_LIBRARY " -o ") + set(CMAKE_LDR_PE_HELPER_STANDARD_LIBRARIES "-lgcc" CACHE STRING "Standard C Libraries") endif() spec2def(freeldr.sys freeldr.spec) @@ -171,6 +172,10 @@ endif() if((NOT MSVC) AND (CMAKE_VERSION VERSION_GREATER 2.8.7)) add_library(freeldr_pe SHARED $ ${FREELDR_BASE_SOURCE}) add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL $ ${FREELDR_BASE_SOURCE}) + if(SEPARATE_DBG) + set_target_properties(freeldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + set_target_properties(freeldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + endif() else() add_library(freeldr_pe SHARED ${FREELDR_BASE_SOURCE}) add_library(freeldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE}) @@ -231,6 +236,10 @@ endif() if((NOT MSVC) AND (CMAKE_VERSION VERSION_GREATER 2.8.7)) add_library(setupldr_pe SHARED $ ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE}) add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL $ ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE}) + if(SEPARATE_DBG) + set_target_properties(setupldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + set_target_properties(setupldr_pe_dbg PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER) + endif() else() add_library(setupldr_pe SHARED ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE}) add_library(setupldr_pe_dbg SHARED EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE} ${SETUPLDR_SOURCE})