@@ -32,8 +32,7 @@ configuration:
3232# - Debug
3333 - Release
3434environment :
35- LIBUV_VERSION : 1.11.0
36- OPENSSL_VERSION : 1.0.2k
35+ LIBUV_VERSION : 1.13.1
3736 CPP_DRIVER_DEPENDENCIES_DOWNLOAD_URL_PREFIX : https://raw.githubusercontent.com/mikefero/cpp-driver-msvc-libs/master
3837 PHP_BINARY_TOOLS_ARCHIVE : php-sdk-binary-tools-20110915.zip
3938 PHP_BINARY_TOOLS_DIR : C:/projects
@@ -44,30 +43,42 @@ environment:
4443 COMPOSER_CACHE_DIR : C:/projects/dependencies/composer
4544 CONFIGURATION_COMPLETE : False
4645 matrix :
46+ - PHP : 5.6
47+ PHP_VERSION : 5.6.31
48+ THREAD_SAFE : True
49+ CMAKE_GENERATOR : Visual Studio 11 2012
50+ VISUAL_STUDIO_INTERNAL_VERSION : 110
51+ VISUAL_STUDIO_SHORTHAND_VERSION : 11
52+ - PHP : 5.6
53+ PHP_VERSION : 5.6.31
54+ THREAD_SAFE : False
55+ CMAKE_GENERATOR : Visual Studio 11 2012
56+ VISUAL_STUDIO_INTERNAL_VERSION : 110
57+ VISUAL_STUDIO_SHORTHAND_VERSION : 11
4758 - PHP : 7.0
48- PHP_VERSION : 7.0.19
59+ PHP_VERSION : 7.0.21
4960 THREAD_SAFE : True
5061 CMAKE_GENERATOR : Visual Studio 14 2015
5162 VISUAL_STUDIO_INTERNAL_VERSION : 140
5263 VISUAL_STUDIO_SHORTHAND_VERSION : 14
5364 - PHP : 7.0
54- PHP_VERSION : 7.0.19
65+ PHP_VERSION : 7.0.21
5566 THREAD_SAFE : False
5667 CMAKE_GENERATOR : Visual Studio 14 2015
5768 VISUAL_STUDIO_INTERNAL_VERSION : 140
5869 VISUAL_STUDIO_SHORTHAND_VERSION : 14
59- - PHP : 5.6
60- PHP_VERSION : 5.6.30
70+ - PHP : 7.1
71+ PHP_VERSION : 7.1.7
6172 THREAD_SAFE : True
62- CMAKE_GENERATOR : Visual Studio 11 2012
63- VISUAL_STUDIO_INTERNAL_VERSION : 110
64- VISUAL_STUDIO_SHORTHAND_VERSION : 11
65- - PHP : 5.6
66- PHP_VERSION : 5.6.30
73+ CMAKE_GENERATOR : Visual Studio 14 2015
74+ VISUAL_STUDIO_INTERNAL_VERSION : 140
75+ VISUAL_STUDIO_SHORTHAND_VERSION : 14
76+ - PHP : 7.1
77+ PHP_VERSION : 7.1.7
6778 THREAD_SAFE : False
68- CMAKE_GENERATOR : Visual Studio 11 2012
69- VISUAL_STUDIO_INTERNAL_VERSION : 110
70- VISUAL_STUDIO_SHORTHAND_VERSION : 11
79+ CMAKE_GENERATOR : Visual Studio 14 2015
80+ VISUAL_STUDIO_INTERNAL_VERSION : 140
81+ VISUAL_STUDIO_SHORTHAND_VERSION : 14
7182
7283init :
7384 - ps : |
@@ -100,6 +111,13 @@ init:
100111 $env:ENABLE_DEBUG="--enable-debug"
101112 }
102113
114+ # Determine if OpenSSL extension should have default linking enabled
115+ If ($env:PHP -Match "5.6") {
116+ $env:WITH_OPENSSL_DEFAULT_SHARED="--with-openssl"
117+ } Else {
118+ $env:WITH_OPENSSL_DEFAULT_SHARED="--with-openssl=shared"
119+ }
120+
103121 # Assign common use environment variables
104122 $env:LIB_ARCHITECTURE="lib$($env:ARCHITECTURE)"
105123 $env:WINDOWS_ARCHITECTURE="win$($env:ARCHITECTURE)"
@@ -108,6 +126,7 @@ init:
108126 # Generate the PHP environment variable
109127 $env:PHP_DEPENDENCIES_ARCHIVE="deps-$($env:PHP)-vc$($env:VISUAL_STUDIO_SHORTHAND_VERSION)-$($env:PLATFORM).7z"
110128 $env:PHP_ARCHIVE="php-$($env:PHP_VERSION).zip"
129+ $env:PHP_DEPENDENCIES_DIR="$($env:PHP_SDK_LOCATION_PREFIX)/deps"
111130
112131 # Generate the environment for the dependencies root directory
113132 $env:DEPENDENCIES_LOCATION="$($env:DEPENDENCIES_LOCATION_PREFIX)/$($env:Platform)/$($env:VISUAL_STUDIO_INTERNAL_VERSION)"
@@ -116,9 +135,9 @@ init:
116135 $env:LIBUV_ARCHIVE="libuv-$($env:LIBUV_VERSION)-$($env:WINDOWS_ARCHITECTURE)-msvc$($env:VISUAL_STUDIO_INTERNAL_VERSION).zip"
117136 $env:LIBUV_ROOT_DIR="$($env:DEPENDENCIES_LOCATION)/libuv-$($env:LIBUV_VERSION)"
118137
119- # Generate the OpenSSL environment variables
120- $env:OPENSSL_ARCHIVE="openssl- $($env:OPENSSL_VERSION)-$($env:WINDOWS_ARCHITECTURE)-msvc$($env:VISUAL_STUDIO_INTERNAL_VERSION).zip "
121- $env:OPENSSL_ROOT_DIR ="$($env:DEPENDENCIES_LOCATION)/openssl-$($env:OPENSSL_VERSION )"
138+ # Generate the OpenSSL and zlib environment variables
139+ $env:OPENSSL_ROOT_DIR=" $($env:PHP_DEPENDENCIES_DIR) "
140+ $env:ZLIB_ROOT_DIR ="$($env:PHP_DEPENDENCIES_DIR )"
122141
123142 # Generate the archive name for the driver artifact
124143 $env:DRIVER_ARTIFACT_ARCHIVE="cassandra-php-driver-ci-artifact-$($env:APPVEYOR_BUILD_VERSION)-$($env:PHP)-$($env:TS_OR_NTS)-vc$($env:VISUAL_STUDIO_SHORTHAND_VERSION)-$($env:PLATFORM).zip"
@@ -164,34 +183,17 @@ install:
164183 Remove-Item $env:LIBUV_ARCHIVE
165184 }
166185
167- # Determine if OpenSSL should be installed (cached)
168- If (!(Test-Path -Path "openssl-$($env:OPENSSL_VERSION)")) {
169- # Download and extract the dependency
170- Start-FileDownload "$($env:CPP_DRIVER_DEPENDENCIES_DOWNLOAD_URL_PREFIX)/openssl/$($env:OPENSSL_VERSION)/$($env:OPENSSL_ARCHIVE)" -FileName $env:OPENSSL_ARCHIVE
171- 7z -o"openssl-$($env:OPENSSL_VERSION)" x $env:OPENSSL_ARCHIVE
172-
173- # Only keep the static libaries
174- Move-Item "openssl-$($env:OPENSSL_VERSION)/static/lib" "openssl-$($env:OPENSSL_VERSION)/lib"
175- Remove-Item "openssl-$($env:OPENSSL_VERSION)/static" -Force -Recurse
176- Remove-Item "openssl-$($env:OPENSSL_VERSION)/shared" -Force -Recurse
177-
178- # Delete the binary archive
179- Remove-Item $env:OPENSSL_ARCHIVE
180- }
181-
182186 # Remove pre-installed OpenSSL (resolve conflicts)
183187 Remove-Item "C:/OpenSSL-*" -Force -Recurse
184188
185189 # Setup the build tree for PHP (Update the PATH for the binary tools)
186190 New-Item -ItemType Directory -Force -Path "$($env:PHP_SDK_LOCATION_PREFIX)"
187191 7z -o"$($env:PHP_SDK_LOCATION_PREFIX)" x "$($env:DEPENDENCIES_LOCATION_PREFIX)/$($env:PHP_BINARY_TOOLS_ARCHIVE)"
188192 7z -o"$($env:PHP_SDK_LOCATION_PREFIX)" x "$($env:DEPENDENCIES_LOCATION_PREFIX)/$($env:PHP_ARCHIVE)"
189- 7z -o"$($env:PHP_SDK_LOCATION_PREFIX)" x $ env:PHP_DEPENDENCIES_ARCHIVE
193+ 7z -o"$($env:PHP_SDK_LOCATION_PREFIX)" x "$($ env:PHP_DEPENDENCIES_ARCHIVE)"
190194 $env:PHP_SOURCE_DIR="$($env:PHP_SDK_LOCATION_PREFIX)/php-src-php-$($env:PHP_VERSION)"
191- $env:PHP_DEPENDENCIES_DIR="$($env:PHP_SDK_LOCATION_PREFIX)/deps"
192195 $env:PATH+=";$($env:PHP_SDK_LOCATION_PREFIX)/bin"
193196 Copy-Item "libuv-$($env:LIBUV_VERSION)/*" "$($env:PHP_DEPENDENCIES_DIR)" -Force -Recurse
194- Copy-Item "openssl-$($env:OPENSSL_VERSION)/*" "$($env:PHP_DEPENDENCIES_DIR)" -Force -Recurse
195197
196198 # Move back to original directory
197199 Pop-Location
@@ -216,7 +218,7 @@ before_build:
216218 Push-Location build
217219
218220 # Configure the build via CMake
219- cmake -G "$($env:CMAKE_GENERATOR)$($env:CMAKE_GENERATOR_SUFFIX)" -DCMAKE_INSTALL_PREFIX="$($env:DEPENDENCIES_LOCATION)/$($env:CPP_DRIVER_VERSION)/$($env:CPP_DRIVER_VERSION_SHA)" -DCASS_MULTICORE_COMPILATION=ON -DCMAKE_BUILD_TYPE=$env:CONFIGURATION -DCASS_BUILD_STATIC=ON -DCASS_USE_STATIC_LIBS=ON ..
221+ cmake -G "$($env:CMAKE_GENERATOR)$($env:CMAKE_GENERATOR_SUFFIX)" -DCMAKE_INSTALL_PREFIX="$($env:DEPENDENCIES_LOCATION)/$($env:CPP_DRIVER_VERSION)/$($env:CPP_DRIVER_VERSION_SHA)" -DCASS_MULTICORE_COMPILATION=ON -DCMAKE_BUILD_TYPE=$env:CONFIGURATION -DCASS_BUILD_STATIC=On -DCASS_USE_STATIC_LIBS=On -DCASS_USE_ZLIB=On ..
220222
221223 # Move back to C/C++ directory
222224 Pop-Location
@@ -235,7 +237,7 @@ before_build:
235237 Push-Location "$($env:PHP_SOURCE_DIR)"
236238 # Configure PHP and the PHP driver extension
237239 - cmd : buildconf.bat --force --add-modules-dir="%APPVEYOR_BUILD_FOLDER%"
238- - cmd : configure.bat --with-prefix="%APPVEYOR_BUILD_FOLDER%\%CONFIGURATION%" --disable-all --enable-cli --enable-com-dotnet --enable-session --enable-zlib --with-gmp --with-openssl=static --enable-cassandra=shared --enable-phar --enable-json --enable-filter --enable-hash --enable-ctype --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --enable-tokenizer --enable-zip --with-libxml --with-dom --with-iconv %ENABLE_DISABLE_THREAD_SAFETY% %ENABLE_DEBUG%
240+ - cmd : configure.bat --with-prefix="%APPVEYOR_BUILD_FOLDER%\%CONFIGURATION%" --disable-all --enable-cli --enable-com-dotnet --enable-session --enable-zlib --with-gmp %WITH_OPENSSL_DEFAULT_SHARED% --enable-cassandra=shared --enable-phar --enable-json --enable-filter --enable-hash --enable-ctype --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --enable-tokenizer --enable-zip --with-libxml --with-dom --with-iconv %ENABLE_DISABLE_THREAD_SAFETY% %ENABLE_DEBUG%
239241 - ps : $env:CONFIGURATION_COMPLETE=$TRUE
240242
241243build_script :
@@ -249,18 +251,21 @@ build_script:
249251 # Move back to working directory
250252 Pop-Location
251253
254+ # Copy OpenSSL libraries for artifact and test execution
255+ Copy-Item "$($env:PHP_DEPENDENCIES_DIR)/bin/libeay32.dll" "$($env:CONFIGURATION)" -Force -Recurse
256+ Copy-Item "$($env:PHP_DEPENDENCIES_DIR)/bin/ssleay32.dll" "$($env:CONFIGURATION)" -Force -Recurse
257+
252258 # Configure PHP to use the PHP driver extension
253- If (Test-Path -Path $env:CONFIGURATION/ext) {
254- Add-Content "$($env:CONFIGURATION)/php.ini" "extension=ext\php_cassandra.dll"
255- } Else {
256- Add-Content "$($env:CONFIGURATION)/php.ini" "extension=.\php_cassandra.dll"
259+ Add-Content "$($env:CONFIGURATION)/php.ini" "extension=ext\php_cassandra.dll"
260+ If ($env:PHP -NotMatch "5.6") {
261+ Add-Content "$($env:CONFIGURATION)/php.ini" "extension=ext\php_openssl.dll"
257262 }
258263
259264after_build :
260265 - ps : |
261- # Create the artifact structure for the driver
266+ # Create the artifact structure for the driver (Copy OpenSSL libraries)
262267 New-Item -ItemType Directory -Force -Path $env:TEMP/php-driver-artifact
263- Copy-Item $env:CONFIGURATION/php *.* $env:TEMP/php-driver-artifact
268+ Copy-Item $env:CONFIGURATION/*.* $env:TEMP/php-driver-artifact
264269 If (Test-Path -Path $env:CONFIGURATION/ext) {
265270 Copy-Item $env:CONFIGURATION/ext $env:TEMP/php-driver-artifact -Recurse
266271 }
0 commit comments