@@ -32,8 +32,7 @@ configuration:
32
32
# - Debug
33
33
- Release
34
34
environment :
35
- LIBUV_VERSION : 1.11.0
36
- OPENSSL_VERSION : 1.0.2k
35
+ LIBUV_VERSION : 1.13.1
37
36
CPP_DRIVER_DEPENDENCIES_DOWNLOAD_URL_PREFIX : https://raw.githubusercontent.com/mikefero/cpp-driver-msvc-libs/master
38
37
PHP_BINARY_TOOLS_ARCHIVE : php-sdk-binary-tools-20110915.zip
39
38
PHP_BINARY_TOOLS_DIR : C:/projects
@@ -44,30 +43,42 @@ environment:
44
43
COMPOSER_CACHE_DIR : C:/projects/dependencies/composer
45
44
CONFIGURATION_COMPLETE : False
46
45
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
47
58
- PHP : 7.0
48
- PHP_VERSION : 7.0.19
59
+ PHP_VERSION : 7.0.21
49
60
THREAD_SAFE : True
50
61
CMAKE_GENERATOR : Visual Studio 14 2015
51
62
VISUAL_STUDIO_INTERNAL_VERSION : 140
52
63
VISUAL_STUDIO_SHORTHAND_VERSION : 14
53
64
- PHP : 7.0
54
- PHP_VERSION : 7.0.19
65
+ PHP_VERSION : 7.0.21
55
66
THREAD_SAFE : False
56
67
CMAKE_GENERATOR : Visual Studio 14 2015
57
68
VISUAL_STUDIO_INTERNAL_VERSION : 140
58
69
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
61
72
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
67
78
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
71
82
72
83
init :
73
84
- ps : |
@@ -100,6 +111,13 @@ init:
100
111
$env:ENABLE_DEBUG="--enable-debug"
101
112
}
102
113
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
+
103
121
# Assign common use environment variables
104
122
$env:LIB_ARCHITECTURE="lib$($env:ARCHITECTURE)"
105
123
$env:WINDOWS_ARCHITECTURE="win$($env:ARCHITECTURE)"
@@ -108,6 +126,7 @@ init:
108
126
# Generate the PHP environment variable
109
127
$env:PHP_DEPENDENCIES_ARCHIVE="deps-$($env:PHP)-vc$($env:VISUAL_STUDIO_SHORTHAND_VERSION)-$($env:PLATFORM).7z"
110
128
$env:PHP_ARCHIVE="php-$($env:PHP_VERSION).zip"
129
+ $env:PHP_DEPENDENCIES_DIR="$($env:PHP_SDK_LOCATION_PREFIX)/deps"
111
130
112
131
# Generate the environment for the dependencies root directory
113
132
$env:DEPENDENCIES_LOCATION="$($env:DEPENDENCIES_LOCATION_PREFIX)/$($env:Platform)/$($env:VISUAL_STUDIO_INTERNAL_VERSION)"
@@ -116,9 +135,9 @@ init:
116
135
$env:LIBUV_ARCHIVE="libuv-$($env:LIBUV_VERSION)-$($env:WINDOWS_ARCHITECTURE)-msvc$($env:VISUAL_STUDIO_INTERNAL_VERSION).zip"
117
136
$env:LIBUV_ROOT_DIR="$($env:DEPENDENCIES_LOCATION)/libuv-$($env:LIBUV_VERSION)"
118
137
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 )"
122
141
123
142
# Generate the archive name for the driver artifact
124
143
$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:
164
183
Remove-Item $env:LIBUV_ARCHIVE
165
184
}
166
185
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
-
182
186
# Remove pre-installed OpenSSL (resolve conflicts)
183
187
Remove-Item "C:/OpenSSL-*" -Force -Recurse
184
188
185
189
# Setup the build tree for PHP (Update the PATH for the binary tools)
186
190
New-Item -ItemType Directory -Force -Path "$($env:PHP_SDK_LOCATION_PREFIX)"
187
191
7z -o"$($env:PHP_SDK_LOCATION_PREFIX)" x "$($env:DEPENDENCIES_LOCATION_PREFIX)/$($env:PHP_BINARY_TOOLS_ARCHIVE)"
188
192
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)"
190
194
$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"
192
195
$env:PATH+=";$($env:PHP_SDK_LOCATION_PREFIX)/bin"
193
196
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
195
197
196
198
# Move back to original directory
197
199
Pop-Location
@@ -216,7 +218,7 @@ before_build:
216
218
Push-Location build
217
219
218
220
# 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 ..
220
222
221
223
# Move back to C/C++ directory
222
224
Pop-Location
@@ -235,7 +237,7 @@ before_build:
235
237
Push-Location "$($env:PHP_SOURCE_DIR)"
236
238
# Configure PHP and the PHP driver extension
237
239
- 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%
239
241
- ps : $env:CONFIGURATION_COMPLETE=$TRUE
240
242
241
243
build_script :
@@ -249,18 +251,21 @@ build_script:
249
251
# Move back to working directory
250
252
Pop-Location
251
253
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
+
252
258
# 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"
257
262
}
258
263
259
264
after_build :
260
265
- ps : |
261
- # Create the artifact structure for the driver
266
+ # Create the artifact structure for the driver (Copy OpenSSL libraries)
262
267
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
264
269
If (Test-Path -Path $env:CONFIGURATION/ext) {
265
270
Copy-Item $env:CONFIGURATION/ext $env:TEMP/php-driver-artifact -Recurse
266
271
}
0 commit comments