mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-19 03:38:26 +00:00
[CMake] Move LLVMBUILD_LIB_DEPS stuff from add_llvm_library (and LLVm-Config) to llvm_add_library to centralize target_link_libraries.
llvm-svn: 202260
This commit is contained in:
parent
852c0d63ee
commit
60bccb6382
@ -289,15 +289,40 @@ function(llvm_add_library name)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ARG_STATIC)
|
||||
target_link_libraries(${name} ${cmake_2_8_12_INTERFACE} ${ARG_LINK_LIBS})
|
||||
# Add the explicit dependency information for this library.
|
||||
#
|
||||
# It would be nice to verify that we have the dependencies for this library
|
||||
# name, but using get_property(... SET) doesn't suffice to determine if a
|
||||
# property has been set to an empty value.
|
||||
get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
|
||||
|
||||
llvm_map_components_to_libnames(llvm_libs
|
||||
${ARG_LINK_COMPONENTS}
|
||||
${LLVM_LINK_COMPONENTS}
|
||||
)
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
# Link libs w/o keywords, assuming PUBLIC.
|
||||
target_link_libraries(${name}
|
||||
${ARG_LINK_LIBS}
|
||||
${lib_deps}
|
||||
${llvm_libs}
|
||||
)
|
||||
elseif(ARG_STATIC)
|
||||
target_link_libraries(${name} INTERFACE
|
||||
${ARG_LINK_LIBS}
|
||||
${lib_deps}
|
||||
${llvm_libs}
|
||||
)
|
||||
else()
|
||||
# MODULE|SHARED
|
||||
target_link_libraries(${name} ${cmake_2_8_12_PRIVATE} ${ARG_LINK_LIBS})
|
||||
target_link_libraries(${name} PRIVATE
|
||||
${ARG_LINK_LIBS}
|
||||
${lib_deps}
|
||||
${llvm_libs}
|
||||
)
|
||||
endif()
|
||||
|
||||
llvm_config(${name} ${ARG_LINK_COMPONENTS} ${LLVM_LINK_COMPONENTS})
|
||||
|
||||
if(LLVM_COMMON_DEPENDS)
|
||||
add_dependencies(${name} ${LLVM_COMMON_DEPENDS})
|
||||
# Add dependencies also to objlibs.
|
||||
@ -328,14 +353,6 @@ macro(add_llvm_library name)
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
endif()
|
||||
set_target_properties(${name} PROPERTIES FOLDER "Libraries")
|
||||
|
||||
# Add the explicit dependency information for this library.
|
||||
#
|
||||
# It would be nice to verify that we have the dependencies for this library
|
||||
# name, but using get_property(... SET) doesn't suffice to determine if a
|
||||
# property has been set to an empty value.
|
||||
get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
|
||||
target_link_libraries(${name} ${cmake_2_8_12_INTERFACE} ${lib_deps})
|
||||
endmacro(add_llvm_library name)
|
||||
|
||||
macro(add_llvm_loadable_module name)
|
||||
|
Loading…
x
Reference in New Issue
Block a user