blob: cb08edc3eac2debf1db9b42c809aa483a45100f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# LLVM packages can attach shared compression/terminal libraries even to
# LLVMSupport.a. Use their archives so these do not become deployment files.
get_target_property(cpsc_support_libs LLVMSupport INTERFACE_LINK_LIBRARIES)
set(cpsc_saved_library_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES .a)
foreach(cpsc_dependency IN LISTS cpsc_support_libs)
if(cpsc_dependency STREQUAL "ZLIB::ZLIB")
set(cpsc_library_names z)
elseif(cpsc_dependency MATCHES "^zstd::libzstd")
set(cpsc_library_names zstd)
elseif(cpsc_dependency STREQUAL "Terminfo::terminfo")
set(cpsc_library_names terminfo tinfo curses ncurses ncursesw)
else()
continue()
endif()
list(GET cpsc_library_names 0 cpsc_library_name)
cpsc_find_library(CPSC_STATIC_${cpsc_library_name} ${cpsc_library_names})
if(NOT CPSC_STATIC_${cpsc_library_name})
message(FATAL_ERROR
"cpsc requires a static archive for ${cpsc_dependency}; download or install its development package")
endif()
string(REPLACE "${cpsc_dependency}" "${CPSC_STATIC_${cpsc_library_name}}"
cpsc_support_libs "${cpsc_support_libs}")
endforeach()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${cpsc_saved_library_suffixes})
set_property(TARGET LLVMSupport PROPERTY INTERFACE_LINK_LIBRARIES "${cpsc_support_libs}")
|