## build pkgmgr-info library
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SRCS)
-ADD_LIBRARY(pkgmgr-info SHARED ${SRCS})
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/client CLIENT_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common COMMON_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/manager MANAGER_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common/database DATABASE_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common/socket SOCKET_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/common/parcel PARCEL_SRCS)
+
+ADD_LIBRARY(pkgmgr-info SHARED
+ ${SRCS}
+ ${CLIENT_SRCS}
+ ${COMMON_SRCS}
+ ${DATABASE_SRCS}
+ ${SOCKET_SRCS}
+ ${PARCEL_SRCS}
+ ${MANAGER_SRCS}
+)
+
+## Compile flags
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fpic -std=c++14")
SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES SOVERSION ${MAJORVER})
SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES VERSION ${FULLVER})
INSTALL(TARGETS pkgmgr-info DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/client/ DESTINATION include/pkgmgr-client
+ FILES_MATCHING
+ PATTERN "*.hh"
+)
+
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/common/database/ DESTINATION include/pkgmgr-common
+ FILES_MATCHING
+ PATTERN "*.hh"
+)
+
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/common/parcel/ DESTINATION include/pkgmgr-common
+ FILES_MATCHING
+ PATTERN "*.hh"
+)
+
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/common/socket/ DESTINATION include/pkgmgr-common
+ FILES_MATCHING
+ PATTERN "*.hh"
+)
+
ADD_SUBDIRECTORY(server)
-ADD_SUBDIRECTORY(common)
-ADD_SUBDIRECTORY(client)