Introduce ADD_MODULE cmake function 68/56668/3
authorWonYoung Choi <wy80.choi@samsung.com>
Tue, 12 Jan 2016 01:24:36 +0000 (10:24 +0900)
committerWonYoung Choi <wy80.choi@samsung.com>
Tue, 12 Jan 2016 03:11:08 +0000 (12:11 +0900)
This function provides a simple method to build a node-addon and
a xwalk extension in cmake.
ADD_MODULE(target [NODE|XWALK] [JSAPI jsfile]
           SRCS srcs... INCLUDES includes...
           DEPENDS depends...)

Change-Id: I89513376b8b737e588705179212210bbffb02a01

19 files changed:
CMakeLists.txt
build/common.cmake [new file with mode: 0644]
build/generate_api.py [new file with mode: 0755]
modules/CMakeLists.txt [new file with mode: 0644]
modules/appfw/CMakeLists.txt
modules/arguments-validator/CMakeLists.txt
modules/gcontext/CMakeLists.txt
modules/jsnative/CMakeLists.txt
modules/node-dlog/CMakeLists.txt
modules/node-xwalk/CMakeLists.txt
modules/node-xwalk/lib/loader.js
modules/privileges/CMakeLists.txt
modules/reaper/CMakeLists.txt
modules/tizen-app-control/CMakeLists.txt [new file with mode: 0644]
modules/tizen-application-common/CMakeLists.txt [new file with mode: 0644]
modules/tizen-application-common/build.gyp [deleted file]
modules/tizen-application/CMakeLists.txt [new file with mode: 0644]
modules/tizen-application/build.gyp [deleted file]
packaging/jsnative.spec

index 53511da..f4521fc 100644 (file)
@@ -24,12 +24,6 @@ ADD_DEFINITIONS("-Wno-deprecated")      # No warnings about deprecated features
 ADD_DEFINITIONS("-std=c++0x")           # accept C++11x standard
 
 SET(GLOBAL_NODE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/lib/node)
+INCLUDE(build/common.cmake)
 
-ADD_SUBDIRECTORY(modules/jsnative)
-ADD_SUBDIRECTORY(modules/appfw)
-ADD_SUBDIRECTORY(modules/gcontext)
-ADD_SUBDIRECTORY(modules/node-dlog)
-ADD_SUBDIRECTORY(modules/node-xwalk)
-ADD_SUBDIRECTORY(modules/privileges)
-ADD_SUBDIRECTORY(modules/arguments-validator)
-ADD_SUBDIRECTORY(modules/reaper)
+ADD_SUBDIRECTORY(modules)
diff --git a/build/common.cmake b/build/common.cmake
new file mode 100644 (file)
index 0000000..b04b9c0
--- /dev/null
@@ -0,0 +1,30 @@
+# ADD_MODULE
+function(ADD_MODULE)
+  set(OV NODE XWALK)
+  set(SV JSAPI)
+  set(MV SRCS INCLUDES DEPENDS)
+  cmake_parse_arguments(ADD_MODULE "${OV}" "${SV}" "${MV}" ${ARGN})
+  set(_TARGET ${ARGV0})
+  if(ADD_MODULE_XWALK)
+    add_custom_command(
+      OUTPUT __generated_api.cc
+      COMMAND python ${PROJECT_SOURCE_DIR}/build/generate_api.py
+                ${CMAKE_CURRENT_SOURCE_DIR}/${ADD_MODULE_JSAPI}
+                kSourceJSAPI __generated_api.cc
+      DEPENDS ${ADD_MODULE_JSAPI})
+    pkg_check_modules(
+      ${_TARGET}_DEPS REQUIRED xwalk-extensions-common ${ADD_MODULE_DEPENDS})
+    include_directories(${ADD_MODULE_INCLUDES} ${${_TARGET}_DEPS_INCLUDE_DIRS})
+    add_library(${_TARGET} MODULE ${ADD_MODULE_SRCS} __generated_api.cc)
+    set_target_properties(${_TARGET} PROPERTIES PREFIX "" SUFFIX ".xwalk")
+    target_link_libraries(${_TARGET} ${${_TARGET}_DEPS_LIBRARIES})
+  endif(ADD_MODULE_XWALK)
+  if(ADD_MODULE_NODE)
+    pkg_check_modules(
+      ${_TARGET}_DEPS REQUIRED nodejs ${ADD_MODULE_DEPENDS})
+    include_directories(${ADD_MODULE_INCLUDES} ${${_TARGET}_DEPS_INCLUDE_DIRS})
+    add_library(${_TARGET} MODULE ${ADD_MODULE_SRCS})
+    set_target_properties(${_TARGET} PROPERTIES PREFIX "" SUFFIX ".node")
+    target_link_libraries(${_TARGET} ${${_TARGET}_DEPS_LIBRARIES})
+  endif(ADD_MODULE_NODE)
+endfunction()
diff --git a/build/generate_api.py b/build/generate_api.py
new file mode 100755 (executable)
index 0000000..e8c96aa
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2013 Intel Corporation. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+import sys
+import subprocess
+
+TEMPLATE = """\
+extern const char %s[];
+const char %s[] = { %s, 0 };
+"""
+
+js_code = sys.argv[1]
+cmd = ("sed -e 's#^//\##\##g' " + js_code +
+       " | cpp -E -P -I" + os.path.dirname(js_code))
+lines = subprocess.check_output(cmd, shell=True)
+c_code = ', '.join(str(ord(c)) for c in lines)
+
+symbol_name = sys.argv[2]
+output = open(sys.argv[3], "w")
+output.write(TEMPLATE % (symbol_name, symbol_name, c_code))
+output.close()
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
new file mode 100644 (file)
index 0000000..852d0ea
--- /dev/null
@@ -0,0 +1,12 @@
+ADD_SUBDIRECTORY(jsnative)
+ADD_SUBDIRECTORY(appfw)
+ADD_SUBDIRECTORY(gcontext)
+ADD_SUBDIRECTORY(node-dlog)
+ADD_SUBDIRECTORY(node-xwalk)
+ADD_SUBDIRECTORY(privileges)
+ADD_SUBDIRECTORY(arguments-validator)
+ADD_SUBDIRECTORY(reaper)
+
+ADD_SUBDIRECTORY(tizen-app-control)
+ADD_SUBDIRECTORY(tizen-application)
+ADD_SUBDIRECTORY(tizen-application-common)
\ No newline at end of file
index e32870b..4664eac 100755 (executable)
@@ -1,32 +1,25 @@
-SET(TARGET_APPFW "appfw")
-SET(TARGET_APPFW_NATIVE "appfw_native")
+SET(MODULE "appfw")
+SET(MODULE_NATIVE "appfw_native")
 
-# Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_APPFW}
+ADD_MODULE(${MODULE_NATIVE} NODE
+  SRCS
+    src/appfw.cc
+    src/appfw_native_node.cc
+  INCLUDES
+    src
+  DEPENDS
+    appcore-efl aul dlog
 )
 
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/lib/appfw.js
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_APPFW}/lib
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
 
-# Native Binding Module
-PKG_CHECK_MODULES(TARGET_APPFW_NATIVE_DEPS REQUIRED
-    appcore-efl aul dlog nodejs
-)
-INCLUDE_DIRECTORIES (
-  ${CMAKE_CURRENT_SOURCE_DIR}/src
-  ${TARGET_APPFW_NATIVE_DEPS_INCLUDE_DIRS}
+INSTALL(FILES lib/appfw.js
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/lib
 )
-ADD_LIBRARY(${TARGET_APPFW_NATIVE} MODULE
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/appfw.cc
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/appfw_native_node.cc
-)
-SET_TARGET_PROPERTIES(${TARGET_APPFW_NATIVE} PROPERTIES PREFIX "" SUFFIX ".node")
-TARGET_LINK_LIBRARIES(${TARGET_APPFW_NATIVE}
-    ${TARGET_APPFW_NATIVE_DEPS_LIBRARIES}
+
+INSTALL(TARGETS ${MODULE_NATIVE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/build/Release
 )
-INSTALL(TARGETS ${TARGET_APPFW_NATIVE} DESTINATION
-        ${GLOBAL_NODE_MODULE_PATH}/${TARGET_APPFW}/build/Release)
index 8b2081e..c0e6e1b 100644 (file)
@@ -1,12 +1,10 @@
-SET(TARGET_ARGVALIDATOR "arguments-validator")
+SET(MODULE "arguments-validator")
 
 # Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_ARGVALIDATOR}
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
 
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/validator.js
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_ARGVALIDATOR}
+INSTALL(FILES validator.js
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
index fdeff31..90f7340 100755 (executable)
@@ -1,27 +1,21 @@
-SET(TARGET_GCONTEXT "gcontext")
-SET(TARGET_GCONTEXT_NATIVE "gcontext")
+SET(MODULE "gcontext")
 
-# Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_GCONTEXT}
+# Native Module
+ADD_MODULE(${MODULE} NODE
+  SRCS
+    src/gcontext.cc
+  INCLUDES
+    src
+  DEPENDS
+    dlog glib-2.0 gobject-2.0
 )
 
-
-# Native Binding Module
-PKG_CHECK_MODULES(TARGET_GCONTEXT_NATIVE_DEPS REQUIRED
-    dlog glib-2.0 gobject-2.0 nodejs
-)
-INCLUDE_DIRECTORIES (
-  ${CMAKE_CURRENT_SOURCE_DIR}/src
-  ${TARGET_GCONTEXT_NATIVE_DEPS_INCLUDE_DIRS}
-)
-ADD_LIBRARY(${TARGET_GCONTEXT_NATIVE} MODULE
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/gcontext.cc
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
-SET_TARGET_PROPERTIES(${TARGET_GCONTEXT_NATIVE} PROPERTIES PREFIX "" SUFFIX ".node")
-TARGET_LINK_LIBRARIES(${TARGET_GCONTEXT_NATIVE}
-    ${TARGET_GCONTEXT_NATIVE_DEPS_LIBRARIES}
+
+INSTALL(TARGETS ${MODULE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/build/Release
 )
-INSTALL(TARGETS ${TARGET_GCONTEXT_NATIVE} DESTINATION
-        ${GLOBAL_NODE_MODULE_PATH}/${TARGET_GCONTEXT}/build/Release)
+
index 54014cf..65ae986 100644 (file)
@@ -1,12 +1,10 @@
-SET(TARGET_JSNATIVE "jsnative")
+SET(MODULE "jsnative")
 
 # Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_JSNATIVE}
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
 
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/main.js
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_JSNATIVE}
+INSTALL(FILES main.js
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
index 396d392..33ba126 100644 (file)
@@ -1,27 +1,21 @@
-SET(TARGET_DLOG "node-dlog")
-SET(TARGET_DLOG_NATIVE "node-dlog")
+SET(MODULE "node-dlog")
 
-# Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_DLOG}
+# Native Module
+ADD_MODULE(${MODULE} NODE
+  SRCS
+    src/dlog.cc
+  INCLUDES
+    src
+  DEPENDS
+    dlog
 )
 
-
-# Native Binding Module
-PKG_CHECK_MODULES(TARGET_DLOG_NATIVE_DEPS REQUIRED
-    dlog nodejs
-)
-INCLUDE_DIRECTORIES (
-  ${CMAKE_CURRENT_SOURCE_DIR}/src
-  ${TARGET_DLOG_NATIVE_DEPS_INCLUDE_DIRS}
-)
-ADD_LIBRARY(${TARGET_DLOG_NATIVE} MODULE
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/dlog.cc
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
-SET_TARGET_PROPERTIES(${TARGET_DLOG_NATIVE} PROPERTIES PREFIX "" SUFFIX ".node")
-TARGET_LINK_LIBRARIES(${TARGET_DLOG_NATIVE}
-    ${TARGET_DLOG_NATIVE_DEPS_LIBRARIES}
+
+INSTALL(TARGETS ${MODULE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/build/Release
 )
-INSTALL(TARGETS ${TARGET_DLOG_NATIVE} DESTINATION
-        ${GLOBAL_NODE_MODULE_PATH}/${TARGET_DLOG}/build/Release)
+
index 019d90b..0fde5aa 100644 (file)
@@ -1,35 +1,27 @@
-SET(TARGET_XWALK "node-xwalk")
-SET(TARGET_XWALK_NATIVE "native")
+SET(MODULE "node-xwalk")
+SET(MODULE_NATIVE "node-xwalk-native")
 
-# Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_XWALK}
+# Native Module
+ADD_MODULE(${MODULE_NATIVE} NODE
+  SRCS
+    src/native_binding.cc
+    src/extension.cc
+    src/extension_adapter.cc
+  INCLUDES
+    src
+  DEPENDS
+    dlog
 )
 
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/lib/loader.js
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_XWALK}/lib
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
 
-# Native Binding Module
-PKG_CHECK_MODULES(TARGET_XWALK_NATIVE_DEPS REQUIRED
-    dlog nodejs
+INSTALL(FILES lib/loader.js
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/lib
 )
 
-INCLUDE_DIRECTORIES (
-  ${CMAKE_CURRENT_SOURCE_DIR}/src
-  ${TARGET_XWALK_NATIVE_DEPS_INCLUDE_DIRS}
-)
-ADD_LIBRARY(${TARGET_XWALK_NATIVE} MODULE
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/native_binding.cc
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/extension.cc
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/extension_adapter.cc
+INSTALL(TARGETS ${MODULE_NATIVE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/build/Release
 )
-SET_TARGET_PROPERTIES(${TARGET_XWALK_NATIVE} PROPERTIES PREFIX "" SUFFIX ".node")
-TARGET_LINK_LIBRARIES(${TARGET_XWALK_NATIVE}
-    ${TARGET_XWALK_NATIVE_DEPS_LIBRARIES}
-)
-INSTALL(TARGETS ${TARGET_XWALK_NATIVE} DESTINATION
-        ${GLOBAL_NODE_MODULE_PATH}/${TARGET_XWALK}/build/Release)
-
index cf2877b..58b89a7 100644 (file)
@@ -14,7 +14,7 @@ var ExtensionModule = function(ext_path) {
 };
 
 ExtensionModule.prototype.load = function() {
-  var native_ = require("../build/Release/native");
+  var native_ = require("../build/Release/node-xwalk-native");
   this.extension_info = native_.getExtensionInfo(this.extension_path);
   if (!this.extension_info) {
     error('Error during get information of extension "' +
index eb16918..ba0ebcb 100644 (file)
@@ -1,33 +1,26 @@
-SET(TARGET_PRIVILEGES "privileges")
-SET(TARGET_PRIVILEGES_NATIVE "privileges_native")
+SET(MODULE "privileges")
+SET(MODULE_NATIVE "privileges_native")
 
-# Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_PRIVILEGES}
+# Native Module
+ADD_MODULE(${MODULE_NATIVE} NODE
+  SRCS
+    src/privileges_native.cc
+  INCLUDES
+    src
+  DEPENDS
+    dlog cynara-client libsmack
+    pkgmgr-info capi-appfw-app-manager
 )
 
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/lib/privileges.js
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_PRIVILEGES}/lib
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
 
-# Native Binding Module
-PKG_CHECK_MODULES(TARGET_PRIVILEGES_NATIVE_DEPS REQUIRED
-    dlog nodejs
-    cynara-client libsmack
-    pkgmgr-info capi-appfw-app-manager
+INSTALL(FILES lib/privileges.js
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/lib
 )
-INCLUDE_DIRECTORIES (
-  ${CMAKE_CURRENT_SOURCE_DIR}/src
-  ${TARGET_PRIVILEGES_NATIVE_DEPS_INCLUDE_DIRS}
-)
-ADD_LIBRARY(${TARGET_PRIVILEGES_NATIVE} MODULE
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/privileges_native.cc
-)
-SET_TARGET_PROPERTIES(${TARGET_PRIVILEGES_NATIVE} PROPERTIES PREFIX "" SUFFIX ".node")
-TARGET_LINK_LIBRARIES(${TARGET_PRIVILEGES_NATIVE}
-    ${TARGET_PRIVILEGES_NATIVE_DEPS_LIBRARIES}
+
+INSTALL(TARGETS ${MODULE_NATIVE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/build/Release
 )
-INSTALL(TARGETS ${TARGET_PRIVILEGES_NATIVE} DESTINATION
-        ${GLOBAL_NODE_MODULE_PATH}/${TARGET_PRIVILEGES}/build/Release)
index d83c940..ebfe47e 100755 (executable)
@@ -1,27 +1,20 @@
-SET(TARGET_REAPER "reaper")
-SET(TARGET_REAPER_NATIVE "reaper")
+SET(MODULE "reaper")
 
-# Copy Project
-INSTALL(FILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/package.json
-    DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${TARGET_REAPER}
+# Native Module
+ADD_MODULE(${MODULE} NODE
+  SRCS
+    src/reaper.cc
+  INCLUDES
+    src
+  DEPENDS
+    dlog
 )
 
-
-# Native Binding Module
-PKG_CHECK_MODULES(TARGET_REAPER_NATIVE_DEPS REQUIRED
-    dlog nodejs
-)
-INCLUDE_DIRECTORIES (
-  ${CMAKE_CURRENT_SOURCE_DIR}/src
-  ${TARGET_REAPER_NATIVE_DEPS_INCLUDE_DIRS}
-)
-ADD_LIBRARY(${TARGET_REAPER_NATIVE} MODULE
-  ${CMAKE_CURRENT_SOURCE_DIR}/src/reaper.cc
-)
-SET_TARGET_PROPERTIES(${TARGET_REAPER_NATIVE} PROPERTIES PREFIX "" SUFFIX ".node")
-TARGET_LINK_LIBRARIES(${TARGET_REAPER_NATIVE}
-    ${TARGET_REAPER_NATIVE_DEPS_LIBRARIES}
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
 )
-INSTALL(TARGETS ${TARGET_REAPER_NATIVE} DESTINATION
-        ${GLOBAL_NODE_MODULE_PATH}/${TARGET_REAPER}/build/Release)
+
+INSTALL(TARGETS ${MODULE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}/build/Release
+)
\ No newline at end of file
diff --git a/modules/tizen-app-control/CMakeLists.txt b/modules/tizen-app-control/CMakeLists.txt
new file mode 100644 (file)
index 0000000..81d4100
--- /dev/null
@@ -0,0 +1,9 @@
+SET(MODULE "tizen-app-control")
+
+# Copy Project
+INSTALL(
+  FILES
+    package.json
+    tizen-app-control.js
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
+)
diff --git a/modules/tizen-application-common/CMakeLists.txt b/modules/tizen-application-common/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d4c812c
--- /dev/null
@@ -0,0 +1,20 @@
+SET(MODULE "tizen-application-common")
+
+# Native Module
+ADD_MODULE(${MODULE} XWALK
+  JSAPI
+    tizen-application-common_api.js
+  SRCS
+    app_common_extension.cc
+  DEPENDS
+    dlog capi-appfw-application
+)
+
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
+)
+
+INSTALL(TARGETS ${MODULE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
+)
diff --git a/modules/tizen-application-common/build.gyp b/modules/tizen-application-common/build.gyp
deleted file mode 100755 (executable)
index 09e896d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  'targets': [
-    {
-      'target_name': 'tizen-application-common',
-      'sources': [
-        'tizen-application-common_api.js',
-        'app_common_extension.h',
-        'app_common_extension.cc',
-        'picojson.h',
-      ],
-      'variables': {
-        'packages': [
-          'dlog',
-          'capi-appfw-application',
-        ],
-      },
-    },
-  ],
-}
diff --git a/modules/tizen-application/CMakeLists.txt b/modules/tizen-application/CMakeLists.txt
new file mode 100644 (file)
index 0000000..624bc6c
--- /dev/null
@@ -0,0 +1,21 @@
+SET(MODULE "tizen-application")
+
+# Native Module
+ADD_MODULE(${MODULE} XWALK
+  JSAPI
+    tizen-application_api.js
+  SRCS
+    appfw.cc
+    ui_app_extension.cc
+  DEPENDS
+    dlog appcore-efl aul
+)
+
+# Copy Project
+INSTALL(FILES package.json
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
+)
+
+INSTALL(TARGETS ${MODULE}
+  DESTINATION ${GLOBAL_NODE_MODULE_PATH}/${MODULE}
+)
\ No newline at end of file
diff --git a/modules/tizen-application/build.gyp b/modules/tizen-application/build.gyp
deleted file mode 100755 (executable)
index ede945a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  'targets': [
-    {
-      'target_name': 'tizen-application',
-      'sources': [
-        'tizen-application_api.js',
-        'ui_app_extension.h',
-        'ui_app_extension.cc',
-        'picojson.h',
-        'appfw.cc',
-        'appfw.h',
-      ],
-      'variables': {
-        'packages': [
-          'dlog',
-          'appcore-efl',
-          'aul',
-        ],
-      },
-    },
-  ],
-}
-
index 677a6f3..bbbcc1c 100644 (file)
@@ -11,15 +11,18 @@ Source0:    %{name}-%{version}.tar.gz
 Source1:    %{name}.manifest
 
 BuildRequires: cmake
-BuildRequires: pkgconfig(appcore-efl)
-BuildRequires: pkgconfig(aul)
-BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(nodejs)
+BuildRequires: pkgconfig(xwalk-extensions-common)
+BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(libsmack)
 BuildRequires: pkgconfig(cynara-client)
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(aul)
+BuildRequires: pkgconfig(capi-appfw-application)
 BuildRequires: pkgconfig(capi-appfw-app-manager)
 BuildRequires: pkgconfig(pkgmgr-info)
 
+
 Requires: nodejs
 
 %description