-
Notifications
You must be signed in to change notification settings - Fork 7.5k
Expand file tree
/
Copy pathvcpkg-cmake-wrapper.cmake
More file actions
33 lines (31 loc) · 1.74 KB
/
vcpkg-cmake-wrapper.cmake
File metadata and controls
33 lines (31 loc) · 1.74 KB
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
27
28
29
30
31
32
33
include(SelectLibraryConfigurations)
set(Z_VCPKG_ICONV_USES_DARWIN_SDK FALSE)
if(APPLE AND CMAKE_OSX_SYSROOT AND EXISTS "${CMAKE_OSX_SYSROOT}/usr/include/iconv.h")
set(Z_VCPKG_ICONV_USES_DARWIN_SDK TRUE)
set(Iconv_IS_BUILT_IN FALSE CACHE BOOL "iconv requires a separate library")
if(NOT Iconv_INCLUDE_DIR)
set(Iconv_INCLUDE_DIR "${CMAKE_OSX_SYSROOT}/usr/include" CACHE PATH "iconv include directory")
endif()
if(NOT Iconv_LIBRARY)
set(Iconv_LIBRARY iconv CACHE STRING "iconv library")
endif()
endif()
_find_package(${ARGS})
if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN AND NOT Z_VCPKG_ICONV_USES_DARWIN_SDK)
find_path(CHARSET_INCLUDE_DIR NAMES "libcharset.h" HINTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
find_library(CHARSET_LIBRARY_DEBUG NAMES charsetd libcharsetd charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib HINTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug")
find_library(CHARSET_LIBRARY_RELEASE NAMES charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib HINTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}")
select_library_configurations(CHARSET)
if(NOT TARGET Iconv::Charset)
add_library(Iconv::Charset INTERFACE IMPORTED)
set_target_properties(Iconv::Charset PROPERTIES
INTERFACE_LINK_LIBRARIES "\$<\$<NOT:\$<CONFIG:DEBUG>>:${CHARSET_LIBRARY_RELEASE}>;\$<\$<CONFIG:DEBUG>:${CHARSET_LIBRARY_DEBUG}>"
INTERFACE_INCLUDE_DIRECTORIES "${CHARSET_INCLUDE_DIRS}")
endif()
if(CHARSET_LIBRARIES)
list(APPEND Iconv_LIBRARIES ${CHARSET_LIBRARIES})
if(TARGET Iconv::Iconv)
set_property(TARGET Iconv::Iconv APPEND PROPERTY INTERFACE_LINK_LIBRARIES Iconv::Charset)
endif()
endif()
endif()