xref: /llvm-project/llvm/cmake/modules/LLVMConfig.cmake.in (revision cace9869775a185793122f845d81a5ff46f15728)
1# This file provides information and services to the final user.
2
3@LLVM_CONFIG_CODE@
4
5# For finding self-installed Find*.cmake packages.
6list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
7
8set(LLVM_VERSION_MAJOR @LLVM_VERSION_MAJOR@)
9set(LLVM_VERSION_MINOR @LLVM_VERSION_MINOR@)
10set(LLVM_VERSION_PATCH @LLVM_VERSION_PATCH@)
11set(LLVM_VERSION_SUFFIX @LLVM_VERSION_SUFFIX@)
12set(LLVM_PACKAGE_VERSION @PACKAGE_VERSION@)
13set(LLVM_PACKAGE_BUGREPORT @PACKAGE_BUGREPORT@)
14
15set(LLVM_BUILD_TYPE @CMAKE_BUILD_TYPE@)
16
17set(CMAKE_MSVC_RUNTIME_LIBRARY @CMAKE_MSVC_RUNTIME_LIBRARY@)
18
19set(LLVM_USE_SPLIT_DWARF @LLVM_USE_SPLIT_DWARF@)
20
21set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
22
23set(LLVM_AVAILABLE_LIBS @LLVM_AVAILABLE_LIBS@)
24
25@LLVM_CONFIG_LINK_LLVM_DYLIB@
26
27set(LLVM_DYLIB_COMPONENTS @LLVM_DYLIB_COMPONENTS@)
28
29set(LLVM_ALL_TARGETS @LLVM_ALL_TARGETS@)
30
31set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)
32
33set(LLVM_TARGETS_WITH_JIT @LLVM_TARGETS_WITH_JIT@)
34
35@all_llvm_lib_deps@
36
37set(LLVM_TARGET_TRIPLE "@LLVM_TARGET_TRIPLE@")
38
39set(LLVM_HOST_TRIPLE "@LLVM_HOST_TRIPLE@")
40
41set(LLVM_ABI_BREAKING_CHECKS @LLVM_ABI_BREAKING_CHECKS@)
42
43set(LLVM_ENABLE_WARNINGS @LLVM_ENABLE_WARNINGS@)
44
45set(LLVM_ENABLE_EXPENSIVE_CHECKS @LLVM_ENABLE_EXPENSIVE_CHECKS@)
46
47set(LLVM_ENABLE_ASSERTIONS @LLVM_ENABLE_ASSERTIONS@)
48
49set(LLVM_ENABLE_EH @LLVM_ENABLE_EH@)
50
51set(LLVM_ENABLE_FFI @LLVM_ENABLE_FFI@)
52if(LLVM_ENABLE_FFI)
53  find_package(FFI)
54endif()
55
56set(LLVM_ENABLE_RTTI @LLVM_ENABLE_RTTI@)
57
58set(LLVM_ENABLE_LIBEDIT @HAVE_LIBEDIT@)
59if(LLVM_ENABLE_LIBEDIT)
60  find_package(LibEdit)
61endif()
62
63set(LLVM_ENABLE_THREADS @LLVM_ENABLE_THREADS@)
64
65set(LLVM_ENABLE_UNWIND_TABLES @LLVM_ENABLE_UNWIND_TABLES@)
66
67set(LLVM_ENABLE_ZLIB @LLVM_ENABLE_ZLIB@)
68if(LLVM_ENABLE_ZLIB)
69  set(ZLIB_ROOT @ZLIB_ROOT@)
70  find_package(ZLIB)
71endif()
72
73set(LLVM_ENABLE_ZSTD @LLVM_ENABLE_ZSTD@)
74if(LLVM_ENABLE_ZSTD)
75  find_package(zstd)
76endif()
77
78set(LLVM_ENABLE_LIBXML2 @LLVM_ENABLE_LIBXML2@)
79if(LLVM_ENABLE_LIBXML2)
80  find_package(LibXml2)
81endif()
82
83set(LLVM_ENABLE_CURL @LLVM_ENABLE_CURL@)
84if(LLVM_ENABLE_CURL)
85  find_package(CURL)
86endif()
87
88set(LLVM_ENABLE_HTTPLIB @LLVM_ENABLE_HTTPLIB@)
89if(LLVM_ENABLE_HTTPLIB)
90  find_package(httplib)
91endif()
92
93set(LLVM_WITH_Z3 @LLVM_WITH_Z3@)
94
95set(LLVM_ENABLE_DIA_SDK @LLVM_ENABLE_DIA_SDK@)
96
97set(LLVM_NATIVE_ARCH @LLVM_NATIVE_ARCH@)
98
99set(LLVM_ENABLE_PIC @LLVM_ENABLE_PIC@)
100
101set(LLVM_BUILD_32_BITS @LLVM_BUILD_32_BITS@)
102
103if (NOT "@LLVM_PTHREAD_LIB@" STREQUAL "")
104  set(LLVM_PTHREAD_LIB "@LLVM_PTHREAD_LIB@")
105endif()
106
107set(LLVM_ENABLE_PLUGINS @LLVM_ENABLE_PLUGINS@)
108set(LLVM_EXPORT_SYMBOLS_FOR_PLUGINS @LLVM_EXPORT_SYMBOLS_FOR_PLUGINS@)
109set(LLVM_PLUGIN_EXT @LLVM_PLUGIN_EXT@)
110
111set(LLVM_ON_UNIX @LLVM_ON_UNIX@)
112
113set(LLVM_LIBDIR_SUFFIX @LLVM_LIBDIR_SUFFIX@)
114
115set(LLVM_INCLUDE_DIRS "@LLVM_CONFIG_INCLUDE_DIRS@")
116set(LLVM_LIBRARY_DIRS "@LLVM_CONFIG_LIBRARY_DIRS@")
117
118set(LLVM_APPEND_VC_REV "@LLVM_APPEND_VC_REV@")
119
120# These variables are duplicated for install tree but they have different
121# values for build tree.  LLVM_INCLUDE_DIRS contains both source
122# and generated include directories while the following variables have
123# them split.
124
125# These are the "main" dirs
126set(LLVM_MAIN_INCLUDE_DIR "@LLVM_CONFIG_MAIN_INCLUDE_DIR@")
127set(LLVM_LIBRARY_DIR "@LLVM_CONFIG_LIBRARY_DIR@")
128
129# This is a secondary one for generated files
130set(LLVM_INCLUDE_DIR "@LLVM_CONFIG_INCLUDE_DIR@")
131
132set(LLVM_DEFINITIONS "@LLVM_DEFINITIONS@")
133set(LLVM_BINARY_DIR "@LLVM_CONFIG_BINARY_DIR@")
134set(LLVM_CMAKE_DIR "@LLVM_CONFIG_CMAKE_DIR@")
135set(LLVM_TOOLS_BINARY_DIR "@LLVM_CONFIG_TOOLS_BINARY_DIR@")
136set(LLVM_HAVE_OPT_VIEWER_MODULES @LLVM_HAVE_OPT_VIEWER_MODULES@)
137set(LLVM_CONFIGURATION_TYPES @CMAKE_CONFIGURATION_TYPES@)
138set(LLVM_ENABLE_SHARED_LIBS @BUILD_SHARED_LIBS@)
139
140set(LLVM_DEFAULT_EXTERNAL_LIT "@LLVM_CONFIG_DEFAULT_EXTERNAL_LIT@")
141set(LLVM_LIT_ARGS "@LLVM_LIT_ARGS@")
142
143if(NOT TARGET LLVMSupport)
144  @LLVM_CONFIG_INCLUDE_EXPORTS@
145  @llvm_config_include_buildtree_only_exports@
146endif()
147
148# By creating the following targets here, subprojects that depend on
149# LLVM's tablegen-generated headers can always depend on this target
150# whether building in-tree with LLVM or not.
151if(NOT TARGET intrinsics_gen)
152  add_custom_target(intrinsics_gen)
153endif()
154if(NOT TARGET vt_gen)
155  add_custom_target(vt_gen)
156endif()
157if(NOT TARGET omp_gen)
158  add_custom_target(omp_gen)
159endif()
160if(NOT TARGET acc_gen)
161  add_custom_target(acc_gen)
162endif()
163if(NOT TARGET ARMTargetParserTableGen)
164  add_custom_target(ARMTargetParserTableGen)
165endif()
166if(NOT TARGET AArch64TargetParserTableGen)
167  add_custom_target(AArch64TargetParserTableGen)
168endif()
169if(NOT TARGET RISCVTargetParserTableGen)
170  add_custom_target(RISCVTargetParserTableGen)
171endif()
172
173set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On)
174include(${LLVM_CMAKE_DIR}/LLVM-Config.cmake)
175