[FREELDR] Diverse enhancements.
[reactos.git] / boot / freeldr / freeldr / CMakeLists.txt
index 74a9b44..d426305 100644 (file)
@@ -2,6 +2,7 @@
 if(SEPARATE_DBG)
     # FIXME: http://sourceware.org/bugzilla/show_bug.cgi?id=11822
     set(CMAKE_LDR_PE_HELPER_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+    set(CMAKE_LDR_PE_HELPER_STANDARD_LIBRARIES_INIT "")
     set(CMAKE_LDR_PE_HELPER_STANDARD_LIBRARIES "-lgcc" CACHE STRING "Standard C Libraries")
 endif()
 
@@ -36,6 +37,7 @@ include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/elf)
 add_definitions(-D_NTHAL_ -D_BLDR_ -D_NTSYSTEM_)
 
 list(APPEND FREELDR_BOOTLIB_SOURCE
+    lib/arcsupp.c
     lib/debug.c
     lib/peloader.c
     lib/comm/rs232.c
@@ -195,6 +197,10 @@ if(USE_CLANG_CL)
     # We need to reduce the binary size
     add_target_compile_flags(freeldr_common "/Os")
 endif()
+if(NOT MSVC AND ARCH STREQUAL "i386")
+  # Prevent a warning when doing a memcmp with address 0
+  set_source_files_properties(arch/i386/xboxmem.c PROPERTIES COMPILE_FLAGS "-Wno-nonnull")
+endif()
 
 set(PCH_SOURCE
     ${FREELDR_BOOTLIB_SOURCE}
@@ -232,8 +238,10 @@ endif()
 add_executable(freeldr_pe ${FREELDR_BASE_SOURCE})
 add_executable(freeldr_pe_dbg EXCLUDE_FROM_ALL ${FREELDR_BASE_SOURCE})
 
-set_property(TARGET freeldr_pe PROPERTY ENABLE_EXPORTS TRUE)
-set_property(TARGET freeldr_pe_dbg PROPERTY ENABLE_EXPORTS TRUE)
+set_target_properties(freeldr_pe freeldr_pe_dbg 
+    PROPERTIES
+    ENABLE_EXPORTS TRUE
+    DEFINE_SYMBOL "")
 
 if(NOT MSVC AND SEPARATE_DBG)
     set_target_properties(freeldr_pe PROPERTIES LINKER_LANGUAGE LDR_PE_HELPER)