summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-08-15 14:36:16 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-08-16 15:29:34 +0200
commit51391740bf324fd7131f069d1d2d106113560df3 (patch)
tree93b93bd806525966b531ed8d7b1aeeee43705058 /cmake
parent4e211548d5029a353aaa8814c40599970a8098bd (diff)
downloadqtlocation-mapboxgl-51391740bf324fd7131f069d1d2d106113560df3.tar.gz
[build] convert build-shaders script from Python to Node.js
Diffstat (limited to 'cmake')
-rw-r--r--cmake/mbgl.cmake11
-rw-r--r--cmake/node.cmake10
-rw-r--r--cmake/npm.cmake20
-rw-r--r--cmake/shaders.cmake2
-rw-r--r--cmake/test.cmake4
5 files changed, 13 insertions, 34 deletions
diff --git a/cmake/mbgl.cmake b/cmake/mbgl.cmake
index c73127ab3f..f20f49004c 100644
--- a/cmake/mbgl.cmake
+++ b/cmake/mbgl.cmake
@@ -12,6 +12,17 @@ endif()
set(MBGL_GENERATED ${CMAKE_BINARY_DIR}/generated/${CMAKE_CFG_INTDIR})
+if(NOT EXISTS ${CMAKE_SOURCE_DIR}/node_modules/node-cmake/FindNodeJS.cmake)
+ message(FATAL_ERROR "Can't find node-cmake")
+endif()
+
+# Load Node.js
+set(NodeJS_CXX_STANDARD 14 CACHE INTERNAL "Use C++14" FORCE)
+set(NodeJS_DOWNLOAD ON CACHE INTERNAL "Download node.js sources" FORCE)
+set(NodeJS_USE_CLANG_STDLIB OFF CACHE BOOL "Don't use libc++ by default" FORCE)
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/node_modules/node-cmake)
+find_package(NodeJS)
+
# Generate source groups so the files are properly sorted in IDEs like Xcode.
function(create_source_groups target)
get_target_property(sources ${target} SOURCES)
diff --git a/cmake/node.cmake b/cmake/node.cmake
index 081b158d41..034216b617 100644
--- a/cmake/node.cmake
+++ b/cmake/node.cmake
@@ -1,13 +1,3 @@
-if(NOT EXISTS ${CMAKE_SOURCE_DIR}/node_modules/node-cmake/FindNodeJS.cmake)
- message(FATAL_ERROR "Can't find node-cmake")
-endif()
-
-set(NodeJS_CXX_STANDARD 14 CACHE INTERNAL "Use C++14" FORCE)
-set(NodeJS_DOWNLOAD ON CACHE INTERNAL "Download node.js sources" FORCE)
-set(NodeJS_USE_CLANG_STDLIB OFF CACHE BOOL "Don't use libc++ by default" FORCE)
-list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/node_modules/node-cmake)
-find_package(NodeJS)
-
add_nodejs_module(mbgl-node
platform/node/src/node_mapbox_gl_native.cpp
)
diff --git a/cmake/npm.cmake b/cmake/npm.cmake
deleted file mode 100644
index bb456666e2..0000000000
--- a/cmake/npm.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-function(cache_executable_path name variable)
- # Obtain paths to node and npm and cache it, so when e.g. Xcode reruns CMake, we still have the
- # variables from the original invocation
- if(NOT ${variable})
- set(_which_output)
- execute_process(
- COMMAND which ${name}
- OUTPUT_VARIABLE _which_output
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(_which_output STREQUAL "")
- message(STATUS "Using cached ${name}: ${${variable}}")
- else()
- set(${variable} "${_which_output}" CACHE PATH "Path to ${name} executable")
- message(STATUS "Using ${name}: ${${variable}}")
- endif()
- endif()
-endfunction()
-
-cache_executable_path(node _node)
-cache_executable_path(npm _npm)
diff --git a/cmake/shaders.cmake b/cmake/shaders.cmake
index 5a16fa682f..5495f5b281 100644
--- a/cmake/shaders.cmake
+++ b/cmake/shaders.cmake
@@ -1,5 +1,5 @@
function(add_shader VAR name)
- set(shader_build_cmd ${CMAKE_SOURCE_DIR}/scripts/build-shaders.py)
+ set(shader_build_cmd ${NodeJS_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/build-shaders.js)
set(shader_file_prefix ${CMAKE_SOURCE_DIR}/node_modules/mapbox-gl-shaders/src)
set(shader_source_prefix ${MBGL_GENERATED}/include/mbgl/shader)
diff --git a/cmake/test.cmake b/cmake/test.cmake
index 6cce8d248d..29975662ce 100644
--- a/cmake/test.cmake
+++ b/cmake/test.cmake
@@ -2,13 +2,11 @@ add_executable(mbgl-test
${MBGL_TEST_FILES}
)
-cache_executable_path(node _node)
-
target_compile_options(mbgl-test
PRIVATE -fvisibility-inlines-hidden
)
-set_source_files_properties(test/src/mbgl/test/util.cpp PROPERTIES COMPILE_FLAGS -DNODE_EXECUTABLE="${_node}")
+set_source_files_properties(test/src/mbgl/test/util.cpp PROPERTIES COMPILE_FLAGS -DNODE_EXECUTABLE="${NodeJS_EXECUTABLE}")
target_include_directories(mbgl-test
PRIVATE include