| ... | @@ -7,129 +7,66 @@ | ... | @@ -7,129 +7,66 @@ |
| 7 | # LLVM_LIBRARIES | 7 | # LLVM_LIBRARIES |
| 8 | # LLVM_LIBDIRS | 8 | # LLVM_LIBDIRS |
| 9 | | 9 | |
| 10 | if(MSVC) | 10 | find_program(LLVM_CONFIG_EXE |
| 11 | find_package(LLVM REQUIRED CONFIG) | 11 | NAMES llvm-config-5.0 llvm-config |
| 12 | | 12 | PATHS |
| 13 | # TODO: this currently doesn't work, it currently defines UNICODE but zig | 13 | "/mingw64/bin" |
| 14 | # uses MBCS | 14 | "/c/msys64/mingw64/bin" |
| 15 | #add_definitions(${LLVM_DEFINITIONS}) | 15 | "c:/msys64/mingw64/bin" |
| 16 | | 16 | "C:/Libraries/llvm-5.0.0/bin") |
| 17 | link_directories(${LLVM_LIBRARY_DIRS}) | 17 | |
| 18 | llvm_map_components_to_libnames(LLVM_LIBRARIES | 18 | if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug")) |
| 19 | LTO | 19 | execute_process( |
| 20 | Symbolize | 20 | COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static |
| 21 | XCoreDisassembler | 21 | OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES |
| 22 | XCoreCodeGen | 22 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 23 | XCoreAsmPrinter | 23 | string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}") |
| 24 | SystemZDisassembler | | |
| 25 | SystemZCodeGen | | |
| 26 | SystemZAsmParser | | |
| 27 | SystemZAsmPrinter | | |
| 28 | SparcDisassembler | | |
| 29 | SparcCodeGen | | |
| 30 | SparcAsmParser | | |
| 31 | SparcAsmPrinter | | |
| 32 | PowerPCDisassembler | | |
| 33 | PowerPCCodeGen | | |
| 34 | PowerPCAsmParser | | |
| 35 | PowerPCAsmPrinter | | |
| 36 | NVPTXCodeGen | | |
| 37 | NVPTXAsmPrinter | | |
| 38 | MSP430CodeGen | | |
| 39 | MSP430AsmPrinter | | |
| 40 | MipsDisassembler | | |
| 41 | MipsCodeGen | | |
| 42 | MipsAsmParser | | |
| 43 | MipsAsmPrinter | | |
| 44 | LanaiDisassembler | | |
| 45 | LanaiCodeGen | | |
| 46 | LanaiAsmParser | | |
| 47 | LanaiAsmPrinter | | |
| 48 | HexagonDisassembler | | |
| 49 | HexagonCodeGen | | |
| 50 | HexagonAsmParser | | |
| 51 | BPFDisassembler | | |
| 52 | BPFCodeGen | | |
| 53 | BPFAsmPrinter | | |
| 54 | ARMDisassembler | | |
| 55 | ARMCodeGen | | |
| 56 | ARMAsmParser | | |
| 57 | ARMAsmPrinter | | |
| 58 | AMDGPUDisassembler | | |
| 59 | AMDGPUCodeGen | | |
| 60 | AMDGPUAsmParser | | |
| 61 | AMDGPUAsmPrinter | | |
| 62 | AArch64Disassembler | | |
| 63 | AArch64CodeGen | | |
| 64 | AArch64AsmParser | | |
| 65 | AArch64AsmPrinter | | |
| 66 | LibDriver | | |
| 67 | X86Disassembler | | |
| 68 | X86AsmParser | | |
| 69 | X86CodeGen | | |
| 70 | X86AsmPrinter | | |
| 71 | Core | | |
| 72 | ) | | |
| 73 | | | |
| 74 | else() | | |
| 75 | find_program(LLVM_CONFIG_EXE | | |
| 76 | NAMES llvm-config-5.0 llvm-config | | |
| 77 | PATHS | | |
| 78 | "/mingw64/bin" | | |
| 79 | "/c/msys64/mingw64/bin" | | |
| 80 | "c:/msys64/mingw64/bin" | | |
| 81 | "C:/Libraries/llvm-5.0.0/bin") | | |
| 82 | | | |
| 83 | if(NOT(CMAKE_BUILD_TYPE STREQUAL "Debug")) | | |
| 84 | execute_process( | | |
| 85 | COMMAND ${LLVM_CONFIG_EXE} --libfiles --link-static | | |
| 86 | OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES | | |
| 87 | OUTPUT_STRIP_TRAILING_WHITESPACE) | | |
| 88 | string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}") | | |
| 89 | | | |
| 90 | execute_process( | | |
| 91 | COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static | | |
| 92 | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES | | |
| 93 | OUTPUT_STRIP_TRAILING_WHITESPACE) | | |
| 94 | string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}") | | |
| 95 | | 24 | |
| 96 | execute_process( | 25 | execute_process( |
| 97 | COMMAND ${LLVM_CONFIG_EXE} --libdir --link-static | 26 | COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static |
| 98 | OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES | 27 | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES |
| 99 | OUTPUT_STRIP_TRAILING_WHITESPACE) | 28 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 100 | string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}") | 29 | string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}") |
| 101 | endif() | | |
| 102 | if(NOT LLVM_LIBRARIES) | | |
| 103 | execute_process( | | |
| 104 | COMMAND ${LLVM_CONFIG_EXE} --libs | | |
| 105 | OUTPUT_VARIABLE LLVM_LIBRARIES | | |
| 106 | OUTPUT_STRIP_TRAILING_WHITESPACE) | | |
| 107 | | 30 | |
| 108 | execute_process( | 31 | execute_process( |
| 109 | COMMAND ${LLVM_CONFIG_EXE} --system-libs | 32 | COMMAND ${LLVM_CONFIG_EXE} --libdir --link-static |
| 110 | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS | 33 | OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES |
| 111 | OUTPUT_STRIP_TRAILING_WHITESPACE) | 34 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| | 35 | string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}") |
| | 36 | endif() |
| | 37 | if(NOT LLVM_LIBRARIES) |
| | 38 | execute_process( |
| | 39 | COMMAND ${LLVM_CONFIG_EXE} --libs |
| | 40 | OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES |
| | 41 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| | 42 | string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}") |
| 112 | | 43 | |
| 113 | execute_process( | 44 | execute_process( |
| 114 | COMMAND ${LLVM_CONFIG_EXE} --libdir | 45 | COMMAND ${LLVM_CONFIG_EXE} --system-libs |
| 115 | OUTPUT_VARIABLE LLVM_LIBDIRS | 46 | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES |
| 116 | OUTPUT_STRIP_TRAILING_WHITESPACE) | 47 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 117 | endif() | 48 | string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}") |
| 118 | | 49 | |
| 119 | execute_process( | 50 | execute_process( |
| 120 | COMMAND ${LLVM_CONFIG_EXE} --includedir | 51 | COMMAND ${LLVM_CONFIG_EXE} --libdir |
| 121 | OUTPUT_VARIABLE LLVM_INCLUDE_DIRS | 52 | OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES |
| 122 | OUTPUT_STRIP_TRAILING_WHITESPACE) | 53 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| | 54 | string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}") |
| | 55 | endif() |
| 123 | | 56 | |
| 124 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) | 57 | execute_process( |
| | 58 | COMMAND ${LLVM_CONFIG_EXE} --includedir |
| | 59 | OUTPUT_VARIABLE LLVM_INCLUDE_DIRS |
| | 60 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 125 | | 61 | |
| 126 | if(NOT LLVM_LIBRARIES) | 62 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) |
| 127 | find_library(LLVM_LIBRARIES NAMES LLVM LLVM-5.0 LLVM-5) | | |
| 128 | endif() | | |
| 129 | | 63 | |
| 130 | link_directories("${CMAKE_PREFIX_PATH}/lib") | 64 | if(NOT LLVM_LIBRARIES) |
| | 65 | find_library(LLVM_LIBRARIES NAMES LLVM LLVM-5.0 LLVM-5) |
| 131 | endif() | 66 | endif() |
| 132 | | 67 | |
| | 68 | link_directories("${CMAKE_PREFIX_PATH}/lib") |
| | 69 | |
| 133 | | 70 | |
| 134 | include(FindPackageHandleStandardArgs) | 71 | include(FindPackageHandleStandardArgs) |
| 135 | find_package_handle_standard_args(LLVM DEFAULT_MSG LLVM_LIBRARIES LLVM_INCLUDE_DIRS) | 72 | find_package_handle_standard_args(LLVM DEFAULT_MSG LLVM_LIBRARIES LLVM_INCLUDE_DIRS) |