|
1 | 1 | if(LLVM_ENABLE_ZLIB)
|
2 |
| - set(system_libs ${ZLIB_LIBRARY}) |
| 2 | + set(imported_libs ZLIB::ZLIB) |
3 | 3 | endif()
|
4 | 4 |
|
5 | 5 | if( MSVC OR MINGW )
|
@@ -186,10 +186,29 @@ add_llvm_component_library(LLVMSupport
|
186 | 186 | ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
|
187 | 187 | ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
|
188 | 188 | ${Backtrace_INCLUDE_DIRS}
|
189 |
| - LINK_LIBS ${system_libs} ${delayload_flags} ${Z3_LINK_FILES} |
| 189 | + LINK_LIBS ${system_libs} ${imported_libs} ${delayload_flags} ${Z3_LINK_FILES} |
190 | 190 | )
|
191 | 191 |
|
192 |
| -set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}") |
| 192 | +set(llvm_system_libs ${system_libs}) |
| 193 | + |
| 194 | +if(LLVM_ENABLE_ZLIB) |
| 195 | + string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) |
| 196 | + get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION_${build_type}) |
| 197 | + if(NOT zlib_library) |
| 198 | + get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) |
| 199 | + endif() |
| 200 | + get_filename_component(zlib_library ${zlib_library} NAME) |
| 201 | + if(zlib_library MATCHES "^${CMAKE_STATIC_LIBRARY_PREFIX}.*${CMAKE_STATIC_LIBRARY_SUFFIX}$") |
| 202 | + STRING(REGEX REPLACE "^${CMAKE_STATIC_LIBRARY_PREFIX}" "" zlib_library ${zlib_library}) |
| 203 | + STRING(REGEX REPLACE "${CMAKE_STATIC_LIBRARY_SUFFIX}$" "" zlib_library ${zlib_library}) |
| 204 | + elseif(zlib_library MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}.*${CMAKE_SHARED_LIBRARY_SUFFIX}$") |
| 205 | + STRING(REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX}" "" zlib_library ${zlib_library}) |
| 206 | + STRING(REGEX REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}$" "" zlib_library ${zlib_library}) |
| 207 | + endif() |
| 208 | + set(llvm_system_libs ${llvm_system_libs} "${zlib_library}") |
| 209 | +endif() |
| 210 | + |
| 211 | +set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${llvm_system_libs}") |
193 | 212 |
|
194 | 213 | if(LLVM_WITH_Z3)
|
195 | 214 | target_include_directories(LLVMSupport SYSTEM
|
|
0 commit comments