llvm-project/llvm/cmake/modules
Mircea Trofin 62841415e6 [llvm] Added support for stand-alone cmake object libraries.
Summary:
Currently, add_llvm_library would create an OBJECT library alongside
of a STATIC / SHARED library, but losing the link interface (its
elements would become dependencies instead). To support scenarios
where linking an object library also brings in its usage
requirements, this patch adds support for 'stand-alone' OBJECT
libraries - i.e. without an accompanying SHARED/STATIC library, and
maintaining the link interface defined by the user.

This is useful for cases where, for example, we want to build a part
of a component separately. Using a STATIC target would incur the risk
that symbols not referenced in the consumer would be dropped (which may
be undesirable).

The current application is the ML part of Analysis. It should be part
of the Analysis component, so it may reference other analyses; and (in
upcoming changes) it has dependencies on optional libraries.

Reviewers: karies, davidxl, beanz, phosek, smeenai

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81447
2020-06-24 08:18:42 -07:00
..
AddLLVM.cmake [llvm] Added support for stand-alone cmake object libraries. 2020-06-24 08:18:42 -07:00
AddLLVMDefinitions.cmake
AddOCaml.cmake [llvm] [ocaml] Support linking against dylib 2019-10-11 14:32:43 +00:00
AddSphinxTarget.cmake [clang][cmake] Include generated rst files in html built by docs-clang-html target 2020-03-05 21:30:37 -08:00
CMakeLists.txt [CMake] Provide a proper default location for llvm-lit for out-of-tree users on Windows host. 2020-05-01 11:48:30 -07:00
CheckAtomic.cmake [CMake][NFC] Clean up CheckAtomic.cmake 2020-04-18 12:53:22 +01:00
CheckCompilerVersion.cmake MSVC Buggy version detection: turn pre-processor error into CMake configuration time check 2020-01-31 00:11:55 +00:00
CheckLinkerFlag.cmake
ChooseMSVCCRT.cmake
CrossCompile.cmake [CMake] Fix cross-compiling with LLVM as CMake subproject 2020-04-30 16:54:20 +02:00
DetermineGCCCompatible.cmake
FindGRPC.cmake [clangd] Fix remote index build for macOS with Homebrew-installed gRPC and Protobuf 2020-05-11 12:28:07 +02:00
FindLibpfm.cmake
FindOCaml.cmake
FindSphinx.cmake
FindZ3.cmake [NFC] Fix Z3 version detection regexp 2020-04-09 13:06:22 +02:00
GenerateVersionFromVCS.cmake
GetHostTriple.cmake [AIX] Improve 32/64-bit build configuration 2020-02-20 15:41:00 -05:00
HandleLLVMOptions.cmake [CMake] Properly handle the LTO cache arguments for MinGW 2020-05-25 10:34:09 +03:00
HandleLLVMStdlib.cmake Add support in CMake to statically link the C++ standard library. 2019-08-14 19:55:59 +00:00
LLVM-Config.cmake Remove AllTargetsAsmPrinters 2020-01-17 19:04:06 -05:00
LLVMConfig.cmake.in [CMAKE] Provide default location for llvm-lit for out-of-tree users. 2020-04-22 15:13:23 -07:00
LLVMConfigVersion.cmake.in
LLVMDistributionSupport.cmake
LLVMExternalProjectUtils.cmake [cmake] Only set deps for an ExternalProject if the type is executable or library 2020-04-01 23:29:01 -04:00
LLVMInstallSymlink.cmake [cmake] install_symlink should obey DESTDIR unconditionally 2019-08-15 15:36:13 +00:00
LLVMProcessSources.cmake [clangd] Fix remote index build without shared libs mode 2020-04-28 19:16:37 +02:00
TableGen.cmake [CMake] -gen-dag-isel: add -omit-comments if neither Debug nor RelWithDebInfo 2020-05-15 14:03:05 -07:00
UseLibtool.cmake
VersionFromVCS.cmake Make ninja smart console builds more pretty 2020-06-22 06:35:13 -04:00