MXS-1300: Add check for Node.js version
The Node.js version is checked before MaxCtrl is built.
This commit is contained in:
22
cmake/FindNodeJS.cmake
Normal file
22
cmake/FindNodeJS.cmake
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Find the Node.js executable
|
||||||
|
#
|
||||||
|
# The following variables are set:
|
||||||
|
# NODEJS_FOUND True if Node.js was found
|
||||||
|
# NODEJS_EXECUTABLE Path to the Node.js executable
|
||||||
|
# NODEJS_VERSION Node.js version
|
||||||
|
|
||||||
|
find_program(NODEJS_EXECUTABLE node)
|
||||||
|
|
||||||
|
if (${NODEJS_EXECUTABLE} MATCHES "NOTFOUND")
|
||||||
|
message(STATUS "Could not find Node.js")
|
||||||
|
set(NODEJS_FOUND FALSE CACHE INTERNAL "")
|
||||||
|
unset(NODEJS_EXECUTABLE)
|
||||||
|
else()
|
||||||
|
execute_process(COMMAND ${NODEJS_EXECUTABLE} --version
|
||||||
|
OUTPUT_VARIABLE VERSION_VAR)
|
||||||
|
string(REGEX REPLACE "[v]" "" VERSION_VAR ${VERSION_VAR})
|
||||||
|
string(STRIP ${VERSION_VAR} VERSION_VAR)
|
||||||
|
set(NODEJS_VERSION ${VERSION_VAR} CACHE INTERNAL "")
|
||||||
|
set(NODEJS_FOUND TRUE CACHE INTERNAL "")
|
||||||
|
message(STATUS "Found Node.js version ${NODEJS_VERSION}: ${NODEJS_EXECUTABLE}")
|
||||||
|
endif()
|
@ -1,6 +1,7 @@
|
|||||||
find_package(NPM)
|
find_package(NPM)
|
||||||
|
find_package(NodeJS)
|
||||||
|
|
||||||
if (NPM_FOUND)
|
if (NPM_FOUND AND NODEJS_FOUND AND NODEJS_VERSION VERSION_GREATER "6.0.0")
|
||||||
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/maxctrl/maxctrl
|
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/maxctrl/maxctrl
|
||||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build.sh ${CMAKE_SOURCE_DIR}
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build.sh ${CMAKE_SOURCE_DIR}
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
@ -15,5 +16,5 @@ if (NPM_FOUND)
|
|||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
|
|
||||||
else()
|
else()
|
||||||
message(STATUS "Not building MaxCtrl: npm not found")
|
message(STATUS "Not building MaxCtrl: npm or Node.js >= 6.0.0 not found")
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user