diff options
Diffstat (limited to 'cmake/node_build.cmake')
-rw-r--r-- | cmake/node_build.cmake | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/cmake/node_build.cmake b/cmake/node_build.cmake new file mode 100644 index 0000000000..f98aa103bf --- /dev/null +++ b/cmake/node_build.cmake @@ -0,0 +1,76 @@ +# +# node build stuff +# + +add_custom_command( + OUTPUT ${PROJECT_BINARY_DIR}/src/node_natives.h + COMMAND tools/js2c.py ${PROJECT_BINARY_DIR}/src/node_natives.h ${js2c_files} + DEPENDS ${js2c_files}) + +set(node_extra_src "src/platform_${node_platform}.cc") + +if(NOT EXISTS ${CMAKE_SOURCE_DIR}/${node_extra_src}) + set(node_extra_src "src/platform_none.cc") +endif() + +set(node_sources + src/node_main.cc + src/node.cc + src/node_buffer.cc + src/node_javascript.cc + src/node_extensions.cc + src/node_http_parser.cc + src/node_net.cc + src/node_io_watcher.cc + src/node_child_process.cc + src/node_constants.cc + src/node_cares.cc + src/node_events.cc + src/node_file.cc + src/node_signal_watcher.cc + src/node_stat_watcher.cc + src/node_stdio.cc + src/node_timer.cc + src/node_script.cc + src/node_natives.h + ${node_extra_src}) + +configure_file(src/node_config.h.in ${PROJECT_BINARY_DIR}/src/node_config.h) +configure_file(config.h.cmake ${PROJECT_BINARY_DIR}/config.h) + +include_directories( + src + deps/libeio + deps/http_parser + ${V8_INCLUDE_DIR} + ${LIBEV_INCLUDE_DIR} + ${LIBCARES_INCLUDE_DIR} + + ${PROJECT_BINARY_DIR} + ${PROJECT_BINARY_DIR}/src +) + +add_executable(node ${node_sources}) +set_target_properties(node PROPERTIES DEBUG_POSTFIX "_g") +target_link_libraries(node + ev + eio + cares + http_parser + ${V8_LIBRARY_PATH} + ${CMAKE_THREAD_LIBS_INIT} + ${extra_libs}) + + +install(TARGETS node RUNTIME DESTINATION bin) +install(FILES + ${PROJECT_BINARY_DIR}/config.h + src/node.h + src/node_object_wrap.h + src/node_buffer.h + src/node_events.h + src/node_version.h + ${PROJECT_BINARY_DIR}/src/node_config.h + + DESTINATION include/node +) |