d6d6bc2df0a938c1569c39b8cfd2165d278d4817
[contrib/mraa.git] / src / javascript / CMakeLists.txt
1 find_path (NODE_ROOT_DIR "node/node.h")
2
3 set (NODE_INCLUDE_DIRS
4   ${NODE_ROOT_DIR}/src
5   ${NODE_ROOT_DIR}/node
6   ${NODE_ROOT_DIR}/deps/v8/include
7   ${NODE_ROOT_DIR}/deps/uv/include
8 )
9
10 include_directories (
11   ${NODE_INCLUDE_DIRS}
12   ${CMAKE_CURRENT_SOURCE_DIR}/..
13 )
14
15 set (CMAKE_CXX_FLAGS -DBUILDING_NODE_EXTENSION)
16 # SWIG treats SWIG_FLAGS as a list and not a string so semicolon seperation is required
17 set_source_files_properties (maajs.i PROPERTIES SWIG_FLAGS "-node;-I${CMAKE_BINARY_DIR}/src")
18 set_source_files_properties (maajs.i PROPERTIES CPLUSPLUS ON)
19
20 swig_add_module (maajs javascript maajs.i ${maa_LIB_SRCS})
21 swig_link_libraries (maajs ${NODE_LIBRARIES})
22
23 if (DOXYGEN_FOUND)
24   foreach (_file ${DOCFILES})
25     add_dependencies (${SWIG_MODULE_maajs_REAL_NAME} ${_file}doc_i)
26   endforeach ()
27 endif ()
28
29 set_target_properties (maajs PROPERTIES
30   PREFIX ""
31   SUFFIX ".node"
32 )
33
34 install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/package.json
35          ${CMAKE_CURRENT_BINARY_DIR}/maajs.node
36          DESTINATION lib/node_modules/maajs)