| ... | ... | @@ -15,15 +15,51 @@ find_program(LLVM_CONFIG_EXE |
| 15 | 15 | "c:/msys64/mingw64/bin" |
| 16 | 16 | "C:/Libraries/llvm-7.0.0/bin") |
| 17 | 17 | |
| 18 | if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND") |
| 19 | message(FATAL_ERROR "unable to find llvm-config") |
| 20 | endif() |
| 21 | |
| 18 | 22 | execute_process( |
| 19 | 23 | 	COMMAND ${LLVM_CONFIG_EXE} --version |
| 20 | 24 | 	OUTPUT_VARIABLE LLVM_CONFIG_VERSION |
| 21 | 25 | 	OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 22 | 26 | |
| 23 | | if(LLVM_CONFIG_VERSION VERSION_LESS 7) |
| 24 | | message(FATAL_ERROR "expected LLVM version >=7 but found ${LLVM_CONFIG_VERSION}") |
| 27 | if("${LLVM_CONFIG_VERSION}" VERSION_LESS 7) |
| 28 | message(FATAL_ERROR "expected LLVM 7.x but found ${LLVM_CONFIG_VERSION}") |
| 29 | endif() |
| 30 | if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 8) |
| 31 | message(FATAL_ERROR "expected LLVM 7.x but found ${LLVM_CONFIG_VERSION}") |
| 32 | endif() |
| 33 | if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 8) |
| 34 | message(FATAL_ERROR "expected LLVM 7.x but found ${LLVM_CONFIG_VERSION}") |
| 25 | 35 | endif() |
| 26 | 36 | |
| 37 | execute_process( |
| 38 | 	COMMAND ${LLVM_CONFIG_EXE} --targets-built |
| 39 | OUTPUT_VARIABLE LLVM_TARGETS_BUILT_SPACES |
| 40 | 	OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 41 | string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}") |
| 42 | function(NEED_TARGET TARGET_NAME) |
| 43 | list (FIND LLVM_TARGETS_BUILT "${TARGET_NAME}" _index) |
| 44 | if (${_index} EQUAL -1) |
| 45 | message(FATAL_ERROR "LLVM is missing target ${TARGET_NAME}. Zig requires LLVM to be built with all default targets enabled.") |
| 46 | endif() |
| 47 | endfunction(NEED_TARGET) |
| 48 | NEED_TARGET("AArch64") |
| 49 | NEED_TARGET("AMDGPU") |
| 50 | NEED_TARGET("ARM") |
| 51 | NEED_TARGET("BPF") |
| 52 | NEED_TARGET("Hexagon") |
| 53 | NEED_TARGET("Lanai") |
| 54 | NEED_TARGET("Mips") |
| 55 | NEED_TARGET("MSP430") |
| 56 | NEED_TARGET("NVPTX") |
| 57 | NEED_TARGET("PowerPC") |
| 58 | NEED_TARGET("Sparc") |
| 59 | NEED_TARGET("SystemZ") |
| 60 | NEED_TARGET("X86") |
| 61 | NEED_TARGET("XCore") |
| 62 | |
| 27 | 63 | if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug") OR ZIG_STATIC) |
| 28 | 64 | execute_process( |
| 29 | 65 | COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static |