summaryrefslogtreecommitdiff
path: root/cmake/node.cmake
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-04-29 16:08:16 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-04-29 16:08:16 -0700
commit8a5a725903ec80299552e974da955bf34967b432 (patch)
tree95f752180e404a1ce55136b3bfee1be1f2973b9f /cmake/node.cmake
parent65a4ee2373d053ac5b8d179123fdc51b320a1bb7 (diff)
downloadqtlocation-mapboxgl-upstream/loop-uv.tar.gz
[linux] Don't compile linux mbgl-loop-uv against node headersupstream/loop-uv
Previously, `target_include_directories(mbgl-loop-uv PUBLIC ${NODEJS_INCLUDE_DIRS})` always applied. Compiles were working by accident because node is always installed in CI. Instead, split and inline loop-uv.cmake contents: linux uses `target_add_mason_package(mbgl-loop-uv PUBLIC libuv)`, node uses `target_include_directories(mbgl-loop-node PUBLIC ${NODEJS_INCLUDE_DIRS})`.
Diffstat (limited to 'cmake/node.cmake')
-rw-r--r--cmake/node.cmake22
1 files changed, 17 insertions, 5 deletions
diff --git a/cmake/node.cmake b/cmake/node.cmake
index 0c2f556b7d..90bec6575c 100644
--- a/cmake/node.cmake
+++ b/cmake/node.cmake
@@ -2,6 +2,22 @@
include(cmake/NodeJS.cmake)
nodejs_init()
+add_library(mbgl-loop-node STATIC
+ platform/default/async_task.cpp
+ platform/default/run_loop.cpp
+ platform/default/timer.cpp
+)
+
+target_include_directories(mbgl-loop-node
+ PRIVATE include
+ PRIVATE src
+)
+
+target_include_directories(mbgl-loop-node PUBLIC ${NODEJS_INCLUDE_DIRS})
+
+create_source_groups(mbgl-loop-node)
+xcode_create_scheme(TARGET mbgl-loop-node)
+
add_nodejs_module(mbgl-node
platform/node/src/node_mapbox_gl_native.cpp
)
@@ -31,13 +47,9 @@ target_include_directories(mbgl-node
PRIVATE platform/default
)
-# Use node-provided uv.h. This is not part of loop-uv.cmake because loop-uv.cmake is also
-# used by linux/config.cmake, where we need to use headers provided by mason's libuv.
-target_include_directories(mbgl-loop-uv PUBLIC ${NODEJS_INCLUDE_DIRS})
-
target_link_libraries(mbgl-node
PRIVATE mbgl-core
- PRIVATE mbgl-loop-uv
+ PRIVATE mbgl-loop-node
)
target_add_mason_package(mbgl-node PRIVATE geojson)