From 2f0ef62e6bccd3794b9572648f30072a5aedc406 Mon Sep 17 00:00:00 2001 From: Hyunho Kang Date: Fri, 18 Nov 2016 11:33:39 +0900 Subject: [PATCH] Fix CMakeLists.txt To make extendible for adding source & header files. Change-Id: Ib6c17d9b9c377e7f914754146aa8384e03098abd Signed-off-by: Hyunho Kang --- CMakeLists.txt | 66 +++++++++++++++++++++++++++++++++++++++++++++-------- src/CMakeLists.txt | 67 ------------------------------------------------------ 2 files changed, 56 insertions(+), 77 deletions(-) delete mode 100755 src/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index ea30bdb..dbe5ee0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,17 +1,63 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(message-port C) +SET(this_target message-port) -SET(CMAKE_INSTALL_PREFIX /usr) -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +INCLUDE_DIRECTORIES ( + ${CMAKE_SOURCE_DIR}/include + ${CMAKE_SOURCE_DIR}/src/inc + ) + +SET(${this_target}_requires "dlog bundle glib-2.0 gio-2.0 aul openssl capi-base-common pkgmgr-info gio-unix-2.0") + +INCLUDE(FindPkgConfig) +pkg_check_modules(${this_target} REQUIRED ${${this_target}_requires}) + +FOREACH(flag ${${this_target}_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall" ) + +## SET C COMPILER FLAGS +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden") +SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") + +## SET CPP COMPILER FLAGS +SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS} -fvisibility=hidden") + +## Create Library +AUX_SOURCE_DIRECTORY(src SOURCES) +ADD_LIBRARY(${this_target} SHARED ${SOURCES}) + +## SET LINKER FLAGS +SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -Wl,--rpath=${LIB_INSTALL_DIR}") + +TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS}) + +SET_TARGET_PROPERTIES(${this_target} + PROPERTIES + VERSION ${FULLVER} + SOVERSION ${MAJORVER} + CLEAN_DIRECT_OUTPUT 1 + ) + +# pkgconfig file +SET(PC_NAME ${this_target}) +SET(PACKAGE_DESCRIPTION "Message Port internal library") +SET(VERSION ${FULLVER}) +SET(PC_REQUIRED ${${this_target}_requires}) ## OUTPUT PATHS SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output) +ADD_CUSTOM_COMMAND( + TARGET ${this_target} POST_BUILD + COMMAND ln -s ./libmessage-port.so.${MAJORVER} ${LIBRARY_OUTPUT_PATH}/libcapi-message-port.so.${MAJORVER}) -ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") -ADD_DEFINITIONS("-DSLP_DEBUG") - -IF("${ARCH}" STREQUAL "arm") - ADD_DEFINITIONS("-DTARGET") -ENDIF("${ARCH}" STREQUAL "arm") +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/capi-${this_target}.pc.in ${CMAKE_SOURCE_DIR}/capi-${this_target}.pc @ONLY) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/capi-${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) -ADD_SUBDIRECTORY(src) +INSTALL(TARGETS ${this_target} DESTINATION ${LIB_INSTALL_DIR}) +INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/appfw FILES_MATCHING PATTERN "*.h") +INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION ${LIB_INSTALL_DIR} FILES_MATCHING PATTERN "*.so*") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100755 index 32d172d..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,67 +0,0 @@ -SET(this_target message-port) - -INCLUDE_DIRECTORIES ( - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_SOURCE_DIR}/src/inc - ) - -SET(${this_target}_SOURCE_FILES - message-port.c - message_port_internal.c - message_port.c - ) - -SET(${this_target}_requires "dlog bundle glib-2.0 gio-2.0 aul openssl capi-base-common pkgmgr-info gio-unix-2.0") - -INCLUDE(FindPkgConfig) -pkg_check_modules(${this_target} REQUIRED ${${this_target}_requires}) - -FOREACH(flag ${${this_target}_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") -ENDFOREACH(flag) - -SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall" ) - -## SET C COMPILER FLAGS -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror -fvisibility=hidden") -SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") - -## SET CPP COMPILER FLAGS -SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS} -fvisibility=hidden") - - -## Create Library -ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES}) - -## SET LINKER FLAGS -SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed -Wl,--no-undefined -Wl,--rpath=${LIB_INSTALL_DIR}") - -TARGET_LINK_LIBRARIES(${this_target} ${${this_target}_LDFLAGS}) - -SET_TARGET_PROPERTIES(${this_target} - PROPERTIES - VERSION ${FULLVER} - SOVERSION ${MAJORVER} - CLEAN_DIRECT_OUTPUT 1 - ) - -# pkgconfig file -SET(PC_NAME ${this_target}) -SET(PACKAGE_DESCRIPTION "Message Port internal library") -SET(VERSION ${FULLVER}) -SET(PC_REQUIRED ${${this_target}_requires}) - -ADD_CUSTOM_COMMAND( - TARGET ${this_target} POST_BUILD - COMMAND ln -s ./libmessage-port.so.${MAJORVER} ${LIBRARY_OUTPUT_PATH}/libcapi-message-port.so.${MAJORVER}) - -CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) -CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/capi-${this_target}.pc.in ${CMAKE_SOURCE_DIR}/capi-${this_target}.pc @ONLY) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/capi-${this_target}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) - -INSTALL(TARGETS ${this_target} DESTINATION ${LIB_INSTALL_DIR}) - -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/appfw FILES_MATCHING PATTERN "*.h") - -INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION ${LIB_INSTALL_DIR} FILES_MATCHING PATTERN "*.so*") -- 2.7.4