Upload initial source
[platform/core/system/argos_watchdog.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(LIB_NAME "argos_watchdog")
3 PROJECT(${LIB_NAME} C)
4
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "${PREFIX}/bin")
7 SET(LIBDIR "${PREFIX}/lib")
8 SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
9 SET(SRCS
10         src/argos.c)
11
12 SET(HEADERS
13         include/argos.h)
14
15 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
16
17 SET(PKG_MODULES )
18
19 IF(LIBSYSTEMD STREQUAL on)
20         SET(PKG_MODULES ${PKG_MODULES} libsystemd)
21         SET(SRCS ${SRCS} src/argos-systemd.c)
22 ELSE()
23         SET(SRCS ${SRCS} src/argos-common.c)
24 ENDIF()
25
26 INCLUDE(FindPkgConfig)
27 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
28
29 FOREACH(flag ${pkgs_CFLAGS})
30         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
31 ENDFOREACH(flag)
32
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
34 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g")
35
36 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
37
38 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
39 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${MAJORVER})
40 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${FULLVER})
41 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
42
43 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
44
45 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
46 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
47
48 INSTALL(FILES ${HEADERS} DESTINATION include/${PROJECT_NAME})
49
50 IF(TEST STREQUAL on)
51 ADD_SUBDIRECTORY(test)
52 ENDIF()