Static common library 93/47893/8
authorPawel Kubik <p.kubik@samsung.com>
Wed, 9 Sep 2015 15:27:08 +0000 (17:27 +0200)
committerPawel Kubik <p.kubik@samsung.com>
Fri, 11 Sep 2015 14:37:44 +0000 (16:37 +0200)
[Feature]       Static common library
[Cause]         Need for cleaner dependency management
[Solution]      Rules for building static common library, linking it
                with other binaries instead of manually adding sources
[Verification]  Build, install, run tests and main executables

Change-Id: I6eccf5a706b88ca4576e5bfc31b73ebe87177ff5

12 files changed:
CMakeLists.txt
cli/CMakeLists.txt
client/CMakeLists.txt
common/CMakeLists.txt [new file with mode: 0644]
libs/dbus/CMakeLists.txt
libs/ipc/CMakeLists.txt
libs/logger/CMakeLists.txt
libs/lxcpp/CMakeLists.txt
server/CMakeLists.txt
tests/unit_tests/CMakeLists.txt
wrapper/CMakeLists.txt
zone-daemon/CMakeLists.txt

index 9823735..5b98eee 100644 (file)
@@ -188,6 +188,7 @@ SET(VSM_CONFIG_INSTALL_DIR ${SYSCONF_INSTALL_DIR}/vasum)
 SET(VSM_SERVER_IPC_SOCKET_PATH ${RUN_DIR}/vasum.socket)
 SET(VSM_UNIT_TESTS_IPC_SOCKET_PATH ${RUN_DIR}/vasum-ipc-unit-tests.socket)
 
+ADD_SUBDIRECTORY(${COMMON_FOLDER})
 ADD_SUBDIRECTORY(${LOGGER_FOLDER})
 ADD_SUBDIRECTORY(${LXCPP_FOLDER})
 IF(NOT WITHOUT_DBUS)
@@ -204,4 +205,3 @@ ENDIF(NOT WITHOUT_DBUS)
 ADD_SUBDIRECTORY(${TESTS_FOLDER})
 ADD_SUBDIRECTORY(${CLI_FOLDER})
 ADD_SUBDIRECTORY(${WRAPPER_FOLDER})
-
index 0f4fbfe..478cc25 100644 (file)
 
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the command line interface...")
-FILE(GLOB cli_SRCS *.cpp *.hpp
-                    ${COMMON_FOLDER}/utils/c-array.cpp
-                    ${COMMON_FOLDER}/utils/c-array.hpp)
+FILE(GLOB cli_SRCS *.cpp *.hpp)
 
 ## Setup target ################################################################
 SET(CLI_CODENAME "vsm")
 ADD_EXECUTABLE(${CLI_CODENAME} ${cli_SRCS})
 
