From 1cdf909a6670c86a98768f2326722096ba8e07c5 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Fri, 8 Dec 2017 21:25:04 +0100 Subject: [PATCH 01/14] Configure cmake for Windows --- README.md | 38 +++++++++++------- cmake/Findnodejs.cmake | 73 ++++++++-------------------------- source/demo-app/CMakeLists.txt | 24 +++++++---- 3 files changed, 57 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index e9b5cb3..05b414d 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,6 @@ ## Setup -### Mac - -* Set Environment Variables: - - CMAKE_PREFIX_PATH must point to your Qt directory (e.g. /Users/[USRNAME]/Qt/[QT-VERSION]/clang_64) - -### Windows - -Make sure you have Qt installed for the Visual Studio compiler. - -### Linux (Ubuntu 17.04) - * download the Node.js headers: ``` mkdir externals @@ -37,11 +26,32 @@ cd ../.. * then either just open CMakeLists.txt with QtCreator, configure it and press run * or start from terminal with the following commands: + +### Building the project + +#### Windows + +Make sure you have Qt installed for the Visual Studio compiler. + +``` +cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH='C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\lib\cmake' . +cmake --build . +``` + +#### Linux + ``` -# build project: CMAKE_PREFIX_PATH=~/Qt/5.10.0/gcc_64/lib/cmake/Qt5 cmake . make -j6 +``` -# run executable: -./node-embed source/demo-app/hello_world.js +#### Mac + +* Set Environment Variables: + - CMAKE_PREFIX_PATH must point to your Qt directory (e.g. /Users/[USRNAME]/Qt/[QT-VERSION]/clang_64) + +### Running the application + +``` +./node-embedd.exe ../source/demo-app/rss_feed.js ``` diff --git a/cmake/Findnodejs.cmake b/cmake/Findnodejs.cmake index 024e104..36bde2e 100644 --- a/cmake/Findnodejs.cmake +++ b/cmake/Findnodejs.cmake @@ -1,58 +1,19 @@ -# NODEJS_FOUND -# NODEJS_INCLUDE_DIRS -# NODEJS_INCLUDE_DIR -# NODEJS_LIBUV_INCLUDE_DIR - +# NODEJS_FOUND - system has the node.js library +# NODEJS_INCLUDE_DIR - the node.js include directory +# NODEJS_LIBRARY - the node.js library name +if(NODEJS_INCLUDE_DIR AND NODEJS_LIBRARY) +set(NODEJS_FIND_QUIETLY TRUE) +endif() +find_path(NODEJS_INCLUDE_DIR node.h PATHS +"${CMAKE_SOURCE_DIR}/externals/node-v9.0.0/include/node" + NO_DEFAULT_PATH +) +find_library(NODEJS_LIBRARY NAMES node libnode.lib +PATHS + "${CMAKE_SOURCE_DIR}/externals/node-v9.0.0/Release" +NO_DEFAULT_PATH +) include(FindPackageHandleStandardArgs) - -find_path(NODEJS_INCLUDE_DIR node.h - $ENV{NODEJS_HOME} - $ENV{NODEJSDIR} - $ENV{NODEJS_HOME}/src - $ENV{NODEJSDIR}/src - /usr/include/nodejs/src - /usr/local/include/nodejs/src - /usr/include - /usr/local/include - /sw/include - /usr/local/include/node - /opt/local/include - DOC "The directory where node.h resides.") - -find_path(NODEJS_LIBUV_INCLUDE_DIR uv.h - $ENV{NODEJS_HOME} - $ENV{NODEJSDIR} - $ENV{NODEJS_HOME}/src - $ENV{NODEJSDIR}/src - $ENV{NODEJS_HOME}/deps/uv/include - $ENV{NODEJSDIR}/deps/uv/include - /usr/include/nodejs/deps/uv/include - /usr/local/include/nodejs/deps/uv/include - /usr/include - /usr/local/include - /sw/include - /opt/local/include - /usr/local/include/node - DOC "The directory where uv.h resides.") - -find_path(NODEJS_LIBV8_INCLUDE_DIR v8.h - $ENV{NODEJS_HOME} - $ENV{NODEJSDIR} - $ENV{NODEJS_HOME}/src - $ENV{NODEJSDIR}/src - $ENV{NODEJS_HOME}/deps/v8/include - $ENV{NODEJSDIR}/deps/v8/include - /usr/include/nodejs/deps/uv/include - /usr/local/include/nodejs/deps/uv/include - /usr/include - /usr/local/include - /sw/include - /opt/local/include - /usr/local/include/node - DOC "The directory where v8.h resides.") - -set(NODEJS_INCLUDE_DIRS ${NODEJS_INCLUDE_DIR} ${NODEJS_LIBUV_INCLUDE_DIR} ${NODEJS_LIBV8_INCLUDE_DIR}) - -find_package_handle_standard_args(NODEJS REQUIRED_VARS NODEJS_INCLUDE_DIRS) -mark_as_advanced(NODEJS_INCLUDE_DIRS) +find_package_handle_standard_args(Node DEFAULT_MSG NODEJS_INCLUDE_DIR NODEJS_LIBRARY) +mark_as_advanced(NODEJS_INCLUDE_DIR NODEJS_LIBRARY) diff --git a/source/demo-app/CMakeLists.txt b/source/demo-app/CMakeLists.txt index 7182a28..6ee2742 100644 --- a/source/demo-app/CMakeLists.txt +++ b/source/demo-app/CMakeLists.txt @@ -6,6 +6,7 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) find_package(Qt5 COMPONENTS Core Quick Concurrent REQUIRED) +find_package(Nodejs REQUIRED) # @@ -67,7 +68,7 @@ target_include_directories(${target} PRIVATE ${DEFAULT_INCLUDE_DIRECTORIES} ${PROJECT_BINARY_DIR}/source/include - ${PROJECT_BINARY_DIR}/externals/node-v9.0.0/include/node + ${NODEJS_INCLUDE_DIR} ) @@ -75,19 +76,13 @@ target_include_directories(${target} # Libraries # -add_library( nodejs-lib SHARED IMPORTED) - -set_target_properties( nodejs-lib - PROPERTIES IMPORTED_LOCATION - ${PROJECT_BINARY_DIR}/externals/libnode.so.59 ) - target_link_libraries(${target} PRIVATE ${DEFAULT_LIBRARIES} Qt5::Core Qt5::Quick Qt5::Concurrent - nodejs-lib + ${NODEJS_LIBRARY} ) # @@ -139,3 +134,16 @@ install(TARGETS ${target} RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime BUNDLE DESTINATION ${INSTALL_BIN} COMPONENT runtime ) + +if(WIN32) + # Copy node.dll + add_custom_command(TARGET ${target} POST_BUILD # Adds a post-build event to MyTest + COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..." + ${CMAKE_SOURCE_DIR}/externals/node-v9.0.0/Release/node.dll # <--this is in-file + $) # <--this is out-file path + + # Copy Qt dependencies + find_program(WINDEPLOYQT_EXECUTABLE NAMES windeployqt HINTS ${Qt5_DIR}/../../../ ENV QTDIR PATH_SUFFIXES bin) + add_custom_command(TARGET ${target} POST_BUILD + COMMAND ${WINDEPLOYQT_EXECUTABLE} --no-patchqt --qmldir ${CMAKE_SOURCE_DIR}/source/demo-app $) +endif() From 4c8f061d1198421e945ea6179b933001de300348 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Sat, 9 Dec 2017 13:18:58 +0100 Subject: [PATCH 02/14] Adjust appveyor.yml from cmake-init --- appveyor.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index ceb4028..9131ec5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,7 +2,7 @@ version: '{build}' branches: only: - master -clone_folder: c:\projects\cmake-init +clone_folder: c:\projects\node-embed image: - Visual Studio 2013 - Visual Studio 2015 @@ -33,20 +33,20 @@ init: before_build: - cmd: >- mkdir build - + cd build - + cmake --version - cmake .. -G %generator% - + cmake .. -G %generator% -DCMAKE_PREFIX_PATH='C:\Qt\5.9.2\msvc2017_64\lib\cmake' + build: - project: c:\projects\cmake-init\build\template.sln + project: c:\projects\node-embed\build\Node-Embed.sln verbosity: minimal - parallel: true + parallel: true only_commits: files: - CMakeLists.txt - appveyor.yml - - sources/ + - source/ - cmake/ From 3916ad0a2dcca63deae29cdb32fa7f361525ce38 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Sat, 9 Dec 2017 13:21:13 +0100 Subject: [PATCH 03/14] Build node.js on appveyor --- appveyor.yml | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 9131ec5..4bd32cc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,12 +1,12 @@ version: '{build}' -branches: - only: - - master +#branches: +# only: +# - master clone_folder: c:\projects\node-embed image: -- Visual Studio 2013 -- Visual Studio 2015 - Visual Studio 2017 +- Visual Studio 2015 +- Visual Studio 2013 configuration: - Release - Debug @@ -19,6 +19,9 @@ environment: matrix: fast_finish: true +cache: + - c:\projects\node-embed\externals + # skip unsupported combinations init: - set arch= @@ -30,15 +33,31 @@ init: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" ( set generator="Visual Studio 12 2013%arch%" ) - echo %generator% +- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( set qt_cmake="C:\Qt\5.9.2\msvc2017_64\lib\cmake" ) +- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" ( set qt_cmake="C:\Qt\5.9.2\msvc2015_64\lib\cmake" ) +- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" ( set qt_cmake="C:\Qt\5.8\msvc2013_64\lib\cmake" ) +- echo %qt_cmake% +- set APPVEYOR_SAVE_CACHE_ON_ERROR="true" #TODO: Remove + before_build: -- cmd: >- - mkdir build +- cmd: |- + mkdir externals + cd externals + appveyor DownloadFile http://nodejs.org/dist/v9.0.0/node-v9.0.0-headers.tar.gz + 7z e node-v9.0.0-headers.tar.gz + 7z x node-v9.0.0-headers.tar - cd build + appveyor DownloadFile http://nodejs.org/dist/v9.0.0/node-v9.0.0.tar.gz + 7z e node-v9.0.0.tar.gz + 7z x node-v9.0.0.tar + cd node-v9.0.0 + IF NOT EXIST "Release/node.dll" ( vcbuild.bat dll ) + cd ../.. + mkdir build + cd build cmake --version - - cmake .. -G %generator% -DCMAKE_PREFIX_PATH='C:\Qt\5.9.2\msvc2017_64\lib\cmake' + cmake .. -G %generator% -DCMAKE_PREFIX_PATH=%qt_cmake% build: project: c:\projects\node-embed\build\Node-Embed.sln From 87c979acb5be10b1ebdd828c970731ef4399a834 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Sun, 10 Dec 2017 23:44:03 +0100 Subject: [PATCH 04/14] Don't build node.js on appveyor, instead download built executable from HPI OwnCloud --- README.md | 9 ++++++--- appveyor.yml | 12 ++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 05b414d..b2db364 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,14 @@ cd ../.. #### Windows -Make sure you have Qt installed for the Visual Studio compiler. +Make sure you have Qt 5.6 or later installed as well as the matching Visual Studio build tools. +Adjust the generator and path to Qt cmake accordingly: ``` -cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH='C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\lib\cmake' . -cmake --build . +mkdir build +cd build +cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH='C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\lib\cmake' +cmake --build .. ``` #### Linux diff --git a/appveyor.yml b/appveyor.yml index 4bd32cc..e7dbfbf 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,9 +19,6 @@ environment: matrix: fast_finish: true -cache: - - c:\projects\node-embed\externals - # skip unsupported combinations init: - set arch= @@ -37,7 +34,6 @@ init: - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" ( set qt_cmake="C:\Qt\5.9.2\msvc2015_64\lib\cmake" ) - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" ( set qt_cmake="C:\Qt\5.8\msvc2013_64\lib\cmake" ) - echo %qt_cmake% -- set APPVEYOR_SAVE_CACHE_ON_ERROR="true" #TODO: Remove before_build: - cmd: |- @@ -50,9 +46,13 @@ before_build: appveyor DownloadFile http://nodejs.org/dist/v9.0.0/node-v9.0.0.tar.gz 7z e node-v9.0.0.tar.gz 7z x node-v9.0.0.tar + cd node-v9.0.0 - IF NOT EXIST "Release/node.dll" ( vcbuild.bat dll ) - cd ../.. + appveyor DownloadFile https://owncloud.hpi.de/index.php/s/N6JqyFxbRJO2xtK/download -FileName node-windows.7z + 7z x node-windows.7z -aoa -y + cd .. + + cd .. mkdir build cd build From 12af648c694c76993fe720e5b2e84ca5cedcde9b Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Mon, 11 Dec 2017 07:02:15 +0100 Subject: [PATCH 05/14] Don't test on VS 2013 (not supported by v8/node.js) --- README.md | 2 +- appveyor.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index b2db364..fa9cbdb 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ cd ../.. #### Windows -Make sure you have Qt 5.6 or later installed as well as the matching Visual Studio build tools. +Make sure you have Qt 5.6 or later installed as well as the matching Visual Studio 2015/2017 build tools. Adjust the generator and path to Qt cmake accordingly: ``` diff --git a/appveyor.yml b/appveyor.yml index e7dbfbf..271da8a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,7 +6,6 @@ clone_folder: c:\projects\node-embed image: - Visual Studio 2017 - Visual Studio 2015 -- Visual Studio 2013 configuration: - Release - Debug From a31e251a065842fd3b9741a82b69ddb055347a26 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Tue, 12 Dec 2017 09:42:33 +0100 Subject: [PATCH 06/14] Correct cmake command --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa9cbdb..b36eaed 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Adjust the generator and path to Qt cmake accordingly: mkdir build cd build cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH='C:\Qt\Qt5.9.3\5.9.3\msvc2017_64\lib\cmake' -cmake --build .. +cmake --build . ``` #### Linux From 5fa9fdae1eae7c3090222b15f43c9faa72554258 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 11:21:49 +0100 Subject: [PATCH 07/14] Build node again, using cache, but this time compress even harder to remain below 1GB --- appveyor.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 271da8a..3f10d60 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,7 +5,6 @@ version: '{build}' clone_folder: c:\projects\node-embed image: - Visual Studio 2017 -- Visual Studio 2015 configuration: - Release - Debug @@ -17,6 +16,8 @@ environment: # - arch: #does not work, Release|x64 not a valid target matrix: fast_finish: true +cache: + - C:\cache # skip unsupported combinations init: @@ -47,8 +48,9 @@ before_build: 7z x node-v9.0.0.tar cd node-v9.0.0 - appveyor DownloadFile https://owncloud.hpi.de/index.php/s/N6JqyFxbRJO2xtK/download -FileName node-windows.7z - 7z x node-windows.7z -aoa -y + IF EXIST "C:\cache\release.7z" ( 7z x C:\cache\release.7z -aoa -y ) + vcbuild.bat dll + 7z a -mx7 -t7z 'C:\cache\release.7z' 'Release\' cd .. cd .. From 7978224d7f1224db2bbd2fb3cfcb8e9763362e12 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 12:01:01 +0100 Subject: [PATCH 08/14] Alllow RDP access --- appveyor.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 3f10d60..a6e604e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,6 +21,8 @@ cache: # skip unsupported combinations init: +# Allow RDP access +- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) - set arch= - if "%arch%"=="Win64" ( set arch= Win64) - echo %arch% @@ -70,3 +72,7 @@ only_commits: - appveyor.yml - source/ - cmake/ + +# Block until RDP session is finished +on_finish: + - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) From f4809d21d8537382e6d6ab68f83e0d5d160823e1 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 12:12:52 +0100 Subject: [PATCH 09/14] Create cache folder before creating cache --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index a6e604e..faf74a0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -52,6 +52,7 @@ before_build: cd node-v9.0.0 IF EXIST "C:\cache\release.7z" ( 7z x C:\cache\release.7z -aoa -y ) vcbuild.bat dll + IF NOT EXIST "C:\cache" ( mkdir C:\cache ) 7z a -mx7 -t7z 'C:\cache\release.7z' 'Release\' cd .. From cc0ace6a8522803e81b6fd66eeb8c25a4fcd3b6b Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 12:26:36 +0100 Subject: [PATCH 10/14] Print all env vars --- appveyor.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index faf74a0..4eb31bb 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,8 +21,8 @@ cache: # skip unsupported combinations init: -# Allow RDP access -- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) +# Print all env vars +- set - set arch= - if "%arch%"=="Win64" ( set arch= Win64) - echo %arch% @@ -73,7 +73,3 @@ only_commits: - appveyor.yml - source/ - cmake/ - -# Block until RDP session is finished -on_finish: - - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) From 090c252734a70dd6e2f899a996af9219f180fe42 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 12:29:08 +0100 Subject: [PATCH 11/14] Cache correct folder depending on configuration --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 4eb31bb..30c03e5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -50,10 +50,10 @@ before_build: 7z x node-v9.0.0.tar cd node-v9.0.0 - IF EXIST "C:\cache\release.7z" ( 7z x C:\cache\release.7z -aoa -y ) + IF EXIST "C:\cache\binaries.7z" ( 7z x C:\cache\binaries.7z -aoa -y ) vcbuild.bat dll IF NOT EXIST "C:\cache" ( mkdir C:\cache ) - 7z a -mx7 -t7z 'C:\cache\release.7z' 'Release\' + 7z a -mx7 -t7z 'C:\cache\binaries.7z' '%Configuration%\' cd .. cd .. From 7e744d878c17d90da68e3fffb1e73af80e23b7a3 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 13:37:55 +0100 Subject: [PATCH 12/14] Fix typo --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 30c03e5..ed4c10d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -53,7 +53,7 @@ before_build: IF EXIST "C:\cache\binaries.7z" ( 7z x C:\cache\binaries.7z -aoa -y ) vcbuild.bat dll IF NOT EXIST "C:\cache" ( mkdir C:\cache ) - 7z a -mx7 -t7z 'C:\cache\binaries.7z' '%Configuration%\' + 7z a -mx7 -t7z 'C:\cache\binaries.7z' %Configuration%\ cd .. cd .. From c8b00e2c0737309cfdb39c7b2e06ee95637ddd58 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Wed, 13 Dec 2017 21:58:20 +0100 Subject: [PATCH 13/14] Fix another typo --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index ed4c10d..dc37300 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -53,7 +53,7 @@ before_build: IF EXIST "C:\cache\binaries.7z" ( 7z x C:\cache\binaries.7z -aoa -y ) vcbuild.bat dll IF NOT EXIST "C:\cache" ( mkdir C:\cache ) - 7z a -mx7 -t7z 'C:\cache\binaries.7z' %Configuration%\ + 7z a -mx7 -t7z C:\cache\binaries.7z %Configuration%\ cd .. cd .. From 0e6f996dc02fc92800bf11e806d7ca23a75dc419 Mon Sep 17 00:00:00 2001 From: Christian Flach Date: Fri, 15 Dec 2017 15:24:14 +0100 Subject: [PATCH 14/14] Use OwnCloud cache if no cache exists --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index ed4c10d..c942b5e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -51,6 +51,7 @@ before_build: cd node-v9.0.0 IF EXIST "C:\cache\binaries.7z" ( 7z x C:\cache\binaries.7z -aoa -y ) + IF NOT EXIST "C:\cache\binaries.7z" ( appveyor DownloadFile https://owncloud.hpi.de/index.php/s/N6JqyFxbRJO2xtK/download -FileName node-windows.7z & 7z x node-windows.7z -aoa -y ) vcbuild.bat dll IF NOT EXIST "C:\cache" ( mkdir C:\cache ) 7z a -mx7 -t7z 'C:\cache\binaries.7z' %Configuration%\