Apply workaround for Conan installation on CI

This commit is contained in:
Siarhei Fedartsou 2022-11-06 14:45:34 +01:00
parent 0ae5190937
commit 95e25090ae
4 changed files with 830 additions and 354 deletions

View File

@ -34,7 +34,11 @@ option(ENABLE_SANITIZER "Use memory sanitizer for Debug build" OFF)
option(ENABLE_LTO "Use LTO if available" OFF) option(ENABLE_LTO "Use LTO if available" OFF)
option(ENABLE_FUZZING "Fuzz testing using LLVM's libFuzzer" OFF) option(ENABLE_FUZZING "Fuzz testing using LLVM's libFuzzer" OFF)
option(ENABLE_GOLD_LINKER "Use GNU gold linker if available" ON) option(ENABLE_GOLD_LINKER "Use GNU gold linker if available" ON)
option(ENABLE_NODE_BINDINGS "Build NodeJs bindings" OFF) if (CMAKE_JS_VERSION)
set(ENABLE_NODE_BINDINGS ON)
else()
set(ENABLE_NODE_BINDINGS OFF)
endif()
option(ENABLE_CLANG_TIDY "Enables clang-tidy checks" OFF) option(ENABLE_CLANG_TIDY "Enables clang-tidy checks" OFF)
if (ENABLE_CLANG_TIDY) if (ENABLE_CLANG_TIDY)

1147
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,7 @@
"babelify": "^10.0.0", "babelify": "^10.0.0",
"browserify": "^17.0.0", "browserify": "^17.0.0",
"chalk": "^1.1.3", "chalk": "^1.1.3",
"cheap-ruler": "^3.0.2",
"command-line-args": "^5.2.1", "command-line-args": "^5.2.1",
"command-line-usage": "^5.0.4", "command-line-usage": "^5.0.4",
"csv-stringify": "^3.0.0", "csv-stringify": "^3.0.0",
@ -55,18 +56,17 @@
"eslint": "^5.16.0", "eslint": "^5.16.0",
"faucet": "^0.0.1", "faucet": "^0.0.1",
"jsonpath": "^1.1.1", "jsonpath": "^1.1.1",
"mkdirp": "^0.5.6",
"nan": "^2.17.0",
"node-timeout": "0.0.4", "node-timeout": "0.0.4",
"polyline": "^0.2.0", "polyline": "^0.2.0",
"request": "^2.88.2", "request": "^2.88.2",
"rimraf": "^2.7.1",
"tape": "^4.16.0", "tape": "^4.16.0",
"turf": "^3.0.14", "turf": "^3.0.14",
"uglify-js": "^3.17.0", "uglify-js": "^3.17.0",
"xmlbuilder": "^4.2.1", "xmlbuilder": "^4.2.1",
"cheap-ruler": "^3.0.2", "cmake-js": "^7.0.0"
"mkdirp": "^0.5.6",
"nan": "^2.17.0",
"node-cmake": "^2.5.1",
"rimraf": "^2.7.1"
}, },
"main": "lib/index.js", "main": "lib/index.js",
"binary": { "binary": {

View File

@ -8,19 +8,20 @@ set(BINDING_DIR "${PROJECT_SOURCE_DIR}/lib/binding")
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/node_modules/node-cmake") list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/node_modules/node-cmake")
include(NodeJS)
nodejs_init()
message(STATUS "Configuring node_osrm bindings for NodeJs ${NODEJS_VERSION}") message(STATUS "Configuring node_osrm bindings for NodeJs ${NODEJS_VERSION}")
add_nodejs_module(node_osrm node_osrm.cpp) include_directories(SYSTEM ${CMAKE_JS_INC})
set_target_properties(node_osrm PROPERTIES CXX_STANDARD 17)
# TODO: we disable clang-tidy for this target, because it causes errors in third-party NodeJs related headers
set_target_properties(node_osrm PROPERTIES CXX_CLANG_TIDY "")
# TODO: we turn off some warnings for this target, because it causes errors in third-party NodeJs related headers
target_no_warning(node_osrm suggest-destructor-override)
target_no_warning(node_osrm suggest-override)
add_library(node_osrm SHARED node_osrm.cpp)
set_target_properties(node_osrm PROPERTIES PREFIX "" SUFFIX ".node")
target_link_libraries(node_osrm ${CMAKE_JS_LIB})
if(MSVC AND CMAKE_JS_NODELIB_DEF AND CMAKE_JS_NODELIB_TARGET)
# Generate node.lib
execute_process(COMMAND ${CMAKE_AR} /def:${CMAKE_JS_NODELIB_DEF} /out:${CMAKE_JS_NODELIB_TARGET} ${CMAKE_STATIC_LINKER_FLAGS})
endif()
set_target_properties(node_osrm PROPERTIES CXX_STANDARD 17)
target_link_libraries(node_osrm osrm) target_link_libraries(node_osrm osrm)
# node_osrm artifacts in ${BINDING_DIR} to depend targets on # node_osrm artifacts in ${BINDING_DIR} to depend targets on