uSTL_2.3/cmake/FindUstl.cmake

30 lines
995 B
CMake

find_package(Gint 2.1 REQUIRED)
execute_process(
COMMAND ${CMAKE_C_COMPILER} -print-file-name=libustl.a
OUTPUT_VARIABLE EX_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT "${EX_PATH}" STREQUAL "libustl.a")
execute_process(
COMMAND ${CMAKE_C_COMPILER} -print-file-name=include/config.h
OUTPUT_VARIABLE EX_CONFIG OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND sed -E "s/#define.*EX_VERSION\\s+\"(\\S+)\"$/\\1/p; d" ${EX_CONFIG}
OUTPUT_VARIABLE EX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibUstl
REQUIRED_VARS EX_CONFIG EX_VERSION
VERSION_VAR EX_VERSION)
if(LibUstl_FOUND)
add_library(LibUstl::LibUstl UNKNOWN IMPORTED)
set_target_properties(LibUstl::LibUstl PROPERTIES
IMPORTED_LOCATION "${EX_PATH}"
INTERFACE_COMPILE_OPTIONS -std=c++11 -fno-rtti -fno-use-cxa-atexit
INTERFACE_LINK_OPTIONS -lustl
IMPORTED_LINK_INTERFACE_LIBRARIES Gint::Gint)
endif()