1 # Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
3 # Licensed under the Flora License, Version 1.1 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://floralicense.org/license/
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 # @author Yunchan Cho (yunchan.cho@samsung.com)
17 SET(TARGET_NAME ${TARGET_CORE})
18 SET(TARGET_CORE_BUFFER web-provider-core-buffer)
19 SET(TARGET_CORE_VIEW web-provider-core-view)
20 SET(TARGET_CORE_SERVICE web-provider-core-service)
21 SET(TARGET_CORE_UTIL web-provider-core-util)
22 SET(DEPS ${TARGET_NAME}_DEPS)
24 PKG_CHECK_MODULES(${DEPS}
30 ADD_DEFINITIONS(${${DEPS}_CFLAGS})
33 ${CMAKE_CURRENT_SOURCE_DIR}/Box.cpp
34 ${CMAKE_CURRENT_SOURCE_DIR}/BoxManager.cpp
35 ${CMAKE_CURRENT_SOURCE_DIR}/BoxState.cpp
36 ${CMAKE_CURRENT_SOURCE_DIR}/BoxUpdateTimer.cpp
37 ${CMAKE_CURRENT_SOURCE_DIR}/BoxSchemeHandler.cpp
41 ${${DEPS}_INCLUDE_DIRS}
42 ${CMAKE_CURRENT_SOURCE_DIR}
44 INCLUDE_DIRECTORIES(${HEADERS})
46 ADD_LIBRARY(${TARGET_NAME} SHARED ${SRCS})
48 SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
50 LINK_FLAGS "-Wl,--as-needed -Wl,--hash-style=both"
53 SET_TARGET_PROPERTIES(${TARGET_NAME}
55 SOVERSION ${CMAKE_PROJECT_API_VERSION}
56 VERSION ${CMAKE_PROJECT_VERSION}
59 TARGET_LINK_LIBRARIES(${TARGET_NAME}
64 ${TARGET_CORE_SERVICE}
66 "-Wl,--no-whole-archive"
69 ADD_SUBDIRECTORY(Buffer)
70 ADD_SUBDIRECTORY(View)
71 ADD_SUBDIRECTORY(Service)
72 ADD_SUBDIRECTORY(Util)
74 INSTALL(TARGETS ${TARGET_NAME}
76 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
77 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
80 GET_FILENAME_COMPONENT(CURRENT_DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
82 INSTALL_FILE(IBox.h include/${PROJECT_NAME}/${CURRENT_DIR_NAME})
83 INSTALL_FILE(BoxData.h include/${PROJECT_NAME}/${CURRENT_DIR_NAME})
84 INSTALL_FILE(IBoxManager.h include/${PROJECT_NAME}/${CURRENT_DIR_NAME})
85 INSTALL_FILE(BoxManager.h include/${PROJECT_NAME}/${CURRENT_DIR_NAME})
86 INSTALL_FILE(BoxSchemeHandler.h include/${PROJECT_NAME}/${CURRENT_DIR_NAME})