From f893613e99e226a3de9bc76820f8a6b44547c8a3 Mon Sep 17 00:00:00 2001 From: Mihai Tudor Panu Date: Thu, 28 May 2015 08:53:57 -0700 Subject: [PATCH] cmake: updated to support building with nodejs 0.12 and swig 3.0.5 Signed-off-by: Mihai Tudor Panu --- cmake/modules/FindNode.cmake | 1 + src/CMakeLists.txt | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/modules/FindNode.cmake b/cmake/modules/FindNode.cmake index cac8943b..2da40e42 100644 --- a/cmake/modules/FindNode.cmake +++ b/cmake/modules/FindNode.cmake @@ -37,6 +37,7 @@ if (NODE_EXECUTABLE) list (GET _VERSION_LIST 2 NODE_VERSION_PATCH) set (V8_VERSION_STRING ${_V8_VERSION}) string (REPLACE "." ";" _V8_VERSION_LIST "${_V8_VERSION}") + string (REPLACE "." "" V8_DEFINE_STRING "${_V8_VERSION}") list (GET _V8_VERSION_LIST 0 V8_VERSION_MAJOR) list (GET _V8_VERSION_LIST 1 V8_VERSION_MINOR) list (GET _V8_VERSION_LIST 2 V8_VERSION_PATCH) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e0d657da..02f99434 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -43,7 +43,7 @@ macro(upm_SWIG_NODE) "${NODE_INCLUDE_DIRS}" ) set_target_properties (jsupm_${libname} PROPERTIES - COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -DBUILDING_NODE_EXTENSION" + COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -DBUILDING_NODE_EXTENSION -DSWIG_V8_VERSION=0x0${V8_DEFINE_STRING}" PREFIX "" SUFFIX ".node" ) @@ -80,6 +80,12 @@ if (SWIG_FOUND) list (GET PYTHON_VERSION_LIST 1 PYTHON_VERSION_MINOR) endif(BUILDSWIGPYTHON) if(BUILDSWIGNODE) + if(NOT NODE_FOUND) + find_package(Node) + endif() + if(SWIG_VERSION VERSION_LESS 3.0.5 AND NODE_VERSION_STRING VERSION_GREATER 0.12) + message("WARNING - SWIG 3.0.5+ required for building with nodejs 0.12. Current version is ${SWIG_VERSION}") + endif() find_path (NODE_ROOT_DIR "node/node.h") set (NODE_INCLUDE_DIRS ${NODE_ROOT_DIR}/src