1 |
# project(liblscp) |
2 |
|
3 |
set (CMAKE_INCLUDE_CURRENT_DIR ON) |
4 |
|
5 |
include_directories (${CMAKE_SOURCE_DIR}) |
6 |
|
7 |
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.h) |
8 |
file (REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/config.h) |
9 |
endif () |
10 |
configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) |
11 |
|
12 |
if (EXISTS ${CMAKE_SOURCE_DIR}/lscp/version.h) |
13 |
file(REMOVE ${CMAKE_SOURCE_DIR}/lscp/version.h) |
14 |
endif() |
15 |
configure_file (${CMAKE_SOURCE_DIR}/lscp/version.h.cmake ${CMAKE_SOURCE_DIR}/lscp/version.h) |
16 |
|
17 |
|
18 |
set (PUBLIC_HEADERS |
19 |
${CMAKE_SOURCE_DIR}/lscp/client.h |
20 |
${CMAKE_SOURCE_DIR}/lscp/device.h |
21 |
${CMAKE_SOURCE_DIR}/lscp/event.h |
22 |
${CMAKE_SOURCE_DIR}/lscp/socket.h |
23 |
${CMAKE_SOURCE_DIR}/lscp/thread.h |
24 |
${CMAKE_SOURCE_DIR}/lscp/version.h |
25 |
) |
26 |
|
27 |
set (HEADERS |
28 |
common.h |
29 |
) |
30 |
|
31 |
set (SOURCES |
32 |
client.c |
33 |
common.c |
34 |
device.c |
35 |
event.c |
36 |
socket.c |
37 |
thread.c |
38 |
) |
39 |
|
40 |
add_library (${PROJECT_NAME} SHARED |
41 |
${HEADERS} |
42 |
${SOURCES} |
43 |
) |
44 |
|
45 |
target_link_libraries (${PROJECT_NAME} PUBLIC pthread) |
46 |
|
47 |
set_target_properties (${PROJECT_NAME} PROPERTIES |
48 |
PUBLIC_HEADER "${PUBLIC_HEADERS}" |
49 |
PREFIX "lib" |
50 |
OUTPUT_NAME "lscp" |
51 |
VERSION ${SHARED_VERSION_INFO} |
52 |
SOVERSION ${SHARED_VERSION_CURRENT}) |
53 |
|
54 |
install (TARGETS ${PROJECT_NAME} LIBRARY |
55 |
DESTINATION ${CONFIG_LIBDIR} |
56 |
PUBLIC_HEADER |
57 |
DESTINATION ${CONFIG_INCLUDEDIR}/lscp) |