CMake: link libraries to libc and other

Link the libraries to libc explicitely.
Link libowlps to librt on GNU platforms.
This commit is contained in:
Matteo Cypriani 2013-05-20 12:19:09 -04:00
parent c41f6d9547
commit 51cb1ab08a
3 changed files with 25 additions and 4 deletions

View File

@ -1,3 +1,6 @@
# Explicitly link to libc
set(EXTRA_LIBS ${EXTRA_LIBS} c)
add_library(libowlps-client.a STATIC libowlps-client.c)
add_library(libowlps-client.so SHARED libowlps-client.c)
set_target_properties(
@ -7,8 +10,8 @@ set_target_properties(
SOVERSION 1
VERSION 1.0
)
target_link_libraries(libowlps-client.so libowlps.so)
target_link_libraries(libowlps-client.a libowlps.a)
target_link_libraries(libowlps-client.so libowlps.so ${EXTRA_LIBS})
target_link_libraries(libowlps-client.a libowlps.a ${EXTRA_LIBS})
install(
TARGETS libowlps-client.so libowlps-client.a
DESTINATION lib)

View File

@ -1,3 +1,6 @@
# Explicitly link to libc
set(EXTRA_LIBS ${EXTRA_LIBS} c)
add_library(libowlps-resultreader.a STATIC libowlps-resultreader.c)
add_library(libowlps-resultreader.so SHARED libowlps-resultreader.c)
set_target_properties(
@ -7,8 +10,8 @@ set_target_properties(
SOVERSION 1
VERSION 1.0
)
target_link_libraries(libowlps-resultreader.so libowlps.so)
target_link_libraries(libowlps-resultreader.a libowlps.a)
target_link_libraries(libowlps-resultreader.so libowlps.so ${EXTRA_LIBS})
target_link_libraries(libowlps-resultreader.a libowlps.a ${EXTRA_LIBS})
install(
TARGETS libowlps-resultreader.so libowlps-resultreader.a
DESTINATION lib)
@ -24,6 +27,9 @@ install(
FILES owlps-resultreader.h
DESTINATION include)
### Demo program ###
add_executable(owlps-resultreader-udp.semistatic EXCLUDE_FROM_ALL
owlps-resultreader-udp.c)
target_link_libraries(owlps-resultreader-udp.semistatic

View File

@ -1,3 +1,13 @@
# 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)
add_library(libowlps.a STATIC libowlps.c)
add_library(libowlps.so SHARED libowlps.c)
set_target_properties(
@ -7,6 +17,8 @@ set_target_properties(
SOVERSION 3
VERSION 3.1
)
target_link_libraries(libowlps.so ${EXTRA_LIBS})
target_link_libraries(libowlps.a ${EXTRA_LIBS})
install(
TARGETS libowlps.so libowlps.a
DESTINATION lib)