2013-05-20 18:19:09 +02:00
|
|
|
# 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)
|
|
|
|
|
2013-05-20 18:22:45 +02:00
|
|
|
# Targets
|
2013-05-18 19:39:36 +02:00
|
|
|
add_library(libowlps.so SHARED libowlps.c)
|
2013-05-20 18:22:45 +02:00
|
|
|
add_library(libowlps.a STATIC libowlps.c)
|
|
|
|
|
|
|
|
# Fix targets' names
|
2013-05-18 19:39:36 +02:00
|
|
|
set_target_properties(
|
|
|
|
libowlps.a libowlps.so
|
2013-05-20 03:10:57 +02:00
|
|
|
PROPERTIES
|
|
|
|
OUTPUT_NAME owlps
|
|
|
|
SOVERSION 3
|
|
|
|
VERSION 3.1
|
|
|
|
)
|
2013-05-20 18:22:45 +02:00
|
|
|
|
|
|
|
# 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
|
2013-05-20 18:19:09 +02:00
|
|
|
target_link_libraries(libowlps.so ${EXTRA_LIBS})
|
|
|
|
target_link_libraries(libowlps.a ${EXTRA_LIBS})
|
2013-05-20 18:22:45 +02:00
|
|
|
|
|
|
|
# Install targets
|
2013-05-20 03:45:06 +02:00
|
|
|
install(
|
|
|
|
TARGETS libowlps.so libowlps.a
|
|
|
|
DESTINATION lib)
|
|
|
|
install(
|
|
|
|
FILES owlps.h
|
|
|
|
DESTINATION include)
|