authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-03-13 14:30:56-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-03-13 14:30:56-07:00
log4e9894cfc4c8e2e1d3e01aa2e3400b295b0ee2df
treeefc59febac4df5fb139b180ac4e8347b00f8fbe7
parentcc650abf09d98ff241cc28b50b2519a9c4919dd0

cmake build: allow overriding whether to use llvm-config

Previously, there was an option ZIG_PREFER_LLVM_CONFIG which would override the default of not using llvm-config when cross compiling. That option is now removed in favor of the more powerful ZIG_USE_LLVM_CONFIG which defaults to OFF for cross compiling and ON for native compilation. The option overrides the default. This will be used in zig-bootstrap to improve support for native builds.

2 files changed, 7 insertions(+), 2 deletions(-)

CMakeLists.txt+6-1
......@@ -87,10 +87,15 @@ option(ZIG_TEST_COVERAGE "Build Zig with test coverage instrumentation" OFF)
8787set(ZIG_TARGET_TRIPLE "native" CACHE STRING "arch-os-abi to output binaries for")
8888set(ZIG_TARGET_MCPU "baseline" CACHE STRING "-mcpu parameter to output binaries for")
8989set(ZIG_EXECUTABLE "" CACHE STRING "(when cross compiling) path to already-built zig binary")
90set(ZIG_PREFER_LLVM_CONFIG off CACHE BOOL "(when cross compiling) use llvm-config to find target llvm dependencies if needed")
9190set(ZIG_SINGLE_THREADED off CACHE BOOL "limit the zig compiler to use only 1 thread")
9291set(ZIG_OMIT_STAGE2 off CACHE BOOL "omit the stage2 backend from stage1")
9392
93if("${ZIG_TARGET_TRIPLE}" STREQUAL "native")
94 set(ZIG_USE_LLVM_CONFIG ON CACHE BOOL "use llvm-config to find LLVM libraries")
95else()
96 set(ZIG_USE_LLVM_CONFIG OFF CACHE BOOL "use llvm-config to find LLVM libraries")
97endif()
98
9499find_package(llvm)
95100find_package(clang)
96101find_package(lld)
cmake/Findllvm.cmake+1-1
......@@ -63,7 +63,7 @@ if(ZIG_PREFER_CLANG_CPP_DYLIB)
6363 if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 12)
6464 message(FATAL_ERROR "expected LLVM 11.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
6565 endif()
66elseif(("${ZIG_TARGET_TRIPLE}" STREQUAL "native") OR ZIG_PREFER_LLVM_CONFIG)
66elseif(ZIG_USE_LLVM_CONFIG)
6767 find_program(LLVM_CONFIG_EXE
6868 NAMES llvm-config-11 llvm-config-11.0 llvm-config110 llvm-config11 llvm-config
6969 PATHS