# Common Options
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2 -omit-frame-pointer -std=gnu++0x")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections")
-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-section -Wl,--print-gc-section")
+SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -Wl,--print-gc-sections")
MESSAGE("FLAGS: ${CMAKE_CXX_FLAGS}")
MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
# Internal Debugging Options
-#add_definitions(-Wall -g -D_DEBUG)
+#ADD_DEFINITIONS(-Wall -g -D_DEBUG)
# Sub-directory
ADD_SUBDIRECTORY(src/shared)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(SERVER_PKGS REQUIRED ${DEPENDENTS})
-ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../sensor ${CMAKE_CURRENT_BINARY_DIR}/sensor)
ADD_DEFINITIONS(${SENSOR_DEFINITIONS})
-ADD_DEFINITIONS(-DLIBDIR="${LIBDIR}")
+ADD_DEFINITIONS(-DLIBDIR="${CMAKE_INSTALL_LIBDIR}")
FOREACH(flag ${SERVER_PKGS_CFLAGS})
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
ENDFOREACH(flag)
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ldl -fPIE")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/src/shared
+ ${CMAKE_SOURCE_DIR}/src/sensor
${CMAKE_SOURCE_DIR}/src/hal
${CMAKE_CURRENT_SOURCE_DIR}
- ${SENSOR_HEADERS}
)
FILE(GLOB SERVER_SRCS *.cpp)
ADD_EXECUTABLE(${PROJECT_NAME} ${SENSOR_SRCS} ${SERVER_SRCS})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${SERVER_PKGS_LDFLAGS} "sensord-shared")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${SERVER_PKGS_LDFLAGS} ${CMAKE_DL_LIBS} "sensord-shared")
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
-cmake_minimum_required(VERSION 2.6)
-project(sensord-shared CXX)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(sensord-shared CXX)
-SET(DEPENDENTS "dlog")
+SET(DEPENDENTS "dlog libsystemd-daemon glib-2.0 gio-2.0")
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(SHARED_PKGS REQUIRED ${DEPENDENTS})
FILE(GLOB_RECURSE SRCS *.cpp)
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${SHARED_PKGS_LDFLAGS})
-
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})