| ... | ... | @@ -52,6 +52,8 @@ if(ZIG_USE_LLVM_CONFIG) |
| 52 | 52 | set(STATIC_OR_SHARED_LINK "--link-shared") |
| 53 | 53 | elseif (ZIG_STATIC_LLVM) |
| 54 | 54 | set(STATIC_OR_SHARED_LINK "--link-static") |
| 55 | else() |
| 56 | set(STATIC_OR_SHARED_LINK "") |
| 55 | 57 | endif() |
| 56 | 58 | |
| 57 | 59 | execute_process( |
| ... | ... | @@ -103,69 +105,31 @@ if(ZIG_USE_LLVM_CONFIG) |
| 103 | 105 | break() |
| 104 | 106 | endwhile() |
| 105 | 107 | |
| 106 | | if(ZIG_SHARED_LLVM OR ZIG_STATIC_LLVM) |
| 107 | | execute_process( |
| 108 | | COMMAND ${LLVM_CONFIG_EXE} --libfiles ${STATIC_OR_SHARED_LINK} |
| 109 | | OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES |
| 110 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 111 | | string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}") |
| 112 | 108 | |
| 113 | | execute_process( |
| 114 | | COMMAND ${LLVM_CONFIG_EXE} --libdir ${STATIC_OR_SHARED_LINK} |
| 115 | | OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES |
| 116 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 117 | | string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}") |
| 118 | | |
| 119 | | execute_process( |
| 120 | | COMMAND ${LLVM_CONFIG_EXE} --system-libs ${STATIC_OR_SHARED_LINK} |
| 121 | | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES |
| 122 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 123 | | string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}") |
| 109 | execute_process( |
| 110 | COMMAND ${LLVM_CONFIG_EXE} --shared-mode ${STATIC_OR_SHARED_LINK} |
| 111 | OUTPUT_VARIABLE LLVM_LINK_MODE |
| 112 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 124 | 113 | |
| 125 | | execute_process( |
| 126 | | COMMAND ${LLVM_CONFIG_EXE} --shared-mode ${STATIC_OR_SHARED_LINK} |
| 127 | | OUTPUT_VARIABLE LLVM_LINK_MODE |
| 114 | execute_process( |
| 115 | COMMAND ${LLVM_CONFIG_EXE} --libfiles ${STATIC_OR_SHARED_LINK} |
| 116 | OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES |
| 128 | 117 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 129 | | else() |
| 130 | | execute_process( |
| 131 | | COMMAND ${LLVM_CONFIG_EXE} --libs |
| 132 | | OUTPUT_VARIABLE LLVM_LIBRARIES_SPACES |
| 133 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 134 | | string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}") |
| 118 | string(REPLACE " " ";" LLVM_LIBRARIES "${LLVM_LIBRARIES_SPACES}") |
| 135 | 119 | |
| 136 | | execute_process( |
| 137 | | COMMAND ${LLVM_CONFIG_EXE} --libdir |
| 138 | | OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES |
| 139 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 140 | | string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}") |
| 141 | | |
| 142 | | execute_process( |
| 143 | | COMMAND ${LLVM_CONFIG_EXE} --system-libs |
| 144 | | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES |
| 145 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 146 | | string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}") |
| 147 | | |
| 148 | | execute_process( |
| 149 | | COMMAND ${LLVM_CONFIG_EXE} --shared-mode |
| 150 | | OUTPUT_VARIABLE LLVM_LINK_MODE |
| 120 | execute_process( |
| 121 | COMMAND ${LLVM_CONFIG_EXE} --libdir ${STATIC_OR_SHARED_LINK} |
| 122 | OUTPUT_VARIABLE LLVM_LIBDIRS_SPACES |
| 151 | 123 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 152 | | endif() |
| 124 | string(REPLACE " " ";" LLVM_LIBDIRS "${LLVM_LIBDIRS_SPACES}") |
| 153 | 125 | |
| 154 | | if (${LLVM_LINK_MODE} STREQUAL "shared") |
| 155 | | # We always ask for the system libs corresponding to static linking, |
| 156 | | # since on some distros LLD is only available as a static library |
| 157 | | # and we need these libraries to link it successfully |
| 158 | | execute_process( |
| 159 | | COMMAND ${LLVM_CONFIG_EXE} --system-libs --link-static |
| 160 | | OUTPUT_VARIABLE LLVM_STATIC_SYSTEM_LIBS_SPACES |
| 161 | | ERROR_QUIET # Some installations have no static libs, we just ignore the failure |
| 162 | | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 163 | | string(REPLACE " " ";" LLVM_STATIC_SYSTEM_LIBS "${LLVM_STATIC_SYSTEM_LIBS_SPACES}") |
| 126 | execute_process( |
| 127 | COMMAND ${LLVM_CONFIG_EXE} --system-libs ${STATIC_OR_SHARED_LINK} |
| 128 | OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_SPACES |
| 129 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 130 | string(REPLACE " " ";" LLVM_SYSTEM_LIBS "${LLVM_SYSTEM_LIBS_SPACES}") |
| 164 | 131 | |
| 165 | | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS} ${LLVM_STATIC_SYSTEM_LIBS}) |
| 166 | | else() |
| 167 | | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) |
| 168 | | endif() |
| 132 | set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS}) |
| 169 | 133 | |
| 170 | 134 | execute_process( |
| 171 | 135 | COMMAND ${LLVM_CONFIG_EXE} --includedir |
| ... | ... | @@ -373,4 +337,4 @@ endif() |
| 373 | 337 | include(FindPackageHandleStandardArgs) |
| 374 | 338 | find_package_handle_standard_args(llvm DEFAULT_MSG LLVM_LIBRARIES LLVM_INCLUDE_DIRS) |
| 375 | 339 | |
| 376 | | mark_as_advanced(LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_LIBDIRS) |
| 340 | mark_as_advanced(LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_LIBDIRS LLVM_LINK_MODE) |