mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
Filter libraries that are not installed out of CMake exports (currently
gtest and gtest_main) when generating ``Makefile.llvmbuild``. Libraries that are not installed should not be exported because they won't be available from an install tree. Rather than filtering out the gtest libraries in cmake/modules/Makefile, simply teach llvm-build to filter out libraries that will not be installed from its generated list of exported libraries. Note that LLVMBUILD_LIB_DEPS_* are used during our own CMake build process so we cannot filter LLVMBUILD_LIB_DEPS_gtest* out in llvm-build. We must leave this gtest filter logic in cmake/modules/Makefile. llvm-svn: 245718
This commit is contained in:
parent
3e6b9ffdd7
commit
dd489fffd3
@ -37,10 +37,6 @@ else
|
||||
LLVM_ENABLE_RTTI := 0
|
||||
endif
|
||||
|
||||
# Strip out gtest and gtest_main from LLVM_LIBS_TO_EXPORT, these are not
|
||||
# installed and won't be available from the install tree.
|
||||
LLVM_LIBS_TO_EXPORT := $(filter-out gtest gtest_main,$(LLVM_LIBS_TO_EXPORT))
|
||||
|
||||
ifndef LLVM_LIBS_TO_EXPORT
|
||||
$(error LLVM_LIBS_TO_EXPORT cannot be empty)
|
||||
endif
|
||||
@ -122,7 +118,7 @@ $(PROJ_OBJ_DIR)/LLVMExports.cmake: $(LLVMBuildCMakeExportsFrag) Makefile
|
||||
done && \
|
||||
cat "$(LLVMBuildCMakeExportsFrag)" && \
|
||||
echo 'set_property(TARGET LLVMSupport APPEND PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES '"$(subst -l,,$(LIBS))"')' \
|
||||
) | grep -v gtest > $@
|
||||
) > $@
|
||||
|
||||
all-local:: $(addprefix $(PROJ_OBJ_DIR)/, $(OBJMODS))
|
||||
|
||||
|
@ -503,7 +503,8 @@ subdirectories = %s
|
||||
|
||||
def foreach_cmake_library(self, f,
|
||||
enabled_optional_components,
|
||||
skip_disabled):
|
||||
skip_disabled,
|
||||
skip_not_installed):
|
||||
for ci in self.ordered_component_infos:
|
||||
# Skip optional components which are not enabled.
|
||||
if ci.type_name == 'OptionalLibrary' \
|
||||
@ -520,6 +521,10 @@ subdirectories = %s
|
||||
if tg and not tg.enabled:
|
||||
continue
|
||||
|
||||
# Skip targets that will not be installed
|
||||
if skip_not_installed and not ci.installed:
|
||||
continue
|
||||
|
||||
f(ci)
|
||||
|
||||
|
||||
@ -600,7 +605,8 @@ set_property(GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_%s %s)\n""" % (
|
||||
for dep in self.get_required_libraries_for_component(ci)))))
|
||||
,
|
||||
enabled_optional_components,
|
||||
skip_disabled = False
|
||||
skip_disabled = False,
|
||||
skip_not_installed = False # Dependency info must be emitted for internals libs too
|
||||
)
|
||||
|
||||
f.close()
|
||||
@ -635,7 +641,8 @@ set_property(TARGET %s PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES %s)\n""" % (
|
||||
for dep in self.get_required_libraries_for_component(ci)))))
|
||||
,
|
||||
enabled_optional_components,
|
||||
skip_disabled = True
|
||||
skip_disabled = True,
|
||||
skip_not_installed = True # Do not export internal libraries like gtest
|
||||
)
|
||||
|
||||
f.close()
|
||||
@ -715,10 +722,10 @@ LLVM_LIBS_TO_EXPORT :=""")
|
||||
f.write(' \\\n %s' % ci.get_prefixed_library_name())
|
||||
,
|
||||
enabled_optional_components,
|
||||
skip_disabled = True
|
||||
skip_disabled = True,
|
||||
skip_not_installed = True # Do not export internal libraries like gtest
|
||||
)
|
||||
f.write('\n')
|
||||
|
||||
f.close()
|
||||
|
||||
def add_magic_target_components(parser, project, opts):
|
||||
|
Loading…
Reference in New Issue
Block a user