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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245718
91177308-0d34-0410-b5e6-
96231b3b80d8
LLVM_ENABLE_RTTI := 0
endif
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
ifndef LLVM_LIBS_TO_EXPORT
$(error LLVM_LIBS_TO_EXPORT cannot be empty)
endif
done && \
cat "$(LLVMBuildCMakeExportsFrag)" && \
echo 'set_property(TARGET LLVMSupport APPEND PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES '"$(subst -l,,$(LIBS))"')' \
done && \
cat "$(LLVMBuildCMakeExportsFrag)" && \
echo 'set_property(TARGET LLVMSupport APPEND PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES '"$(subst -l,,$(LIBS))"')' \
all-local:: $(addprefix $(PROJ_OBJ_DIR)/, $(OBJMODS))
all-local:: $(addprefix $(PROJ_OBJ_DIR)/, $(OBJMODS))
def foreach_cmake_library(self, f,
enabled_optional_components,
def foreach_cmake_library(self, f,
enabled_optional_components,
+ skip_disabled,
+ skip_not_installed):
for ci in self.ordered_component_infos:
# Skip optional components which are not enabled.
if ci.type_name == 'OptionalLibrary' \
for ci in self.ordered_component_infos:
# Skip optional components which are not enabled.
if ci.type_name == 'OptionalLibrary' \
if tg and not tg.enabled:
continue
if tg and not tg.enabled:
continue
+ # Skip targets that will not be installed
+ if skip_not_installed and not ci.installed:
+ continue
+
for dep in self.get_required_libraries_for_component(ci)))))
,
enabled_optional_components,
for dep in self.get_required_libraries_for_component(ci)))))
,
enabled_optional_components,
+ skip_disabled = False,
+ skip_not_installed = False # Dependency info must be emitted for internals libs too
for dep in self.get_required_libraries_for_component(ci)))))
,
enabled_optional_components,
for dep in self.get_required_libraries_for_component(ci)))))
,
enabled_optional_components,
+ skip_disabled = True,
+ skip_not_installed = True # Do not export internal libraries like gtest
f.write(' \\\n %s' % ci.get_prefixed_library_name())
,
enabled_optional_components,
f.write(' \\\n %s' % ci.get_prefixed_library_name())
,
enabled_optional_components,
+ skip_disabled = True,
+ skip_not_installed = True # Do not export internal libraries like gtest
f.close()
def add_magic_target_components(parser, project, opts):
f.close()
def add_magic_target_components(parser, project, opts):