+ADD_DEPENDENCIES(${CLI_CODENAME} Common ${PROJECT_NAME}-client Ipc)
+
 ## Readline detection ##########################################################
 
 FIND_PATH(READLINE_INCLUDE_DIR readline/readline.h
@@ -46,11 +46,9 @@ INCLUDE_DIRECTORIES(${READLINE_INCLUDE_DIRS})
 TARGET_LINK_LIBRARIES(${CLI_CODENAME} ${READLINE_LIBRARIES})
 
 ## Link libraries ##############################################################
-PKG_CHECK_MODULES(LIB_DEPS REQUIRED vasum)
-
 INCLUDE_DIRECTORIES(${CLIENT_FOLDER})
 INCLUDE_DIRECTORIES(${COMMON_FOLDER})
-TARGET_LINK_LIBRARIES(${CLI_CODENAME} ${PROJECT_NAME}-client ${LIB_DEPS_LIBRARIES} Ipc)
+TARGET_LINK_LIBRARIES(${CLI_CODENAME} Common ${PROJECT_NAME}-client ${LIB_DEPS_LIBRARIES} Ipc)
 
 CONFIGURE_FILE(support/vsm-completion.sh.in
                ${CMAKE_BINARY_DIR}/vsm-completion.sh
index f0d1828..e4e9ca5 100644 (file)
@@ -22,9 +22,6 @@ MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the Client...")
 FILE(GLOB project_SRCS *.cpp *.hpp *.h)
 
-FILE(GLOB common_SRCS ${COMMON_FOLDER}/utils/*.hpp              ${COMMON_FOLDER}/utils/*.cpp
-                      ${COMMON_FOLDER}/*.hpp                    ${COMMON_FOLDER}/*.cpp)
-
 SET(_LIB_VERSION_ "${VERSION}")
 SET(_LIB_SOVERSION_ "0")
 SET(PC_FILE "${PROJECT_NAME}.pc")
@@ -36,12 +33,14 @@ SET(PC_FILE "${PROJECT_NAME}.pc")
 ADD_DEFINITIONS(-fvisibility=hidden)
 
 ## Setup target ################################################################
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${project_SRCS} ${common_SRCS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${project_SRCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
         SOVERSION ${_LIB_SOVERSION_}
         VERSION ${_LIB_VERSION_}
         COMPILE_DEFINITIONS HOST_IPC_SOCKET="${VSM_SERVER_IPC_SOCKET_PATH}")
 
+ADD_DEPENDENCIES(${PROJECT_NAME} Common Config Ipc)
+
 ## Link libraries ##############################################################
 FIND_PACKAGE(Boost COMPONENTS system filesystem)
 PKG_CHECK_MODULES(LIB_DEPS REQUIRED gio-2.0)
@@ -51,7 +50,7 @@ INCLUDE_DIRECTORIES(${LIBS_FOLDER})
 INCLUDE_DIRECTORIES(${IPC_FOLDER})
 INCLUDE_DIRECTORIES(${SERVER_FOLDER})
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_DEPS_LIBRARIES} ${Boost_LIBRARIES} Config Ipc)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} Common ${LIB_DEPS_LIBRARIES} ${Boost_LIBRARIES} Config Ipc)
 IF(NOT WITHOUT_DBUS)
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimpleDbus)
 ENDIF(NOT WITHOUT_DBUS)
diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8534a46
--- /dev/null
@@ -0,0 +1,29 @@
+# Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+#
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+#
+# @file   CMakeLists.txt
+# @author Pawel Kubik (p.kubik@samsung.com)
+#
+
+MESSAGE(STATUS "")
+MESSAGE(STATUS "Generating makefile for the libCommon...")
+FILE(GLOB_RECURSE SRCS *.cpp *.hpp)
+
+## Setup target ################################################################
+ADD_LIBRARY(Common STATIC ${SRCS})
+
+PKG_CHECK_MODULES(COMMON_DEPS REQUIRED glib-2.0)
+
+INCLUDE_DIRECTORIES(SYSTEM ${COMMON_FOLDER} ${LIBS_FOLDER} ${COMMON_DEPS_INCLUDE_DIRS})
index 840b3b4..6045c04 100644 (file)
@@ -22,14 +22,7 @@ PROJECT(SimpleDbus)
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the libSimpleDbus...")
 FILE(GLOB HEADERS       *.hpp)
-FILE(GLOB HEADERS_UTILS ${COMMON_FOLDER}/utils/callback-guard.hpp
-                        ${COMMON_FOLDER}/utils/scoped-gerror.hpp
-                        ${COMMON_FOLDER}/utils/glib-utils.hpp
-                        ${COMMON_FOLDER}/utils/callback-wrapper.hpp)
-FILE(GLOB SRCS_UTILS    ${COMMON_FOLDER}/utils/callback-guard.cpp
-                        ${COMMON_FOLDER}/utils/scoped-gerror.cpp
-                        ${COMMON_FOLDER}/utils/glib-utils.cpp
-                        ${COMMON_FOLDER}/utils/callback-wrapper.cpp)
+FILE(GLOB HEADERS_UTILS ${COMMON_FOLDER}/utils/callback-guard.hpp)
 FILE(GLOB SRCS          *.cpp *.hpp)
 
 SET(_LIB_VERSION_ "${VERSION}")
@@ -37,18 +30,20 @@ SET(_LIB_SOVERSION_ "0")
 SET(PC_FILE "lib${PROJECT_NAME}.pc")
 
 ## Setup target ################################################################
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${SRCS_UTILS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
     SOVERSION   ${_LIB_SOVERSION_}
     VERSION     ${_LIB_VERSION_}
 )
 
+ADD_DEPENDENCIES(${PROJECT_NAME} Common)
+
 ## Link libraries ##############################################################
 PKG_CHECK_MODULES(DBUS_DEPS REQUIRED glib-2.0 gio-2.0)
 INCLUDE_DIRECTORIES(${COMMON_FOLDER})
 INCLUDE_DIRECTORIES(${LIBS_FOLDER})
 INCLUDE_DIRECTORIES(SYSTEM ${DBUS_DEPS_INCLUDE_DIRS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${DBUS_DEPS_LIBRARIES} Logger)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} Common ${pkgs_LDFLAGS} ${DBUS_DEPS_LIBRARIES} Logger)
 
 ## Generate the pc file ########################################################
 CONFIGURE_FILE(${PC_FILE}.in ${CMAKE_CURRENT_BINARY_DIR}/${PC_FILE} @ONLY)
index 854e0de..9e1e6f9 100644 (file)
@@ -25,29 +25,25 @@ MESSAGE(STATUS "Generating makefile for the libIpc...")
 FILE(GLOB HEADERS           *.hpp)
 FILE(GLOB HEADERS_INTERNALS internals/*.hpp)
 FILE(GLOB HEADERS_EPOLL     epoll/*.hpp)
-FILE(GLOB HEADERS_UTILS     ${COMMON_FOLDER}/utils/fd-utils.hpp
-                            ${COMMON_FOLDER}/utils/eventfd.hpp
-                            ${COMMON_FOLDER}/utils/exception.hpp
+FILE(GLOB HEADERS_UTILS     ${COMMON_FOLDER}/utils/eventfd.hpp
                             ${COMMON_FOLDER}/utils/callback-guard.hpp)
 FILE(GLOB SRCS              *.cpp)
 FILE(GLOB SRCS_INTERNALS    internals/*.cpp)
 FILE(GLOB SRCS_EPOLL        epoll/*.cpp)
-FILE(GLOB SRCS_UTILS        ${COMMON_FOLDER}/utils/fd-utils.cpp
-                            ${COMMON_FOLDER}/utils/eventfd.cpp
-                            ${COMMON_FOLDER}/utils/exception.cpp
-                            ${COMMON_FOLDER}/utils/callback-guard.cpp)
 
 SET(_LIB_VERSION_ "${VERSION}")
 SET(_LIB_SOVERSION_ "0")
 SET(PC_FILE "lib${PROJECT_NAME}.pc")
 
 ## Setup target ################################################################
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${SRCS_INTERNALS} ${SRCS_UTILS} ${SRCS_EPOLL})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${SRCS_INTERNALS} ${SRCS_EPOLL})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
     SOVERSION   ${_LIB_SOVERSION_}
     VERSION     ${_LIB_VERSION_}
     )
 
+ADD_DEPENDENCIES(${PROJECT_NAME} Common)
+
 ## Link libraries ##############################################################
 IF(NOT WITHOUT_SYSTEMD)
 PKG_CHECK_MODULES(IPC_DEPS REQUIRED libsystemd-daemon uuid)
@@ -56,7 +52,7 @@ ENDIF(NOT WITHOUT_SYSTEMD)
 INCLUDE_DIRECTORIES(${LIBS_FOLDER})
 INCLUDE_DIRECTORIES(${COMMON_FOLDER})
 INCLUDE_DIRECTORIES(SYSTEM ${DBUS_DEPS_INCLUDE_DIRS} ${IPC_DEPS_INCLUDE_DIRS} ${CONFIG_DEPS_INCLUDE_DIRS} ${JSON_C_INCLUDE_DIRS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${IPC_DEPS_LIBRARIES} Logger Config)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} Common ${pkgs_LDFLAGS} ${IPC_DEPS_LIBRARIES} Logger Config)
 
 ## Generate the pc file ########################################################
 CONFIGURE_FILE(${PC_FILE}.in ${CMAKE_CURRENT_BINARY_DIR}/${PC_FILE} @ONLY)
index 6a65b34..b44a876 100644 (file)
@@ -21,22 +21,22 @@ PROJECT(Logger)
 
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the libLogger...")
-FILE(GLOB HEADERS           *.hpp)
-FILE(GLOB SRCS              *.cpp *.hpp)
-FILE(GLOB HEADERS_UTILS     ${COMMON_FOLDER}/utils/ccolor.hpp)
-FILE(GLOB SRCS_UTILS        ${COMMON_FOLDER}/utils/ccolor.cpp)
+FILE(GLOB HEADERS *.hpp)
+FILE(GLOB SRCS    *.cpp *.hpp)
 
 SET(_LIB_VERSION_ "${VERSION}")
 SET(_LIB_SOVERSION_ "0")
 SET(PC_FILE "lib${PROJECT_NAME}.pc")
 
 ## Setup target ################################################################
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${SRCS_UTILS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
     SOVERSION   ${_LIB_SOVERSION_}
     VERSION     ${_LIB_VERSION_}
 )
 
+ADD_DEPENDENCIES(${PROJECT_NAME} Common)
+
 ## Link libraries ##############################################################
 IF(NOT WITHOUT_SYSTEMD)
 PKG_CHECK_MODULES(LOGGER_DEPS REQUIRED libsystemd-journal)
@@ -44,7 +44,7 @@ ENDIF(NOT WITHOUT_SYSTEMD)
 
 INCLUDE_DIRECTORIES(${LIBS_FOLDER} ${COMMON_FOLDER})
 INCLUDE_DIRECTORIES(SYSTEM ${LOGGER_DEPS_INCLUDE_DIRS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${LOGGER_DEPS_LIBRARIES})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} Common ${pkgs_LDFLAGS} ${LOGGER_DEPS_LIBRARIES})
 
 ## Generate the pc file ########################################################
 CONFIGURE_FILE(${PC_FILE}.in ${CMAKE_CURRENT_BINARY_DIR}/${PC_FILE} @ONLY)
@@ -59,6 +59,3 @@ INSTALL(TARGETS     ${PROJECT_NAME}
 
 INSTALL(FILES       ${HEADERS}
         DESTINATION ${INCLUDE_INSTALL_DIR}/vasum-tools/logger)
-
-INSTALL(FILES       ${HEADERS_UTILS}
-        DESTINATION ${INCLUDE_INSTALL_DIR}/vasum-tools/logger/utils)
index c76de74..203ddd3 100644 (file)
@@ -21,22 +21,11 @@ PROJECT(lxcpp)
 
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the liblxcpp...")
-FILE(GLOB HEADERS       *.hpp)
-FILE(GLOB HEADERS_UTILS    ${COMMON_FOLDER}/utils/fd-utils.hpp
-                           ${COMMON_FOLDER}/utils/exception.hpp
-                           ${COMMON_FOLDER}/utils/channel.hpp
-                           ${COMMON_FOLDER}/utils/environment.hpp
-                           ${COMMON_FOLDER}/utils/execute.hpp)
-FILE(GLOB HEADERS_NETLINK  ${COMMON_FOLDER}/netlink/*.hpp)
+FILE(GLOB HEADERS          *.hpp)
+FILE(GLOB HEADERS_UTILS    ${COMMON_FOLDER}/utils/channel.hpp)
 FILE(GLOB HEADERS_COMMANDS commands/*.hpp)
 
 FILE(GLOB SRCS          *.cpp *.hpp)
-FILE(GLOB SRCS_UTILS    ${COMMON_FOLDER}/utils/fd-utils.cpp
-                        ${COMMON_FOLDER}/utils/exception.cpp
-                        ${COMMON_FOLDER}/utils/channel.cpp
-                        ${COMMON_FOLDER}/utils/environment.cpp
-                        ${COMMON_FOLDER}/utils/execute.cpp)
-FILE(GLOB SRCS_NETLINK  ${COMMON_FOLDER}/netlink/*.cpp)
 FILE(GLOB SRCS_COMMANDS commands/*.cpp)
 
 SET(_LIB_VERSION_ "${VERSION}")
@@ -44,17 +33,19 @@ SET(_LIB_SOVERSION_ "0")
 SET(PC_FILE "lib${PROJECT_NAME}.pc")
 
 ## Setup target ################################################################
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${SRCS_UTILS} ${SRCS_NETLINK} ${SRCS_COMMANDS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${SRCS_COMMANDS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
     SOVERSION   ${_LIB_SOVERSION_}
     VERSION     ${_LIB_VERSION_}
 )
 
+ADD_DEPENDENCIES(${PROJECT_NAME} Common Logger)
+
 ## Link libraries ##############################################################
 FIND_PACKAGE(Boost COMPONENTS system filesystem)
 INCLUDE_DIRECTORIES(${LIBS_FOLDER} ${COMMON_FOLDER})
 INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIRS})
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${Boost_LIBRARIES} Logger)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} Common ${pkgs_LDFLAGS} ${Boost_LIBRARIES} Logger)
 
 ## Generate the pc file ########################################################
 CONFIGURE_FILE(${PC_FILE}.in ${CMAKE_CURRENT_BINARY_DIR}/${PC_FILE} @ONLY)
@@ -71,7 +62,5 @@ INSTALL(FILES       ${HEADERS}
         DESTINATION ${INCLUDE_INSTALL_DIR}/lxcpp)
 INSTALL(FILES       ${HEADERS_UTILS}
         DESTINATION ${INCLUDE_INSTALL_DIR}/lxcpp/utils)
-INSTALL(FILES       ${HEADERS_NETLINK}
-        DESTINATION ${INCLUDE_INSTALL_DIR}/lxcpp/netlink)
 INSTALL(FILES       ${HEADERS_COMMANDS}
         DESTINATION ${INCLUDE_INSTALL_DIR}/lxcpp/commands)
index 58c50f6..86b4f79 100644 (file)
 
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the Server...")
-FILE(GLOB         project_SRCS *.cpp *.hpp)
-FILE(GLOB_RECURSE common_SRCS ${COMMON_FOLDER}/*.cpp ${COMMON_FOLDER}/*.hpp)
+FILE(GLOB               project_SRCS *.cpp *.hpp)
 
 
 ## Setup target ################################################################
 SET(SERVER_CODENAME "${PROJECT_NAME}-server")
-ADD_EXECUTABLE(${SERVER_CODENAME} ${project_SRCS} ${common_SRCS})
+ADD_EXECUTABLE(${SERVER_CODENAME} ${project_SRCS})
 
+ADD_DEPENDENCIES(${SERVER_CODENAME} Common Logger Config Ipc)
 
 ## Link libraries ##############################################################
 FIND_PACKAGE(Boost COMPONENTS program_options system filesystem regex)
@@ -43,7 +43,7 @@ SET_TARGET_PROPERTIES(${SERVER_CODENAME} PROPERTIES
     LINK_FLAGS "-pthread"
 )
 
-TARGET_LINK_LIBRARIES(${SERVER_CODENAME} ${SERVER_DEPS_LIBRARIES} ${Boost_LIBRARIES} Logger Config Ipc)
+TARGET_LINK_LIBRARIES(${SERVER_CODENAME} Common ${SERVER_DEPS_LIBRARIES} ${Boost_LIBRARIES} Logger Config Ipc)
 IF(NOT WITHOUT_DBUS)
 TARGET_LINK_LIBRARIES(${SERVER_CODENAME} SimpleDbus)
 ENDIF(NOT WITHOUT_DBUS)
index b532336..1c05576 100644 (file)
@@ -20,7 +20,6 @@
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the Unit Tests...")
 FILE(GLOB_RECURSE project_SRCS *.cpp *.hpp)
-FILE(GLOB_RECURSE common_SRCS ${COMMON_FOLDER}/*.cpp ${COMMON_FOLDER}/*.hpp)
 FILE(GLOB         server_SRCS ${SERVER_FOLDER}/*.cpp ${SERVER_FOLDER}/*.hpp)
 FILE(GLOB         client_SRCS ${CLIENT_FOLDER}/*.cpp ${CLIENT_FOLDER}/*.h)
 FILE(GLOB         socket_test_SRCS ${SOCKET_TEST_FOLDER}/*.cpp ${SOCKET_TEST_FOLDER}/*.hpp)
@@ -35,20 +34,25 @@ LIST(REMOVE_ITEM project_SRCS ${socket_test_SRCS} ${lxcpp_test_SRCS})
 
 ## Setup target ################################################################
 SET(UT_SERVER_CODENAME "${PROJECT_NAME}-server-unit-tests")
-ADD_EXECUTABLE(${UT_SERVER_CODENAME} ${project_SRCS} ${common_SRCS} ${server_SRCS} ${client_SRCS})
+ADD_EXECUTABLE(${UT_SERVER_CODENAME} ${project_SRCS} ${server_SRCS} ${client_SRCS})
+ADD_DEPENDENCIES(${UT_SERVER_CODENAME} ${PROJECT_NAME}-server)
 
 ## A fake target to test vasum-client C API
-ADD_EXECUTABLE("vasum-client-c-api-compile-test" client/client-c-api-compile-test.c)
+SET(CLIENT_C_API_COMPILE_TEST "vasum-client-c-api-compile-test")
+ADD_EXECUTABLE(${CLIENT_C_API_COMPILE_TEST} client/client-c-api-compile-test.c)
+ADD_DEPENDENCIES(${CLIENT_C_API_COMPILE_TEST} ${PROJECT_NAME}-client)
 
 ## A fake target to test lxcpp API
-ADD_EXECUTABLE("lxcpp-api-compile-test" lxcpp/lxcpp-api-compile-test.cpp)
-TARGET_LINK_LIBRARIES("lxcpp-api-compile-test" lxcpp)
+SET(LXCPP_API_COMPILE_TEST "lxcpp-api-compile-test")
+ADD_EXECUTABLE(${LXCPP_API_COMPILE_TEST} lxcpp/lxcpp-api-compile-test.cpp)
+ADD_DEPENDENCIES(${LXCPP_API_COMPILE_TEST} lxcpp)
+TARGET_LINK_LIBRARIES(${LXCPP_API_COMPILE_TEST} lxcpp)
 
 IF(NOT WITHOUT_SYSTEMD)
 SET(SOCKET_TEST_CODENAME "${PROJECT_NAME}-socket-test")
 
 ## A stub mini-service to test socket functionality
-ADD_EXECUTABLE(${SOCKET_TEST_CODENAME} ${socket_test_SRCS} ${common_SRCS} ${client_SRCS})
+ADD_EXECUTABLE(${SOCKET_TEST_CODENAME} ${socket_test_SRCS} ${client_SRCS})
 ENDIF(NOT WITHOUT_SYSTEMD)
 
 ## Link libraries ##############################################################
@@ -65,7 +69,7 @@ SET_TARGET_PROPERTIES(${UT_SERVER_CODENAME} PROPERTIES
     LINK_FLAGS "-pthread"
 )
 
-TARGET_LINK_LIBRARIES(${UT_SERVER_CODENAME} ${UT_SERVER_DEPS_LIBRARIES} ${Boost_LIBRARIES}
+TARGET_LINK_LIBRARIES(${UT_SERVER_CODENAME} Common ${UT_SERVER_DEPS_LIBRARIES} ${Boost_LIBRARIES}
                       Logger Config Ipc lxcpp)
 IF(NOT WITHOUT_DBUS)
 TARGET_LINK_LIBRARIES(${UT_SERVER_CODENAME} SimpleDbus)
@@ -78,7 +82,7 @@ SET_TARGET_PROPERTIES(${SOCKET_TEST_CODENAME} PROPERTIES
     LINK_FLAGS "-pthread"
 )
 
-TARGET_LINK_LIBRARIES(${SOCKET_TEST_CODENAME} ${UT_SERVER_DEPS_LIBRARIES} ${Boost_LIBRARIES}
+TARGET_LINK_LIBRARIES(${SOCKET_TEST_CODENAME} Common ${UT_SERVER_DEPS_LIBRARIES} ${Boost_LIBRARIES}
                       Logger Config Ipc)
 IF(NOT WITHOUT_DBUS)
 TARGET_LINK_LIBRARIES(${SOCKET_TEST_CODENAME} SimpleDbus)
@@ -100,4 +104,3 @@ INSTALL(TARGETS ${UT_SERVER_CODENAME} DESTINATION bin)
 IF(NOT WITHOUT_SYSTEMD)
 INSTALL(TARGETS ${SOCKET_TEST_CODENAME} DESTINATION bin)
 ENDIF(NOT WITHOUT_SYSTEMD)
-
index 3346df8..7e70765 100644 (file)
@@ -27,12 +27,6 @@ FILE(GLOB wrapper_SRCS *.cpp *.hpp *.h
      ${CLIENT_FOLDER}/host-ipc-connection.hpp   ${CLIENT_FOLDER}/host-ipc-connection.cpp
      ${CLIENT_FOLDER}/utils.hpp                 ${CLIENT_FOLDER}/utils.cpp)
 
-FILE(GLOB common_SRCS ${COMMON_FOLDER}/epoll/*.hpp              ${COMMON_FOLDER}/epoll/*.cpp
-                      ${COMMON_FOLDER}/ipc/*.hpp                ${COMMON_FOLDER}/ipc/*.cpp
-                      ${COMMON_FOLDER}/ipc/internals/*.hpp      ${COMMON_FOLDER}/ipc/internals/*.cpp
-                      ${COMMON_FOLDER}/utils/*.hpp              ${COMMON_FOLDER}/utils/*.cpp
-                      ${COMMON_FOLDER}/*.hpp                    ${COMMON_FOLDER}/*.cpp)
-
 SET(_LIB_VERSION_ "${VERSION}")
 SET(_LIB_SOVERSION_ "0")
 SET(PC_FILE "${PROJECT_NAME}.pc")
@@ -44,12 +38,14 @@ SET(PC_FILE "${PROJECT_NAME}.pc")
 ADD_DEFINITIONS(-fvisibility=hidden)
 ADD_DEFINITIONS(-D__STDC_FORMAT_MACROS)
 
-ADD_LIBRARY(${PROJECT_NAME} SHARED ${wrapper_SRCS} ${common_SRCS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${wrapper_SRCS})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
         SOVERSION ${_LIB_SOVERSION_}
         VERSION ${_LIB_VERSION_}
         COMPILE_DEFINITIONS HOST_IPC_SOCKET="${VSM_SERVER_IPC_SOCKET_PATH}")
 
+ADD_DEPENDENCIES(${PROJECT_NAME} Common Config Ipc)
+
 ## Link libraries ##############################################################
 FIND_PACKAGE(Boost COMPONENTS system filesystem)
 PKG_CHECK_MODULES(LIB_DEPS REQUIRED gio-2.0)
@@ -59,7 +55,7 @@ INCLUDE_DIRECTORIES(${LIBS_FOLDER})
 INCLUDE_DIRECTORIES(${SERVER_FOLDER})
 INCLUDE_DIRECTORIES(${CLIENT_FOLDER})
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_DEPS_LIBRARIES} ${Boost_LIBRARIES} Config Ipc)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} Common ${LIB_DEPS_LIBRARIES} ${Boost_LIBRARIES} Config Ipc)
 IF(NOT WITHOUT_DBUS)
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimpleDbus)
 ENDIF(NOT WITHOUT_DBUS)
index 7171eee..0437a4f 100644 (file)
 MESSAGE(STATUS "")
 MESSAGE(STATUS "Generating makefile for the Zone Daemon...")
 FILE(GLOB project_SRCS *.cpp *.hpp)
-FILE(GLOB common_SRCS ${COMMON_FOLDER}/utils/*.cpp  ${COMMON_FOLDER}/utils/*.hpp
-                      ${COMMON_FOLDER}/*.cpp)
 
 ## Setup target ################################################################
 SET(ZONE_DAEMON_CODENAME "${PROJECT_NAME}-zone-daemon")
-ADD_EXECUTABLE(${ZONE_DAEMON_CODENAME} ${project_SRCS} ${common_SRCS})
+ADD_EXECUTABLE(${ZONE_DAEMON_CODENAME} ${project_SRCS})
 
+ADD_DEPENDENCIES(${ZONE_DAEMON_CODENAME} Common Logger SimpleDbus Ipc)
 
 ## Link libraries ##############################################################
 FIND_PACKAGE (Boost COMPONENTS program_options system filesystem)
@@ -42,7 +41,7 @@ SET_TARGET_PROPERTIES(${ZONE_DAEMON_CODENAME} PROPERTIES
     LINK_FLAGS "-pthread"
 )
 
-TARGET_LINK_LIBRARIES(${ZONE_DAEMON_CODENAME} ${ZONE_DAEMON_DEPS_LIBRARIES}
+TARGET_LINK_LIBRARIES(${ZONE_DAEMON_CODENAME} Common ${ZONE_DAEMON_DEPS_LIBRARIES}
                       ${Boost_LIBRARIES} Logger SimpleDbus Ipc)