owlps/libowlps/CMakeLists.txt

41 lines
957 B
CMake

# On Linux and other GNU systems (e.g. GNU/kFreeBSD), we need -lrt for
# clock_gettime()
string(REGEX MATCH "^GNU" GNU_SYSTEM ${CMAKE_SYSTEM_NAME})
if ("${GNU_SYSTEM}" OR ${CMAKE_SYSTEM_NAME} STREQUAL Linux)
set(EXTRA_LIBS ${EXTRA_LIBS} rt)
endif()
# Explicitly link to libc
set(EXTRA_LIBS ${EXTRA_LIBS} c)
# Targets
add_library(libowlps.so SHARED libowlps.c)
add_library(libowlps.a STATIC libowlps.c)
# Fix targets' names
set_target_properties(
libowlps.a libowlps.so
PROPERTIES
OUTPUT_NAME owlps
SOVERSION 3
VERSION 3.1
)
# Add compile flags
set_target_properties(libowlps.so
PROPERTIES COMPILE_FLAGS ${SHARED_FLAGS})
set_target_properties(libowlps.a
PROPERTIES COMPILE_FLAGS ${EXE_FLAGS})
# Link libraries
target_link_libraries(libowlps.so ${EXTRA_LIBS})
target_link_libraries(libowlps.a ${EXTRA_LIBS})
# Install targets
install(
TARGETS libowlps.so libowlps.a
DESTINATION lib)
install(
FILES owlps.h
DESTINATION include)