Commit d23798a296
Changed files (1)
cmake
cmake/Findllvm.cmake
@@ -5,15 +5,15 @@
# LLVM_FOUND
# LLVM_INCLUDE_DIRS
# LLVM_LIBRARIES
-# LLVM_LIBDIRS
+# LLVM_LIBDIR
find_program(LLVM_CONFIG_EXE
- NAMES llvm-config-8 llvm-config-8.0 llvm-config80 llvm-config
- PATHS
- "/mingw64/bin"
- "/c/msys64/mingw64/bin"
- "c:/msys64/mingw64/bin"
- "C:/Libraries/llvm-8.0.0/bin")
+ NAMES llvm-config-8 llvm-config-8.0 llvm-config80 llvm-config
+ PATHS
+ "/mingw64/bin"
+ "/c/msys64/mingw64/bin"
+ "c:/msys64/mingw64/bin"
+ "C:/Libraries/llvm-8.0.0/bin")
if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
message(FATAL_ERROR "unable to find llvm-config")
@@ -24,9 +24,9 @@ if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
endif()
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --version
- OUTPUT_VARIABLE LLVM_CONFIG_VERSION
- OUTPUT_STRIP_TRAILING_WHITESPACE)
+ COMMAND ${LLVM_CONFIG_EXE} --version
+ OUTPUT_VARIABLE LLVM_CONFIG_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
if("${LLVM_CONFIG_VERSION}" VERSION_LESS 8)
message(FATAL_ERROR "expected LLVM 8.x but found ${LLVM_CONFIG_VERSION}")
@@ -39,15 +39,15 @@ if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 9)
endif()
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --targets-built
- OUTPUT_VARIABLE LLVM_TARGETS_BUILT_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --targets-built
+ OUTPUT_VARIABLE LLVM_TARGETS_BUILT_SPACES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}")
function(NEED_TARGET TARGET_NAME)
- list (FIND LLVM_TARGETS_BUILT "${TARGET_NAME}" _index)
- if (${_index} EQUAL -1)
- message(FATAL_ERROR "LLVM is missing target ${TARGET_NAME}. Zig requires LLVM to be built with all default targets enabled.")
- endif()
+ list (FIND LLVM_TARGETS_BUILT "${TARGET_NAME}" _index)
+ if (${_index} EQUAL -1)
+ message(FATAL_ERROR "LLVM is missing target ${TARGET_NAME}. Zig requires LLVM to be built with all default targets enabled.")
+ endif()
endfunction(NEED_TARGET)
NEED_TARGET("AArch64")
NEED_TARGET("AMDGPU")
@@ -67,47 +67,53 @@ NEED_TARGET("XCore")
if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug") OR ZIG_STATIC)
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static
- OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --libdir --link-static
+ OUTPUT_VARIABLE LLVM_LIBDIR_ORIG
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ file(TO_CMAKE_PATH "${LLVM_LIBDIR_ORIG}" LLVM_LIBDIR)
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static
- OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --libnames --link-static
+ OUTPUT_VARIABLE LLVM_LIBNAMES_SPACES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE " " ";" LLVM_LIBNAMES "${LLVM_LIBNAMES_SPACES}")
+ foreach(LLVM_LIBNAME ${LLVM_LIBNAMES})
+ list(APPEND LLVM_LIBRARIES "${LLVM_LIBDIR}/${LLVM_LIBNAME}")
+ endforeach()
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libdir --link-static
- OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static
+ OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}")
endif()
if(NOT LLVM_LIBRARIES)
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libs
- OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --libdir
+ OUTPUT_VARIABLE LLVM_LIBDIR_ORIG
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ file(TO_CMAKE_PATH "${LLVM_LIBDIR_ORIG}" LLVM_LIBDIR)
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --system-libs
- OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --libs
+ OUTPUT_VARIABLE LLVM_LIBNAMES_SPACES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE " " ";" LLVM_LIBNAMES "${LLVM_LIBNAMES_SPACES}")
+ foreach(LLVM_LIBNAME ${LLVM_LIBNAMES})
+ list(APPEND LLVM_LIBRARIES "${LLVM_LIBDIR}/${LLVM_LIBNAME}")
+ endforeach()
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --libdir
- OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}")
+ COMMAND ${LLVM_CONFIG_EXE} --system-libs
+ OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}")
endif()
execute_process(
- COMMAND ${LLVM_CONFIG_EXE} --includedir
- OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
- OUTPUT_STRIP_TRAILING_WHITESPACE)
+ COMMAND ${LLVM_CONFIG_EXE} --includedir
+ OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
@@ -116,9 +122,9 @@ if(NOT LLVM_LIBRARIES)
endif()
link_directories("${CMAKE_PREFIX_PATH}/lib")
-link_directories("${LLVM_LIBDIRS}")
+link_directories("${LLVM_LIBDIR}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LLVM DEFAULT_MSG LLVM_LIBRARIES LLVM_INCLUDE_DIRS)
-mark_as_advanced(LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_LIBDIRS)
+mark_as_advanced(LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_LIBDIR)