After building and installing LLVM with LibEdit as a dependency, it is necessary to find it again when LLVM is consumed by another CMake project, otherwise CMake will report an error about a missing target. Note that the FindLibEdit.cmake file is in the "LLVM Common CMake Utils" directory, outside of the LLVM sub-project source directory, so the installed LLVMConfig.cmake relies on the user having installed the LLVM common CMake modules or make available their own Find module. Also note that the controlling HAVE_LIBEDIT CMake variable in LLVMConfig.cmake.in has a different naming convention compared to other similar variables like 'LLVM_ENABLE_TERMINFO'. Refactoring this name would involve touching additional files and should be a follow-up commit. Patch By: ekilmer Differential Revision: https://reviews.llvm.org/D147153
171 lines
4.6 KiB
CMake
171 lines
4.6 KiB
CMake
# This file provides information and services to the final user.
|
|
|
|
@LLVM_CONFIG_CODE@
|
|
|
|
# For finding self-installed Find*.cmake packages.
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
|
|
|
set(LLVM_VERSION_MAJOR @LLVM_VERSION_MAJOR@)
|
|
set(LLVM_VERSION_MINOR @LLVM_VERSION_MINOR@)
|
|
set(LLVM_VERSION_PATCH @LLVM_VERSION_PATCH@)
|
|
set(LLVM_VERSION_SUFFIX @LLVM_VERSION_SUFFIX@)
|
|
set(LLVM_PACKAGE_VERSION @PACKAGE_VERSION@)
|
|
set(LLVM_PACKAGE_BUGREPORT @PACKAGE_BUGREPORT@)
|
|
|
|
set(LLVM_BUILD_TYPE @CMAKE_BUILD_TYPE@)
|
|
|
|
set(LLVM_USE_CRT_DEBUG @LLVM_USE_CRT_DEBUG@)
|
|
set(LLVM_USE_CRT_MINSIZEREL @LLVM_USE_CRT_MINSIZEREL@)
|
|
set(LLVM_USE_CRT_RELEASE @LLVM_USE_CRT_RELEASE@)
|
|
set(LLVM_USE_CRT_RELWITHDEBINFO @LLVM_USE_CRT_RELWITHDEBINFO@)
|
|
|
|
set(LLVM_USE_SPLIT_DWARF @LLVM_USE_SPLIT_DWARF@)
|
|
|
|
set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
|
|
|
|
set(LLVM_AVAILABLE_LIBS @LLVM_AVAILABLE_LIBS@)
|
|
|
|
@LLVM_CONFIG_LINK_LLVM_DYLIB@
|
|
|
|
set(LLVM_DYLIB_COMPONENTS @LLVM_DYLIB_COMPONENTS@)
|
|
|
|
set(LLVM_ALL_TARGETS @LLVM_ALL_TARGETS@)
|
|
|
|
set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)
|
|
|
|
set(LLVM_TARGETS_WITH_JIT @LLVM_TARGETS_WITH_JIT@)
|
|
|
|
@all_llvm_lib_deps@
|
|
|
|
set(LLVM_TARGET_TRIPLE "@LLVM_TARGET_TRIPLE@")
|
|
|
|
set(LLVM_HOST_TRIPLE "@LLVM_HOST_TRIPLE@")
|
|
|
|
set(LLVM_ABI_BREAKING_CHECKS @LLVM_ABI_BREAKING_CHECKS@)
|
|
|
|
set(LLVM_ENABLE_WARNINGS @LLVM_ENABLE_WARNINGS@)
|
|
|
|
set(LLVM_ENABLE_EXPENSIVE_CHECKS @LLVM_ENABLE_EXPENSIVE_CHECKS@)
|
|
|
|
set(LLVM_ENABLE_ASSERTIONS @LLVM_ENABLE_ASSERTIONS@)
|
|
|
|
set(LLVM_ENABLE_EH @LLVM_ENABLE_EH@)
|
|
|
|
set(LLVM_ENABLE_FFI @LLVM_ENABLE_FFI@)
|
|
if(LLVM_ENABLE_FFI)
|
|
find_package(FFI)
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_RTTI @LLVM_ENABLE_RTTI@)
|
|
|
|
set(LLVM_ENABLE_LIBEDIT @HAVE_LIBEDIT@)
|
|
if(LLVM_ENABLE_LIBEDIT)
|
|
find_package(LibEdit)
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_TERMINFO @LLVM_ENABLE_TERMINFO@)
|
|
if(LLVM_ENABLE_TERMINFO)
|
|
find_package(Terminfo)
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_THREADS @LLVM_ENABLE_THREADS@)
|
|
|
|
set(LLVM_ENABLE_UNWIND_TABLES @LLVM_ENABLE_UNWIND_TABLES@)
|
|
|
|
set(LLVM_ENABLE_ZLIB @LLVM_ENABLE_ZLIB@)
|
|
if(LLVM_ENABLE_ZLIB)
|
|
set(ZLIB_ROOT @ZLIB_ROOT@)
|
|
find_package(ZLIB)
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_ZSTD @LLVM_ENABLE_ZSTD@)
|
|
if(LLVM_ENABLE_ZSTD)
|
|
find_package(zstd)
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_LIBXML2 @LLVM_ENABLE_LIBXML2@)
|
|
if(LLVM_ENABLE_LIBXML2)
|
|
find_package(LibXml2)
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_CURL @LLVM_ENABLE_CURL@)
|
|
if(LLVM_ENABLE_CURL)
|
|
find_package(CURL)
|
|
endif()
|
|
|
|
set(LLVM_WITH_Z3 @LLVM_WITH_Z3@)
|
|
|
|
set(LLVM_ENABLE_DIA_SDK @LLVM_ENABLE_DIA_SDK@)
|
|
|
|
set(LLVM_NATIVE_ARCH @LLVM_NATIVE_ARCH@)
|
|
|
|
set(LLVM_ENABLE_PIC @LLVM_ENABLE_PIC@)
|
|
|
|
set(LLVM_BUILD_32_BITS @LLVM_BUILD_32_BITS@)
|
|
|
|
if (NOT "@LLVM_PTHREAD_LIB@" STREQUAL "")
|
|
set(LLVM_PTHREAD_LIB "@LLVM_PTHREAD_LIB@")
|
|
endif()
|
|
|
|
set(LLVM_ENABLE_PLUGINS @LLVM_ENABLE_PLUGINS@)
|
|
set(LLVM_EXPORT_SYMBOLS_FOR_PLUGINS @LLVM_EXPORT_SYMBOLS_FOR_PLUGINS@)
|
|
set(LLVM_PLUGIN_EXT @LLVM_PLUGIN_EXT@)
|
|
|
|
set(LLVM_ON_UNIX @LLVM_ON_UNIX@)
|
|
|
|
set(LLVM_LIBDIR_SUFFIX @LLVM_LIBDIR_SUFFIX@)
|
|
|
|
set(LLVM_INCLUDE_DIRS "@LLVM_CONFIG_INCLUDE_DIRS@")
|
|
set(LLVM_LIBRARY_DIRS "@LLVM_CONFIG_LIBRARY_DIRS@")
|
|
|
|
set(LLVM_APPEND_VC_REV "@LLVM_APPEND_VC_REV@")
|
|
|
|
# These variables are duplicated for install tree but they have different
|
|
# values for build tree. LLVM_INCLUDE_DIRS contains both source
|
|
# and generated include directories while the following variables have
|
|
# them split.
|
|
|
|
# These are the "main" dirs
|
|
set(LLVM_MAIN_INCLUDE_DIR "@LLVM_CONFIG_MAIN_INCLUDE_DIR@")
|
|
set(LLVM_LIBRARY_DIR "@LLVM_CONFIG_LIBRARY_DIR@")
|
|
|
|
# This is a secondary one for generated files
|
|
set(LLVM_INCLUDE_DIR "@LLVM_CONFIG_INCLUDE_DIR@")
|
|
|
|
set(LLVM_DEFINITIONS "@LLVM_DEFINITIONS@")
|
|
set(LLVM_BINARY_DIR "@LLVM_CONFIG_BINARY_DIR@")
|
|
set(LLVM_CMAKE_DIR "@LLVM_CONFIG_CMAKE_DIR@")
|
|
set(LLVM_TOOLS_BINARY_DIR "@LLVM_CONFIG_TOOLS_BINARY_DIR@")
|
|
set(LLVM_HAVE_OPT_VIEWER_MODULES @LLVM_HAVE_OPT_VIEWER_MODULES@)
|
|
set(LLVM_CONFIGURATION_TYPES @CMAKE_CONFIGURATION_TYPES@)
|
|
set(LLVM_ENABLE_SHARED_LIBS @BUILD_SHARED_LIBS@)
|
|
|
|
set(LLVM_DEFAULT_EXTERNAL_LIT "@LLVM_CONFIG_DEFAULT_EXTERNAL_LIT@")
|
|
set(LLVM_LIT_ARGS "@LLVM_LIT_ARGS@")
|
|
|
|
set(LLVM_HAVE_LIBXAR "@LLVM_HAVE_LIBXAR@")
|
|
|
|
if(NOT TARGET LLVMSupport)
|
|
@LLVM_CONFIG_INCLUDE_EXPORTS@
|
|
@llvm_config_include_buildtree_only_exports@
|
|
endif()
|
|
|
|
# By creating the following targets here, subprojects that depend on
|
|
# LLVM's tablegen-generated headers can always depend on this target
|
|
# whether building in-tree with LLVM or not.
|
|
if(NOT TARGET intrinsics_gen)
|
|
add_custom_target(intrinsics_gen)
|
|
endif()
|
|
if(NOT TARGET omp_gen)
|
|
add_custom_target(omp_gen)
|
|
endif()
|
|
if(NOT TARGET acc_gen)
|
|
add_custom_target(acc_gen)
|
|
endif()
|
|
if(NOT TARGET RISCVTargetParserTableGen)
|
|
add_custom_target(RISCVTargetParserTableGen)
|
|
endif()
|
|
|
|
set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On)
|
|
include(${LLVM_CMAKE_DIR}/LLVM-Config.cmake)
|