# project(liblscp) set (CMAKE_INCLUDE_CURRENT_DIR ON) include_directories (${CMAKE_SOURCE_DIR}) if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.h) file (REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/config.h) endif () configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) if (EXISTS ${CMAKE_SOURCE_DIR}/lscp/version.h) file(REMOVE ${CMAKE_SOURCE_DIR}/lscp/version.h) endif() configure_file (${CMAKE_SOURCE_DIR}/lscp/version.h.cmake ${CMAKE_SOURCE_DIR}/lscp/version.h) if (EXISTS ${CMAKE_SOURCE_DIR}/lscp.pc) file(REMOVE ${CMAKE_SOURCE_DIR}/lscp.pc) endif() configure_file (lscp.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/lscp.pc IMMEDIATE @ONLY) set (PUBLIC_HEADERS ${CMAKE_SOURCE_DIR}/lscp/client.h ${CMAKE_SOURCE_DIR}/lscp/device.h ${CMAKE_SOURCE_DIR}/lscp/event.h ${CMAKE_SOURCE_DIR}/lscp/socket.h ${CMAKE_SOURCE_DIR}/lscp/thread.h ${CMAKE_SOURCE_DIR}/lscp/version.h ) set (HEADERS common.h ) set (SOURCES client.c common.c device.c event.c socket.c thread.c ) add_library (${PROJECT_NAME} SHARED ${HEADERS} ${SOURCES} ) target_link_libraries (${PROJECT_NAME} PUBLIC pthread) if (MICROSOFT) target_link_libraries(${PROJECT_NAME} PRIVATE ws2_32.lib) elseif (MINGW) target_link_libraries(${PROJECT_NAME} PRIVATE wsock32 ws2_32) endif() set_target_properties (${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}" PREFIX "lib" OUTPUT_NAME "lscp" VERSION ${SHARED_VERSION_INFO} SOVERSION ${SHARED_VERSION_CURRENT}) install (TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CONFIG_LIBDIR} PUBLIC_HEADER DESTINATION ${CONFIG_INCLUDEDIR}/lscp) install (FILES ${CMAKE_CURRENT_BINARY_DIR}/lscp.pc DESTINATION ${CONFIG_LIBDIR}/pkgconfig)