88 lines
2.5 KiB
CMake
Generated
88 lines
2.5 KiB
CMake
Generated
# kreuzberg-ffi CMake config-mode find module
|
|
#
|
|
# Defines the imported target:
|
|
# kreuzberg-ffi::kreuzberg-ffi
|
|
#
|
|
# Usage:
|
|
# find_package(kreuzberg-ffi REQUIRED)
|
|
# target_link_libraries(myapp PRIVATE kreuzberg-ffi::kreuzberg-ffi)
|
|
|
|
if(TARGET kreuzberg-ffi::kreuzberg-ffi)
|
|
return()
|
|
endif()
|
|
|
|
get_filename_component(_FFI_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
get_filename_component(_FFI_PREFIX "${_FFI_CMAKE_DIR}/.." ABSOLUTE)
|
|
|
|
find_library(_FFI_LIBRARY
|
|
NAMES kreuzberg_ffi libkreuzberg_ffi
|
|
PATHS "${_FFI_PREFIX}/lib"
|
|
NO_DEFAULT_PATH
|
|
)
|
|
if(NOT _FFI_LIBRARY)
|
|
find_library(_FFI_LIBRARY NAMES kreuzberg_ffi libkreuzberg_ffi)
|
|
endif()
|
|
|
|
find_path(_FFI_INCLUDE_DIR
|
|
NAMES kreuzberg.h
|
|
PATHS "${_FFI_PREFIX}/include"
|
|
NO_DEFAULT_PATH
|
|
)
|
|
if(NOT _FFI_INCLUDE_DIR)
|
|
find_path(_FFI_INCLUDE_DIR NAMES kreuzberg.h)
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(kreuzberg-ffi
|
|
REQUIRED_VARS _FFI_LIBRARY _FFI_INCLUDE_DIR
|
|
)
|
|
|
|
if(kreuzberg_ffi_FOUND)
|
|
set(_FFI_LIB_TYPE UNKNOWN)
|
|
if(_FFI_LIBRARY MATCHES "\\.(dylib|so)$" OR _FFI_LIBRARY MATCHES "\\.so\\.")
|
|
set(_FFI_LIB_TYPE SHARED)
|
|
elseif(_FFI_LIBRARY MATCHES "\\.dll$")
|
|
set(_FFI_LIB_TYPE SHARED)
|
|
elseif(_FFI_LIBRARY MATCHES "\\.(a|lib)$")
|
|
set(_FFI_LIB_TYPE STATIC)
|
|
endif()
|
|
|
|
add_library(kreuzberg-ffi::kreuzberg-ffi ${_FFI_LIB_TYPE} IMPORTED)
|
|
set_target_properties(kreuzberg-ffi::kreuzberg-ffi PROPERTIES
|
|
IMPORTED_LOCATION "${_FFI_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${_FFI_INCLUDE_DIR}"
|
|
)
|
|
|
|
if(WIN32 AND _FFI_LIB_TYPE STREQUAL "SHARED")
|
|
find_file(_FFI_DLL
|
|
NAMES kreuzberg_ffi.dll libkreuzberg_ffi.dll
|
|
PATHS "${_FFI_PREFIX}/bin" "${_FFI_PREFIX}/lib"
|
|
NO_DEFAULT_PATH
|
|
)
|
|
if(_FFI_DLL)
|
|
set_target_properties(kreuzberg-ffi::kreuzberg-ffi PROPERTIES
|
|
IMPORTED_LOCATION "${_FFI_DLL}"
|
|
IMPORTED_IMPLIB "${_FFI_LIBRARY}"
|
|
)
|
|
endif()
|
|
unset(_FFI_DLL CACHE)
|
|
endif()
|
|
|
|
if(APPLE)
|
|
set_property(TARGET kreuzberg-ffi::kreuzberg-ffi APPEND PROPERTY
|
|
INTERFACE_LINK_LIBRARIES "-framework CoreFoundation" "-framework Security" pthread)
|
|
elseif(UNIX)
|
|
set_property(TARGET kreuzberg-ffi::kreuzberg-ffi APPEND PROPERTY
|
|
INTERFACE_LINK_LIBRARIES pthread dl m)
|
|
elseif(WIN32)
|
|
set_property(TARGET kreuzberg-ffi::kreuzberg-ffi APPEND PROPERTY
|
|
INTERFACE_LINK_LIBRARIES ws2_32 userenv bcrypt)
|
|
endif()
|
|
|
|
unset(_FFI_LIB_TYPE)
|
|
endif()
|
|
|
|
mark_as_advanced(_FFI_LIBRARY _FFI_INCLUDE_DIR)
|
|
unset(_FFI_CMAKE_DIR)
|
|
unset(_FFI_PREFIX)
|