11@ ECHO OFF
2- REM Copyright 2014-2015 DataStax
2+ REM Copyright 2014-2016 DataStax
33REM
44REM Licensed under the Apache License, Version 2.0 (the "License");
55REM you may not use this file except in compliance with the License.
@@ -114,7 +114,8 @@ SET LIBUV_PACKAGE_VERSION=1.8.0
114114SET GYP_REPOSITORY_URL = https://chromium.googlesource.com/external/gyp.git
115115SET LIBSSH2_REPOSITORY_URL = https://github.com/libssh2/libssh2.git
116116SET LIBSSH2_DIRECTORY = libssh2
117- SET LIBSSH2_BRANCH_TAG_VERSION = master
117+ SET LIBSSH2_BRANCH_TAG_VERSION = libssh2-1.7.0
118+ SET LIBSSH2_PACKAGE_VERSION = 1.7.0
118119SET OPENSSL_REPOSITORY_URL = https://github.com/openssl/openssl.git
119120SET OPENSSL_DIRECTORY = openssl
120121SET OPENSSL_BRANCH_TAG_VERSION = OpenSSL_1_0_2f
@@ -646,10 +647,13 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
646647 SET ENABLE_TESTS = !FALSE!
647648 SET ENABLE_INTEGRATION_TESTS = !FALSE!
648649 SET ENABLE_UNIT_TESTS = !FALSE!
649- SET ENABLE_LIBSSH2 = !FALSE!
650650 SET ENABLE_ZLIB = !FALSE!
651651 SET GENERATE_SOLUTION = !FALSE!
652- IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! SET USE_BOOST_ATOMIC = !TRUE!
652+ IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
653+ SET USE_BOOST_ATOMIC = !TRUE!
654+ SET ENABLE_LIBSSH2 = !FALSE!
655+ )
656+
653657
654658 REM Add common 7-zip locations to system path
655659 SET " PATH = !PATH! ;!PROGRAMFILES! \7-zip;!PROGRAMFILES(X86)! \7-zip"
@@ -830,7 +834,7 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
830834 IF !ENABLE_LIBSSH2! EQU !TRUE! (
831835 REM Determine if libssh2 needs to be built
832836 IF NOT EXIST " !ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY! " (
833- CALL :BUILDLIBSSH2 " !ABSOLUTE_DEPENDENCIES_DIRECTORY! \!DEPENDENCIES_SOURCE_DIRECTORY! \!LIBSSH2_DIRECTORY! " " !ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY! " " !ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY! " " !ABSOLUTE_ZLIB_LIBRARY_DIRECTORY! " !TARGET_ARCHITECTURE! !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! " !LOG_LIBSSH2_BUILD! "
837+ CALL :BUILDLIBSSH2 " !ABSOLUTE_DEPENDENCIES_DIRECTORY! \!DEPENDENCIES_SOURCE_DIRECTORY! \!LIBSSH2_DIRECTORY! " " !ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY! " " !ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY! " " !ABSOLUTE_ZLIB_LIBRARY_DIRECTORY! " !TARGET_ARCHITECTURE! !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !FALSE! " !LOG_LIBSSH2_BUILD! "
834838 IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
835839 )
836840 ) ELSE (
@@ -954,6 +958,16 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
954958 IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
955959 )
956960
961+ REM Build libssh2 (static) as well for dependency only builds
962+ IF !ENABLE_LIBSSH2! EQU !TRUE! (
963+ IF " %%D " == " !LIBRARY_TYPE_STATIC! " (
964+ SET DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY = !DEPENDENCY_PACKAGE_INSTALLATION_DIRECTORY! \!LIBSSH2_DIRECTORY!
965+ SET " ABSOLUTE_DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY = !ABSOLUTE_PACKAGES_DIRECTORY! \!DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY! "
966+ CALL :BUILDLIBSSH2 " !ABSOLUTE_DEPENDENCIES_DIRECTORY! \!DEPENDENCIES_SOURCE_DIRECTORY! \!LIBSSH2_DIRECTORY! " " !ABSOLUTE_DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY! " " !ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY! " " " %%C !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !TRUE! " !LOG_LIBSSH2_BUILD! "
967+ IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
968+ )
969+ )
970+
957971 REM Clean-up the dependency packages
958972 IF NOT EXIST " !ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY! \..\!LIBRARY_INCLUDE_DIRECTORY! " MOVE /Y " !ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY! \!LIBRARY_INCLUDE_DIRECTORY! " " !ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY! \..\!LIBRARY_INCLUDE_DIRECTORY! " >> " !LOG_PACKAGE_BUILD! " 2 >& 1
959973 IF EXIST " !ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY! \!LIBRARY_INCLUDE_DIRECTORY! " RMDIR /S /Q " !ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY! \!LIBRARY_INCLUDE_DIRECTORY! " >> " !LOG_PACKAGE_BUILD! " 2 >& 1
@@ -973,7 +987,7 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
973987
974988 REM Skip a line on the display
975989 ECHO .
976- )
990+ )
977991
978992 REM Build the zip packages for the current target architecture and Visual Studio version
979993 IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
@@ -1005,6 +1019,17 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
10051019 EXIT /B !EXIT_CODE_PACKAGE_FAILED!
10061020 )
10071021 ECHO done.
1022+ IF !ENABLE_LIBSSH2! EQU !TRUE! (
1023+ ECHO | SET /P = Building the libssh2 package for Win%%C MSVC!VISUAL_STUDIO_INTERNAL_VERSION! ...
1024+ ECHO !ZIP! a -tzip " !ABSOLUTE_PACKAGES_DIRECTORY! \libssh2-!LIBSSH2_PACKAGE_VERSION! -win%%C -msvc!VISUAL_STUDIO_INTERNAL_VERSION! .zip" -r !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY! \!DEPENDENCIES_DIRECTORY! \!LIBSSH2_DIRECTORY! \ >> " !LOG_PACKAGE_BUILD! "
1025+ !ZIP! a -tzip " !ABSOLUTE_PACKAGES_DIRECTORY! \libssh2-!LIBSSH2_PACKAGE_VERSION! -win%%C -msvc!VISUAL_STUDIO_INTERNAL_VERSION! .zip" -r " !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY! \!DEPENDENCIES_DIRECTORY! \!LIBSSH2_DIRECTORY! \*" >> " !LOG_PACKAGE_BUILD! " 2 >& 1
1026+ IF NOT !ERRORLEVEL! EQU 0 (
1027+ ECHO FAILED!
1028+ ECHO See !LOG_PACKAGE_BUILD! for more details
1029+ EXIT /B !EXIT_CODE_PACKAGE_FAILED!
1030+ )
1031+ ECHO done.
1032+ )
10081033 ECHO .
10091034
10101035 REM Reset the system PATH
@@ -1482,8 +1507,10 @@ REM indicates zlib disabled
14821507REM @param target-architecture 32 or 64-bit
14831508REM @param visual-studio-version Shortened Visual Studio version; empty
14841509REM string indicates Windows SDK build
1510+ REM @param is-clean-after-install True if clean should be performed after
1511+ REM install; false otherwise
14851512REM @param log-filename Absolute path and filename for log output
1486- :BUILDLIBSSH2 [source-directory] [install-directory] [openssl-library-directory] [zlib-library-directory] [target-architecture] [visual-studio-version] [log-filename]
1513+ :BUILDLIBSSH2 [source-directory] [install-directory] [openssl-library-directory] [zlib-library-directory] [target-architecture] [visual-studio-version] [is-clean-after-install] [ log-filename]
14871514 REM Create library variables from arguments
14881515 SET " LIBSSH2_SOURCE_DIRECTORY = %~1 "
14891516 SHIFT
@@ -1497,6 +1524,8 @@ REM @param log-filename Absolute path and filename for log output
14971524 SHIFT
14981525 SET " LIBSSH2_VISUAL_STUDIO_VERSION = %~1 "
14991526 SHIFT
1527+ SET LIBSSH2_IS_CLEAN_AFTER_INSTALL = %~1
1528+ SHIFT
15001529 SET " LIBSSH2_LOG_FILENAME = %~1 "
15011530
15021531 REM Build libssh2 dependency
@@ -1538,6 +1567,11 @@ REM @param log-filename Absolute path and filename for log output
15381567 EXIT /B !EXIT_CODE_BUILD_DEPENDENCY_FAILED!
15391568 )
15401569 ECHO done.
1570+ IF !LIBSSH2_IS_CLEAN_AFTER_INSTALL! EQU !TRUE! (
1571+ ECHO | SET /P = Cleaning libssh2 build ...
1572+ DEL /S /Q * >> " !LIBSSH2_LOG_FILENAME! " 2 >& 1
1573+ ECHO done.
1574+ )
15411575 POPD
15421576 EXIT /B
15431577
@@ -1651,7 +1685,17 @@ REM @param log-filename Absolute path and filename for log output
16511685 IF !DRIVER_BUILD_TESTS! EQU !TRUE! SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_TESTS=ON"
16521686 IF !DRIVER_BUILD_INTEGRATION_TESTS! EQU !TRUE! SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_INTEGRATION_TESTS=ON"
16531687 IF !DRIVER_BUILD_UNIT_TESTS! EQU !TRUE! SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_UNIT_TESTS=ON"
1654- IF NOT " !TESTS_BOOST_LIBRARY_DIRECTORY! " == " " SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT_DIR=^ " !TESTS_BOOST_LIBRARY_DIRECTORY! ^ " "
1688+ IF NOT " !TESTS_BOOST_LIBRARY_DIRECTORY! " == " " (
1689+ REM Determine if using Boost distributed or include/lib binaries
1690+ SET " BOOST_DISTRIBUTION_ROOT_DIRECTORY = !TESTS_BOOST_LIBRARY_DIRECTORY! "
1691+ SET " BOOST_DISTRIBUTION_INCLUDE_DIRECTORY = !BOOST_DISTRIBUTION_ROOT_DIRECTORY! "
1692+ SET " BOOST_DISTRIBUTION_LIBRARY_DIRECTORY = !BOOST_DISTRIBUTION_ROOT_DIRECTORY! \lib!DRIVER_TARGET_ARCHITECTURE! -msvc-!DRIVER_VISUAL_STUDIO_VERSION! .0"
1693+ IF NOT EXIST " !BOOST_DISTRIBUTION_LIBRARY_DIRECTORY! " (
1694+ SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT_DIR=^ " !TESTS_BOOST_LIBRARY_DIRECTORY! ^ " "
1695+ ) ELSE (
1696+ SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT=^ " !BOOST_DISTRIBUTION_ROOT_DIRECTORY! ^ " -DBOOST_INCLUDEDIR = ^ " !BOOST_DISTRIBUTION_INCLUDE_DIRECTORY! ^ " -DBOOST_LIBRARYDIR = ^ " !BOOST_DISTRIBUTION_LIBRARY_DIRECTORY! ^ " "
1697+ )
1698+ )
16551699 IF NOT " !TESTS_LIBSSH2_LIBRARY_DIRECTORY! " == " " (
16561700 SET " DRIVER_CMAKE_COMMAND_LINE = !DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_LIBSSH2=ON -DLIBSSH2_ROOT_DIR=^ " !TESTS_LIBSSH2_LIBRARY_DIRECTORY! ^ " "
16571701 ) ELSE (
0 commit comments