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' \
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)
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()
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()
- def write_make_fragment(self, output_path):
+ def write_make_fragment(self, output_path, enabled_optional_components):
"""
write_make_fragment(output_path) -> None
f.write("%s:\n" % (mk_quote_string_for_target(dep),))
f.write('endif\n')
+ f.write("""
+# List of libraries to be exported for use by applications.
+# See 'cmake/modules/Makefile'.
+LLVM_LIBS_TO_EXPORT :=""")
+ self.foreach_cmake_library(
+ lambda ci:
+ 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.write('\n')
f.close()
def add_magic_target_components(parser, project, opts):
# Write out the make fragment, if requested.
if opts.write_make_fragment:
- project_info.write_make_fragment(opts.write_make_fragment)
+ project_info.write_make_fragment(opts.write_make_fragment,
+ opts.optional_components)
# Write out the cmake fragment, if requested.
if opts.write_cmake_fragment: