project(libsocket_wrapper C)
-include_directories(${CMAKE_BINARY_DIR})
-
add_library(socket_wrapper SHARED socket_wrapper.c)
+target_include_directories(socket_wrapper
+ PRIVATE
+ ${CMAKE_BINARY_DIR})
+target_compile_options(socket_wrapper
+ PRIVATE
+ ${DEFAULT_C_COMPILE_FLAGS}
+ -D_GNU_SOURCE)
+target_link_libraries(socket_wrapper
+ PRIVATE ${SWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
-target_link_libraries(socket_wrapper ${SWRAP_REQUIRED_LIBRARIES})
+set_target_properties(socket_wrapper
+ PROPERTIES
+ VERSION ${LIBRARY_VERSION}
+ SOVERSION ${LIBRARY_SOVERSION})
+if (DEFINED DEFAULT_LINK_FLAGS)
+ set_target_properties(socket_wrapper
+ PROPERTIES
+ LINK_FLAGS ${DEFAULT_LINK_FLAGS})
+endif()
-install(
- TARGETS
- socket_wrapper
- RUNTIME DESTINATION ${BIN_INSTALL_DIR}
- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+install(TARGETS socket_wrapper
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
-set_target_properties(
- socket_wrapper
- PROPERTIES
- VERSION
- ${LIBRARY_VERSION}
- SOVERSION
- ${LIBRARY_SOVERSION}
-)
+set(SOCKET_WRAPPER_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}socket_wrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" PARENT_SCOPE)
-# This needs to be at the end
-if (POLICY CMP0026)
- cmake_policy(SET CMP0026 OLD)
+add_library(socket_wrapper_noop SHARED socket_wrapper_noop.c)
+target_include_directories(socket_wrapper_noop
+ PRIVATE
+ ${CMAKE_BINARY_DIR})
+target_compile_options(socket_wrapper_noop
+ PRIVATE
+ ${DEFAULT_C_COMPILE_FLAGS}
+ -D_GNU_SOURCE)
+target_link_libraries(socket_wrapper_noop
+ PRIVATE ${SWRAP_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+set_target_properties(socket_wrapper_noop
+ PROPERTIES
+ VERSION ${LIBRARY_VERSION}
+ SOVERSION ${LIBRARY_SOVERSION})
+if (DEFINED DEFAULT_LINK_FLAGS)
+ set_target_properties(socket_wrapper_noop
+ PROPERTIES
+ LINK_FLAGS ${DEFAULT_LINK_FLAGS})
endif()
-get_target_property(SWRAP_LOCATION socket_wrapper LOCATION)
-set(SOCKET_WRAPPER_LOCATION ${SWRAP_LOCATION} PARENT_SCOPE)
+
+install(TARGETS socket_wrapper_noop
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+install(
+ FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/socket_wrapper.h
+ DESTINATION
+ ${CMAKE_INSTALL_INCLUDEDIR}
+)