diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index a253e133699..44193b79381 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -287,12 +287,6 @@ ${name} ignored.") 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() diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index ebe9d864d9c..f132803b55b 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -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}) +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)