https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f489c3fd078db4fc44e56ddd3add47434805a19b

commit f489c3fd078db4fc44e56ddd3add47434805a19b
Author:     Jérôme Gardou <jerome.gar...@reactos.org>
AuthorDate: Sat Apr 6 16:55:10 2019 +0200
Commit:     Jérôme Gardou <zefk...@users.noreply.github.com>
CommitDate: Sat Apr 6 17:43:38 2019 +0200

    [CMAKE] Clear CMAKE_<LANGUAGE>_IMPLICIT_LINK_LIBRARIES and
    _IMPLICIT_LINK_DIRECTORIES
    
    Othrewise, if you link a RC module with a static C library (as done for
    fusion DLLs), you get the standard C libraries from GCC. This is not
    what we want.
    
    This might have to be done for MSVC builds. Check build.ninja to verify
    this.
---
 overrides-gcc.cmake | 2 ++
 sdk/cmake/gcc.cmake | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/overrides-gcc.cmake b/overrides-gcc.cmake
index d7f7d91927..854caf26aa 100644
--- a/overrides-gcc.cmake
+++ b/overrides-gcc.cmake
@@ -3,4 +3,6 @@ foreach(lang C CXX ASM)
   set(CMAKE_${lang}_FLAGS_MINSIZEREL "-Os -DNDEBUG")
   set(CMAKE_${lang}_FLAGS_RELEASE "")
   set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")
+  set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "")
+  set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "")
 endforeach()
diff --git a/sdk/cmake/gcc.cmake b/sdk/cmake/gcc.cmake
index 5eee683307..8ecc06b710 100644
--- a/sdk/cmake/gcc.cmake
+++ b/sdk/cmake/gcc.cmake
@@ -63,6 +63,8 @@ if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
     set(CMAKE_CXX_COMPILE_OPTIONS_PIE "")
     set(CMAKE_SHARED_LIBRARY_C_FLAGS "")
     set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
+    set(CMAKE_SHARED_MODULE_C_FLAGS "")
+    set(CMAKE_SHARED_MODULE_CXX_FLAGS "")
     set(CMAKE_ASM_FLAGS_DEBUG "")
     set(CMAKE_C_FLAGS_DEBUG "")
     set(CMAKE_CXX_FLAGS_DEBUG "")
@@ -105,6 +107,9 @@ endif()
 if(DEFINED CMAKE_SHARED_LIBRARY_ASM_FLAGS)
     string(REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_ASM_FLAGS 
${CMAKE_SHARED_LIBRARY_ASM_FLAGS})
 endif()
+if(DEFINED CMAKE_SHARED_MODULE_ASM_FLAGS)
+    string(REPLACE "-fPIC" "" CMAKE_SHARED_MODULE_ASM_FLAGS 
${CMAKE_SHARED_MODULE_ASM_FLAGS})
+endif()
 
 # Tuning
 if(ARCH STREQUAL "i386")

Reply via email to