1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(LIB_NAME "argos_watchdog")
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "${PREFIX}/bin")
7 SET(LIBDIR "${LIB_INSTALL_DIR}")
8 SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
15 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
19 IF(LIBSYSTEMD STREQUAL on)
20 SET(PKG_MODULES ${PKG_MODULES} libsystemd)
21 SET(SRCS ${SRCS} src/argos-systemd.c)
23 SET(SRCS ${SRCS} src/argos-common.c)
26 INCLUDE(FindPkgConfig)
27 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
29 FOREACH(flag ${pkgs_CFLAGS})
30 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden")
34 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g")
36 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
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})
43 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
45 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
46 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig)
48 INSTALL(FILES ${HEADERS} DESTINATION include/${PROJECT_NAME})
51 ADD_SUBDIRECTORY(test)