[CMake] llvm_add_library(MODULE) may use CMAKE_MODULE_LINKER_FLAGS instead of target...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Thu, 13 Feb 2014 11:19:11 +0000 (11:19 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Thu, 13 Feb 2014 11:19:11 +0000 (11:19 +0000)
I mis-dropped Darwin's link flags (in clang side) since r201073.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201317 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/AddLLVM.cmake
cmake/modules/HandleLLVMOptions.cmake

index a253e13369921fcfcbdd239ea0597de4a7c5422f..44193b793817f7cebaf2fa78914e1bda6b65c5a3 100644 (file)
@@ -287,12 +287,6 @@ ${name} ignored.")
     llvm_add_library(${name} MODULE ${ARGN})
     set_target_properties( ${name} PROPERTIES PREFIX "" )
 
     llvm_add_library(${name} MODULE ${ARGN})
     set_target_properties( ${name} PROPERTIES PREFIX "" )
 
-    if (APPLE)
-      # Darwin-specific linker flags for loadable modules.
-      set_property(TARGET ${name} APPEND_STRING PROPERTY
-        LINK_FLAGS " -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
-    endif()
-
     if( EXCLUDE_FROM_ALL )
       set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
     else()
     if( EXCLUDE_FROM_ALL )
       set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
     else()
index ebe9d864d9cea5a3fbb3e595913e6c627c8cf792..f132803b55bdc29e7ee2169a4cabdb53e1126e5b 100644 (file)
@@ -105,6 +105,11 @@ set(LTDL_SHLIB_EXT ${CMAKE_SHARED_LIBRARY_SUFFIX})
 # We use *.dylib rather than *.so on darwin.
 set(LLVM_PLUGIN_EXT ${CMAKE_SHARED_LIBRARY_SUFFIX})
 
 # We use *.dylib rather than *.so on darwin.
 set(LLVM_PLUGIN_EXT ${CMAKE_SHARED_LIBRARY_SUFFIX})
 
+if(APPLE)
+  # Darwin-specific linker flags for loadable modules.
+  set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+endif()
+
 function(add_flag_or_print_warning flag)
   check_c_compiler_flag(${flag} C_SUPPORTS_FLAG)
   check_cxx_compiler_flag(${flag} CXX_SUPPORTS_FLAG)
 function(add_flag_or_print_warning flag)
   check_c_compiler_flag(${flag} C_SUPPORTS_FLAG)
   check_cxx_compiler_flag(${flag} CXX_SUPPORTS_FLAG)