Performance improvement of PluginManager with clean up some plugin code.
[platform/framework/web/wrt-plugins-common.git] / src / js-overlay / CMakeLists.txt
1 # Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
2 #
3 #    Licensed under the Apache License, Version 2.0 (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
6 #
7 #        http://www.apache.org/licenses/LICENSE-2.0
8 #
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.
14 #
15
16 # @file     CMakeLists.txt
17 # @author   Yunchan Cho (yunchan.cho@samsung.com)
18 # @version  1.0
19 #
20 MACRO(INSTALL_HEADER_FILE HEADER_FILE)
21     INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER_FILE}
22         DESTINATION ${DESTINATION_HEADERS_JS_OVERLAY})
23 ENDMACRO()
24
25 pkg_search_module(webkit2 REQUIRED ewebkit2)
26 pkg_search_module(plugin-types REQUIRED wrt-plugins-types)
27
28 SET(TARGET_NAME ${TARGET_JS_OVERLAY})
29
30 SET(SRCS
31     ${CMAKE_CURRENT_SOURCE_DIR}/js_function_manager.cpp
32     ${CMAKE_CURRENT_SOURCE_DIR}/js_overlay_functions.cpp
33 )
34
35 INCLUDE_DIRECTORIES(
36     ${CMAKE_CURRENT_SOURCE_DIR}
37     ${CMAKE_CURRENT_SOURCE_DIR}/JSClass
38     ${webkit2_INCLUDE_DIRS}
39     ${plugin-types_INCLUDE_DIRS}
40 )
41
42 ADD_LIBRARY(${TARGET_NAME} SHARED ${SRCS})
43
44 TARGET_LINK_LIBRARIES(${TARGET_NAME}
45     ${webkit2_LIBRARIES}
46     ${TARGET_COMMONS}
47     ${TARGET_COMMONS_JAVASCRIPT}
48 )
49
50 SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
51     COMPILE_FLAGS -fPIC
52     LINK_FLAGS "-Wl,--as-needed -Wl,--hash-style=both"
53 )
54
55 SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
56     SOVERSION ${CMAKE_PROJECT_API_VERSION}
57     VERSION ${CMAKE_PROJECT_VERSION}
58 )
59
60 INSTALL(TARGETS ${TARGET_NAME}
61     DESTINATION ${DESTINATION_LIB_PREFIX}
62     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
63     GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
64 )
65
66 INSTALL_HEADER_FILE(js_overlay_types.h)
67