mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[CMake] OBJLIB-ize *-tblgen.
This improves dependency chain of; (LLVMSupport && LLVMTableGen) && (*.cpp in *-tblgen) && (linking *-tblgen) with; (LLVMSupport && LLVMTableGen && *.cpp) && (linking *-tblgen) llvm-svn: 246156
This commit is contained in:
parent
a4f654dac4
commit
6c960875f9
@ -565,6 +565,19 @@ macro(add_llvm_executable name)
|
|||||||
llvm_process_sources( ALL_FILES ${ARGN} )
|
llvm_process_sources( ALL_FILES ${ARGN} )
|
||||||
add_windows_version_resource_file(ALL_FILES ${ALL_FILES})
|
add_windows_version_resource_file(ALL_FILES ${ALL_FILES})
|
||||||
|
|
||||||
|
# Generate objlib
|
||||||
|
if(LLVM_ENABLE_OBJLIB)
|
||||||
|
# Generate an obj library for both targets.
|
||||||
|
set(obj_name "obj.${name}")
|
||||||
|
add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL
|
||||||
|
${ALL_FILES}
|
||||||
|
)
|
||||||
|
llvm_update_compile_flags(${obj_name})
|
||||||
|
set(ALL_FILES "$<TARGET_OBJECTS:${obj_name}>")
|
||||||
|
|
||||||
|
set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries")
|
||||||
|
endif()
|
||||||
|
|
||||||
if( EXCLUDE_FROM_ALL )
|
if( EXCLUDE_FROM_ALL )
|
||||||
add_executable(${name} EXCLUDE_FROM_ALL ${ALL_FILES})
|
add_executable(${name} EXCLUDE_FROM_ALL ${ALL_FILES})
|
||||||
else()
|
else()
|
||||||
|
@ -73,6 +73,10 @@ endfunction()
|
|||||||
macro(add_tablegen target project)
|
macro(add_tablegen target project)
|
||||||
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
|
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
|
||||||
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
|
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
|
||||||
|
|
||||||
|
# FIXME: It leaks to user, callee of add_tablegen.
|
||||||
|
set(LLVM_ENABLE_OBJLIB ON)
|
||||||
|
|
||||||
add_llvm_utility(${target} ${ARGN})
|
add_llvm_utility(${target} ${ARGN})
|
||||||
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
|
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user