From ffc7bb9f591bcd4a3edac5f474cfadd18f204acf Mon Sep 17 00:00:00 2001 From: Mario Emmenlauer Date: Thu, 5 Aug 2021 17:23:35 +0200 Subject: Merged AppVeyor scripts for 'install', 'build' and 'test' into one --- build/appveyor/CYGWIN-appveyor-build.bat | 35 ------ build/appveyor/CYGWIN-appveyor-full.bat | 96 ++++++++++++++ build/appveyor/CYGWIN-appveyor-install.bat | 35 ------ build/appveyor/CYGWIN-appveyor-test.bat | 21 ---- build/appveyor/MINGW-appveyor-build.bat | 34 ----- build/appveyor/MINGW-appveyor-full.bat | 126 +++++++++++++++++++ build/appveyor/MINGW-appveyor-install.bat | 59 --------- build/appveyor/MINGW-appveyor-test.bat | 22 ---- build/appveyor/MSVC-appveyor-build.bat | 59 --------- build/appveyor/MSVC-appveyor-full.bat | 196 +++++++++++++++++++++++++++++ build/appveyor/MSVC-appveyor-install.bat | 64 ---------- build/appveyor/MSVC-appveyor-test.bat | 26 ---- build/appveyor/MSYS-appveyor-build.bat | 48 ------- build/appveyor/MSYS-appveyor-full.bat | 98 +++++++++++++++ build/appveyor/MSYS-appveyor-install.bat | 42 ------- build/appveyor/MSYS-appveyor-test.bat | 26 ---- build/appveyor/simulate-appveyor.bat | 7 +- build/appveyor/win_banner_build.bat | 23 ---- build/appveyor/win_banner_install.bat | 23 ---- build/appveyor/win_banner_test.bat | 23 ---- build/appveyor/win_setcompiler.bat | 65 ---------- build/appveyor/win_setenv.bat | 132 ------------------- build/appveyor/win_setgenerator.bat | 66 ---------- 23 files changed, 517 insertions(+), 809 deletions(-) delete mode 100644 build/appveyor/CYGWIN-appveyor-build.bat create mode 100644 build/appveyor/CYGWIN-appveyor-full.bat delete mode 100644 build/appveyor/CYGWIN-appveyor-install.bat delete mode 100644 build/appveyor/CYGWIN-appveyor-test.bat delete mode 100644 build/appveyor/MINGW-appveyor-build.bat create mode 100644 build/appveyor/MINGW-appveyor-full.bat delete mode 100644 build/appveyor/MINGW-appveyor-install.bat delete mode 100644 build/appveyor/MINGW-appveyor-test.bat delete mode 100644 build/appveyor/MSVC-appveyor-build.bat create mode 100644 build/appveyor/MSVC-appveyor-full.bat delete mode 100644 build/appveyor/MSVC-appveyor-install.bat delete mode 100644 build/appveyor/MSVC-appveyor-test.bat delete mode 100644 build/appveyor/MSYS-appveyor-build.bat create mode 100644 build/appveyor/MSYS-appveyor-full.bat delete mode 100644 build/appveyor/MSYS-appveyor-install.bat delete mode 100644 build/appveyor/MSYS-appveyor-test.bat delete mode 100644 build/appveyor/win_banner_build.bat delete mode 100644 build/appveyor/win_banner_install.bat delete mode 100644 build/appveyor/win_banner_test.bat delete mode 100644 build/appveyor/win_setcompiler.bat delete mode 100644 build/appveyor/win_setenv.bat delete mode 100644 build/appveyor/win_setgenerator.bat (limited to 'build') diff --git a/build/appveyor/CYGWIN-appveyor-build.bat b/build/appveyor/CYGWIN-appveyor-build.bat deleted file mode 100644 index eded69926..000000000 --- a/build/appveyor/CYGWIN-appveyor-build.bat +++ /dev/null @@ -1,35 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_build.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -SET CMAKEARGS=^ - -G'%GENERATOR%' ^ - -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ - -DCMAKE_INSTALL_PREFIX=%INSTDIR% ^ - -DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" ^ - -DWITH_JAVA=OFF ^ - -DWITH_PYTHON=OFF - -:: -DCMAKE_CXX_EXTENSIONS=ON ^ -:: -DCMAKE_CXX_STANDARD=11 ^ - -@ECHO ON -%BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% && cmake --install . --config %CONFIGURATION%" || EXIT /B -@ECHO OFF diff --git a/build/appveyor/CYGWIN-appveyor-full.bat b/build/appveyor/CYGWIN-appveyor-full.bat new file mode 100644 index 000000000..7f874d938 --- /dev/null +++ b/build/appveyor/CYGWIN-appveyor-full.bat @@ -0,0 +1,96 @@ +:: +:: Licensed under the Apache License, Version 2.0 (the "License"); +:: you may not use this file except in compliance with the License. +:: You may obtain a copy of the License at +:: +:: http://www.apache.org/licenses/LICENSE-2.0 +:: +:: Unless required by applicable law or agreed to in writing, software +:: distributed under the License is distributed on an "AS IS" BASIS, +:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +:: See the License for the specific language governing permissions and +:: limitations under the License. +:: + +:: +:: Appveyor script for CYGWIN +:: + +:: +:: Installs third party packages we need for a cmake build +:: + +@ECHO ON +SETLOCAL EnableDelayedExpansion + +CD build\appveyor || EXIT /B + +SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor +SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% +SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\install\%PROFILE%\%PLATFORM% +SET SRCDIR=%APPVEYOR_BUILD_FOLDER% + + +:: compiler and generator detection +SET COMPILER=gcc +SET GENERATOR=Unix Makefiles + +IF "%PLATFORM%" == "x64" ( + SET CYGWINROOT=C:\cygwin64 +) ELSE ( + SET CYGWINROOT=C:\cygwin +) + +IF "%PLATFORM%" == "x64" ( + SET SETUP=!CYGWINROOT!\setup-x86_64.exe +) ELSE ( + SET SETUP=!CYGWINROOT!\setup-x86.exe +) + +SET BASH=!CYGWINROOT!\bin\bash.exe +SET BUILDDIR=%BUILDDIR:\=/% +SET BUILDDIR=/cygdrive/c!BUILDDIR:~2! +SET INSTDIR=%INSTDIR:\=/% +SET INSTDIR=/cygdrive/c!INSTDIR:~2! +SET SRCDIR=%SRCDIR:\=/% +SET SRCDIR=/cygdrive/c!SRCDIR:~2! + + +CALL win_showenv.bat || EXIT /B + +:: +:: Install apt-cyg for package management because its easier to use +:: than Cygwins setup.exe. But both are possible to use. +:: + +%BASH% -lc "wget https://rawgit.com/transcode-open/apt-cyg/master/apt-cyg && install apt-cyg /bin && rm -f apt-cyg" || EXIT /B +%BASH% -lc "apt-cyg update" || EXIT /B +%BASH% -lc "apt-cyg install unzip xz cmake make bison flex gcc-g++ libboost-devel libevent-devel openssl-devel zlib-devel" || EXIT /B + + +:: +:: Configure and build our software with cmake +:: + +SET CMAKEARGS=^ + -G'%GENERATOR%' ^ + -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ + -DCMAKE_INSTALL_PREFIX=%INSTDIR% ^ + -DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" ^ + -DWITH_JAVA=OFF ^ + -DWITH_PYTHON=OFF + +:: -DCMAKE_CXX_EXTENSIONS=ON ^ +:: -DCMAKE_CXX_STANDARD=11 ^ + + +%BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% && cmake --install . --config %CONFIGURATION%" || EXIT /B + + +:: +:: Execute our tests +:: + +SET DISABLED_TESTS_COMMAND=--exclude-regex '%DISABLED_TESTS%' + +%BASH% -lc "cd %BUILDDIR% && ctest.exe --build-config %CONFIGURATION% --timeout 300 --extra-verbose %DISABLED_TESTS_COMMAND%" || EXIT /B diff --git a/build/appveyor/CYGWIN-appveyor-install.bat b/build/appveyor/CYGWIN-appveyor-install.bat deleted file mode 100644 index 9971c8ed0..000000000 --- a/build/appveyor/CYGWIN-appveyor-install.bat +++ /dev/null @@ -1,35 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: -:: Appveyor install script for CYGWIN -:: Installs third party packages we need for a cmake build -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_install.bat || EXIT /B -CALL win_setenv.bat || EXIT /B -CALL win_showenv.bat || EXIT /B - -:: -:: Install apt-cyg for package management because its easier to use -:: than Cygwins setup.exe. But both are possible to use. -:: - -%BASH% -lc "wget https://rawgit.com/transcode-open/apt-cyg/master/apt-cyg && install apt-cyg /bin && rm -f apt-cyg" || EXIT /B -%BASH% -lc "apt-cyg update" || EXIT /B -%BASH% -lc "apt-cyg install unzip xz cmake make bison flex gcc-g++ libboost-devel libevent-devel openssl-devel zlib-devel" || EXIT /B diff --git a/build/appveyor/CYGWIN-appveyor-test.bat b/build/appveyor/CYGWIN-appveyor-test.bat deleted file mode 100644 index 9a1d75f55..000000000 --- a/build/appveyor/CYGWIN-appveyor-test.bat +++ /dev/null @@ -1,21 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion -CD build\appveyor || EXIT /B -CALL win_banner_test.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -%BASH% -lc "cd %BUILDDIR% && ctest.exe -C %CONFIGURATION% --timeout 300 -VV -E '%DISABLED_TESTS%'" || EXIT /B diff --git a/build/appveyor/MINGW-appveyor-build.bat b/build/appveyor/MINGW-appveyor-build.bat deleted file mode 100644 index d7404ae66..000000000 --- a/build/appveyor/MINGW-appveyor-build.bat +++ /dev/null @@ -1,34 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_build.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -SET CMAKEARGS=^ - -G'%GENERATOR%' ^ - -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ - -DCMAKE_INSTALL_PREFIX=%INSTDIR% ^ - -DCMAKE_MAKE_PROGRAM=/mingw%NORM_PLATFORM%/bin/mingw32-make ^ - -DCMAKE_C_COMPILER=/mingw%NORM_PLATFORM%/bin/gcc.exe ^ - -DCMAKE_CXX_COMPILER=/mingw%NORM_PLATFORM%/bin/g++.exe ^ - -DOPENSSL_ROOT_DIR=/mingw%NORM_PLATFORM% ^ - -DWITH_PYTHON=OFF - -@ECHO ON -%BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% && cmake --install . --config %CONFIGURATION%" || EXIT /B -@ECHO OFF diff --git a/build/appveyor/MINGW-appveyor-full.bat b/build/appveyor/MINGW-appveyor-full.bat new file mode 100644 index 000000000..f808c0dd2 --- /dev/null +++ b/build/appveyor/MINGW-appveyor-full.bat @@ -0,0 +1,126 @@ +:: +:: Licensed under the Apache License, Version 2.0 (the "License"); +:: you may not use this file except in compliance with the License. +:: You may obtain a copy of the License at +:: +:: http://www.apache.org/licenses/LICENSE-2.0 +:: +:: Unless required by applicable law or agreed to in writing, software +:: distributed under the License is distributed on an "AS IS" BASIS, +:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +:: See the License for the specific language governing permissions and +:: limitations under the License. +:: + +:: +:: Appveyor script for MINGW on MSYS2 +:: + +:: +:: Installs third party packages we need for a cmake build +:: + +@ECHO ON +SETLOCAL EnableDelayedExpansion + +CD build\appveyor || EXIT /B + +SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor +SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% +SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\install\%PROFILE%\%PLATFORM% +SET SRCDIR=%APPVEYOR_BUILD_FOLDER% + + +:: PLATFORM is x86 or x64 +:: NORM_PLATFORM is 32 or 64 +IF "%PLATFORM%" == "x86" ( + SET NORM_PLATFORM=32 +) ELSE ( + SET NORM_PLATFORM=64 +) + +:: PLATFORM = x86 means MINGWPLAT i686 +:: PLATFORM = x64 means MINGWPLAT x86_64 +IF "%PLATFORM%" == "x86" ( + SET MINGWPLAT=i686 +) ELSE ( + SET MINGWPLAT=x86_64 +) + + +:: compiler and generator detection +SET COMPILER=gcc +SET GENERATOR=MinGW Makefiles + + +SET BASH=C:\msys64\usr\bin\bash.exe +!BASH! -lc "sed -i '/export PATH=\/mingw32\/bin/d' ~/.bash_profile && sed -i '/export PATH=\/mingw64\/bin/d' ~/.bash_profile && echo 'export PATH=/mingw%NORM_PLATFORM%/bin:$PATH' >> ~/.bash_profile" || EXIT /B + +SET BUILDDIR=%BUILDDIR:\=/% +SET BUILDDIR=/c!BUILDDIR:~2! +SET INSTDIR=%INSTDIR:\=/% +SET INSTDIR=/c!INSTDIR:~2! +SET SRCDIR=%SRCDIR:\=/% +SET SRCDIR=/c!SRCDIR:~2! + +CALL win_showenv.bat || EXIT /B + + +SET PACKAGES=^ + base-devel ^ + mingw-w64-x86_64-toolchain ^ + bison ^ + flex ^ + make ^ + mingw-w64-%MINGWPLAT%-boost ^ + mingw-w64-%MINGWPLAT%-cmake ^ + mingw-w64-%MINGWPLAT%-libevent ^ + mingw-w64-%MINGWPLAT%-openssl ^ + mingw-w64-%MINGWPLAT%-toolchain ^ + mingw-w64-%MINGWPLAT%-zlib + +::mingw-w64-%MINGWPLAT%-qt5 : WAY too large (1GB download!) - tested in cygwin builds anyway + +:: Upgrade things +%BASH% -lc "pacman --noconfirm -Syu %IGNORE%" || EXIT /B +%BASH% -lc "pacman --noconfirm -Su %IGNORE%" || EXIT /B +%BASH% -lc "pacman --noconfirm --needed -S %PACKAGES%" || EXIT /B + + +:: These instructions are for a manual update of specific package versions. +:: Fall back to this in case the above does not work anymore (broken upstream). +:::: Updata the new key +::%BASH% -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-1~20210213-2-any.pkg.tar.xz" || EXIT /B +::%BASH% -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-1~20210213-2-any.pkg.tar.xz.sig" || EXIT /B +::%BASH% -lc "pacman-key --verify msys2-keyring-1~20210213-2-any.pkg.tar.xz.sig" || EXIT /B +::%BASH% -lc "pacman --noconfirm -U --config <(echo) msys2-keyring-1~20210213-2-any.pkg.tar.xz" || EXIT /B +:::: Upgrade things +::%BASH% -lc "pacman --noconfirm -Sy" || EXIT /B +::%BASH% -lc "pacman --noconfirm -Udd https://repo.msys2.org/msys/x86_64/pacman-5.2.2-5-x86_64.pkg.tar.xz" || EXIT /B +::%BASH% -lc "pacman --noconfirm --needed -S %PACKAGES%" || EXIT /B + + +:: +:: Configure and build our software with cmake +:: + +SET CMAKEARGS=^ + -G'%GENERATOR%' ^ + -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ + -DCMAKE_INSTALL_PREFIX=%INSTDIR% ^ + -DCMAKE_MAKE_PROGRAM=/mingw%NORM_PLATFORM%/bin/mingw32-make ^ + -DCMAKE_C_COMPILER=/mingw%NORM_PLATFORM%/bin/gcc.exe ^ + -DCMAKE_CXX_COMPILER=/mingw%NORM_PLATFORM%/bin/g++.exe ^ + -DOPENSSL_ROOT_DIR=/mingw%NORM_PLATFORM% ^ + -DWITH_PYTHON=OFF + +%BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% && cmake --install . --config %CONFIGURATION%" || EXIT /B + + +:: +:: Execute our tests +:: + +SET DISABLED_TESTS_COMMAND=--exclude-regex '%DISABLED_TESTS%' + +%BASH% -lc "cd %BUILDDIR% && ctest.exe --build-config %CONFIGURATION% --timeout 300 --extra-verbose %DISABLED_TESTS_COMMAND%" || EXIT /B diff --git a/build/appveyor/MINGW-appveyor-install.bat b/build/appveyor/MINGW-appveyor-install.bat deleted file mode 100644 index 5b8a2d878..000000000 --- a/build/appveyor/MINGW-appveyor-install.bat +++ /dev/null @@ -1,59 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: -:: Appveyor install script for MINGW on MSYS2 -:: Installs third party packages we need for a cmake build -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_install.bat || EXIT /B -CALL win_setenv.bat || EXIT /B -CALL win_showenv.bat || EXIT /B - -SET PACKAGES=^ - base-devel ^ - mingw-w64-x86_64-toolchain ^ - bison ^ - flex ^ - make ^ - mingw-w64-%MINGWPLAT%-boost ^ - mingw-w64-%MINGWPLAT%-cmake ^ - mingw-w64-%MINGWPLAT%-libevent ^ - mingw-w64-%MINGWPLAT%-openssl ^ - mingw-w64-%MINGWPLAT%-toolchain ^ - mingw-w64-%MINGWPLAT%-zlib - -::mingw-w64-%MINGWPLAT%-qt5 : WAY too large (1GB download!) - tested in cygwin builds anyway - -:: Upgrade things -%BASH% -lc "pacman --noconfirm -Syu %IGNORE%" || EXIT /B -%BASH% -lc "pacman --noconfirm -Su %IGNORE%" || EXIT /B -%BASH% -lc "pacman --noconfirm --needed -S %PACKAGES%" || EXIT /B - - -:: These instructions are for a manual update of specific package versions. -:: Fall back to this in case the above does not work anymore (broken upstream). -:::: Updata the new key -::%BASH% -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-1~20210213-2-any.pkg.tar.xz" || EXIT /B -::%BASH% -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-1~20210213-2-any.pkg.tar.xz.sig" || EXIT /B -::%BASH% -lc "pacman-key --verify msys2-keyring-1~20210213-2-any.pkg.tar.xz.sig" || EXIT /B -::%BASH% -lc "pacman --noconfirm -U --config <(echo) msys2-keyring-1~20210213-2-any.pkg.tar.xz" || EXIT /B -:::: Upgrade things -::%BASH% -lc "pacman --noconfirm -Sy" || EXIT /B -::%BASH% -lc "pacman --noconfirm -Udd https://repo.msys2.org/msys/x86_64/pacman-5.2.2-5-x86_64.pkg.tar.xz" || EXIT /B -::%BASH% -lc "pacman --noconfirm --needed -S %PACKAGES%" || EXIT /B diff --git a/build/appveyor/MINGW-appveyor-test.bat b/build/appveyor/MINGW-appveyor-test.bat deleted file mode 100644 index 3dec76838..000000000 --- a/build/appveyor/MINGW-appveyor-test.bat +++ /dev/null @@ -1,22 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_test.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -%BASH% -lc "cd %BUILDDIR% && ctest.exe -C %CONFIGURATION% --timeout 300 -VV -E '%DISABLED_TESTS%'" || EXIT /B diff --git a/build/appveyor/MSVC-appveyor-build.bat b/build/appveyor/MSVC-appveyor-build.bat deleted file mode 100644 index 2b400e393..000000000 --- a/build/appveyor/MSVC-appveyor-build.bat +++ /dev/null @@ -1,59 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_build.bat || EXIT /B -CALL win_setenv.bat || EXIT /B -MKDIR "%BUILDDIR%" || EXIT /B -CD "%BUILDDIR%" || EXIT /B - -:: When libraries cannot be found, things might have been updated -:: so uncomment this and submit a pull request to see what's there -:: now... -:: DIR C:\Libraries -:: DIR C:\Libraries\boost_1_69_0\lib* -:: DIR C:\Libraries\boost_1_68_0\lib* -:: DIR C:\Libraries\boost_1_67_0\lib* -:: DIR C:\Libraries\boost_1_66_0\lib* -:: DIR C:\Libraries\boost_1_65_0\lib* -:: DIR C:\Libraries\boost_1_64_0\lib* -:: DIR C:\Libraries\boost_1_63_0\lib* -:: DIR C:\Libraries\boost_1_62_0\lib* -:: DIR C:\Libraries\boost_1_61_0\lib* -:: DIR C:\Libraries\boost_1_60_0\lib* - -@ECHO ON -cmake "%SRCDIR%" ^ - -G"%GENERATOR%" ^ - -DBISON_EXECUTABLE="C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_bison.exe" ^ - -DBOOST_ROOT="%BOOST_ROOT%" ^ - -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ^ - -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" ^ - -DCMAKE_BUILD_TYPE="%CONFIGURATION%" ^ - -DCMAKE_INSTALL_PREFIX="%INSTDIR%" ^ - -DFLEX_EXECUTABLE="C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_flex.exe" ^ - -DLIBEVENT_ROOT="%WIN3P%\libevent-%LIBEVENT_VERSION%-stable" ^ - -DOPENSSL_ROOT_DIR="%OPENSSL_ROOT%" ^ - -DOPENSSL_USE_STATIC_LIBS=OFF ^ - -DZLIB_LIBRARY="%WIN3P%\zlib-inst\lib\zlib%ZLIB_LIB_SUFFIX%.lib" ^ - -DZLIB_ROOT="%WIN3P%\zlib-inst" ^ - -DWITH_PYTHON=%WITH_PYTHON% || EXIT /B -@ECHO OFF - -cmake --build . --config "%CONFIGURATION%" || EXIT /B - -cmake --install . --config "%CONFIGURATION%" || EXIT /B diff --git a/build/appveyor/MSVC-appveyor-full.bat b/build/appveyor/MSVC-appveyor-full.bat new file mode 100644 index 000000000..49a3f94a0 --- /dev/null +++ b/build/appveyor/MSVC-appveyor-full.bat @@ -0,0 +1,196 @@ +:: +:: Licensed under the Apache License, Version 2.0 (the "License"); +:: you may not use this file except in compliance with the License. +:: You may obtain a copy of the License at +:: +:: http://www.apache.org/licenses/LICENSE-2.0 +:: +:: Unless required by applicable law or agreed to in writing, software +:: distributed under the License is distributed on an "AS IS" BASIS, +:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +:: See the License for the specific language governing permissions and +:: limitations under the License. +:: + +:: +:: Appveyor script for MSVC +:: + +:: +:: Installs (or builds) third party packages we need +:: + +@ECHO ON +SETLOCAL EnableDelayedExpansion + +CD build\appveyor || EXIT /B + +SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor +SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% +SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\install\%PROFILE%\%PLATFORM% +SET SRCDIR=%APPVEYOR_BUILD_FOLDER% + + +IF "%PROFILE%" == "MSVC2015" ( + IF "%PLATFORM%" == "x86" ( + CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 || EXIT /B + ) ELSE ( + CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 || EXIT /B + CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 || EXIT /B + ) +) ELSE IF "%PROFILE%" == "MSVC2017" ( + IF "%PLATFORM%" == "x86" ( + CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" || EXIT /B + ) ELSE ( + CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" || EXIT /B + ) +) ELSE IF "%PROFILE%" == "MSVC2019" ( + IF "%PLATFORM%" == "x86" ( + CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" || EXIT /B + ) ELSE ( + CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" || EXIT /B + ) +) ELSE ( + ECHO Unsupported PROFILE=%PROFILE% or PLATFORM=%PLATFORM% + EXIT /B 1 +) + + +:: compiler and generator detection +IF /i "%PLATFORM%" == "x64" SET GENARCH= Win64 +IF "%PROFILE%" == "MSVC2015" ( + SET GENERATOR=Visual Studio 14 2015!GENARCH! + SET COMPILER=vc140 +) ELSE IF "%PROFILE%" == "MSVC2017" ( + SET GENERATOR=Visual Studio 15 2017!GENARCH! + SET COMPILER=vc141 +) ELSE IF "%PROFILE%" == "MSVC2019" ( + SET GENERATOR=Visual Studio 16 2019!GENARCH! + SET COMPILER=vc142 +) ELSE ( + ECHO [error] unable to determine the CMake generator and compiler to use from MSVC profile %PROFILE% + EXIT /B 1 +) + +:: PLATFORM is x86 or x64 +:: NORM_PLATFORM is 32 or 64 +IF "%PLATFORM%" == "x86" ( + SET NORM_PLATFORM=32 +) ELSE ( + SET NORM_PLATFORM=64 +) + +:: FindBoost needs forward slashes so cmake doesn't see something as an escaped character +SET BOOST_ROOT=C:/Libraries/boost_%BOOST_VERSION:.=_% +SET BOOST_LIBRARYDIR=!BOOST_ROOT!/lib%NORM_PLATFORM%-msvc-%COMPILER:~-3,2%.%COMPILER:~-1,1% +SET OPENSSL_ROOT=C:\OpenSSL-Win%NORM_PLATFORM% +SET WIN3P=%APPVEYOR_BUILD_FOLDER%\thirdparty + +IF "%PYTHON_VERSION%" == "" ( + SET WITH_PYTHON=OFF +) ELSE ( + SET WITH_PYTHON=ON + IF /i "%PLATFORM%" == "x64" (SET PTEXT=-x64) + SET PATH=C:\Python%PYTHON_VERSION:.=%!PTEXT!\scripts;C:\Python%PYTHON_VERSION:.=%!PTEXT!;!PATH! +) + +IF "%CONFIGURATION%" == "Debug" (SET ZLIB_LIB_SUFFIX=d) + +IF NOT "%QT_VERSION%" == "" ( + IF /i "%PLATFORM%" == "x64" (SET QTEXT=_64) + SET PATH=C:\Qt\%QT_VERSION%\%PROFILE%!QTEXT!\bin;!PATH! +) + + +CALL win_showenv.bat || EXIT /B +MKDIR "%WIN3P%" || EXIT /B + +choco feature enable -n allowGlobalConfirmation || EXIT /B + +:: Things to install when NOT running in appveyor: +IF "%APPVEYOR_BUILD_ID%" == "" ( + cup -y chocolatey || EXIT /B + cinst -y curl || EXIT /B + cinst -y 7zip || EXIT /B + cinst -y python3 || EXIT /B + cinst -y openssl.light || EXIT /B +) + +cinst -y jdk8 || EXIT /B +cinst -y winflexbison3 || EXIT /B + +:: zlib - not available through chocolatey +CD "%APPVEYOR_SCRIPTS%" || EXIT /B +call build-zlib.bat || EXIT /B + +:: libevent - not available through chocolatey +CD "%APPVEYOR_SCRIPTS%" || EXIT /B +call build-libevent.bat || EXIT /B + +:: python packages (correct path to pip set above) +pip.exe ^ + install backports.ssl_match_hostname ^ + ipaddress ^ + six ^ + tornado ^ + twisted || EXIT /B + +:: Adobe Flex SDK 4.6 for ActionScript +MKDIR "C:\Adobe\Flex\SDK\4.6" || EXIT /B +appveyor DownloadFile http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip -FileName C:\Adobe\Flex\SDK\4.6\SDK.zip || EXIT /B +CD "C:\Adobe\Flex\SDK\4.6" || EXIT /B +7z x SDK.zip || EXIT /B +SETX FLEX_HOME "C:\Adobe\Flex\SDK\4.6" + + +:: +:: Configure and build our software with cmake +:: + +MKDIR "%BUILDDIR%" || EXIT /B +CD "%BUILDDIR%" || EXIT /B + +:: When libraries cannot be found, things might have been updated +:: so uncomment this and submit a pull request to see what's there +:: now... +:: DIR C:\Libraries +:: DIR C:\Libraries\boost_1_69_0\lib* +:: DIR C:\Libraries\boost_1_68_0\lib* +:: DIR C:\Libraries\boost_1_67_0\lib* +:: DIR C:\Libraries\boost_1_66_0\lib* +:: DIR C:\Libraries\boost_1_65_0\lib* +:: DIR C:\Libraries\boost_1_64_0\lib* +:: DIR C:\Libraries\boost_1_63_0\lib* +:: DIR C:\Libraries\boost_1_62_0\lib* +:: DIR C:\Libraries\boost_1_61_0\lib* +:: DIR C:\Libraries\boost_1_60_0\lib* + +cmake.exe "%SRCDIR%" ^ + -G"%GENERATOR%" ^ + -DBISON_EXECUTABLE="C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_bison.exe" ^ + -DBOOST_ROOT="%BOOST_ROOT%" ^ + -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ^ + -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" ^ + -DCMAKE_BUILD_TYPE="%CONFIGURATION%" ^ + -DCMAKE_INSTALL_PREFIX="%INSTDIR%" ^ + -DFLEX_EXECUTABLE="C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_flex.exe" ^ + -DLIBEVENT_ROOT="%WIN3P%\libevent-%LIBEVENT_VERSION%-stable" ^ + -DOPENSSL_ROOT_DIR="%OPENSSL_ROOT%" ^ + -DOPENSSL_USE_STATIC_LIBS=OFF ^ + -DZLIB_LIBRARY="%WIN3P%\zlib-inst\lib\zlib%ZLIB_LIB_SUFFIX%.lib" ^ + -DZLIB_ROOT="%WIN3P%\zlib-inst" ^ + -DWITH_PYTHON=%WITH_PYTHON% || EXIT /B + +cmake.exe --build . --config "%CONFIGURATION%" || EXIT /B + +cmake.exe --install . --config "%CONFIGURATION%" || EXIT /B + +:: +:: Execute our tests +:: + +:: Add directories to the path to find DLLs of third party libraries so tests run properly! +SET PATH=%BOOST_LIBRARYDIR:/=\%;%OPENSSL_ROOT%\bin;%WIN3P%\zlib-inst\bin;%PATH% +SET DISABLED_TESTS_COMMAND=--exclude-regex '%DISABLED_TESTS%' + +ctest.exe --build-config %CONFIGURATION% --timeout 300 --extra-verbose %DISABLED_TESTS_COMMAND% || EXIT /B diff --git a/build/appveyor/MSVC-appveyor-install.bat b/build/appveyor/MSVC-appveyor-install.bat deleted file mode 100644 index 509b3469a..000000000 --- a/build/appveyor/MSVC-appveyor-install.bat +++ /dev/null @@ -1,64 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: -:: Appveyor install script for MSVC -:: Installs (or builds) third party packages we need -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_install.bat || EXIT /B -CALL win_setenv.bat || EXIT /B -CALL win_showenv.bat || EXIT /B -MKDIR "%WIN3P%" || EXIT /B - -choco feature enable -n allowGlobalConfirmation || EXIT /B - -:: Things to install when NOT running in appveyor: -IF "%APPVEYOR_BUILD_ID%" == "" ( - cup -y chocolatey || EXIT /B - cinst -y curl || EXIT /B - cinst -y 7zip || EXIT /B - cinst -y python3 || EXIT /B - cinst -y openssl.light || EXIT /B -) - -cinst -y jdk8 || EXIT /B -cinst -y winflexbison3 || EXIT /B - -:: zlib - not available through chocolatey -CD "%APPVEYOR_SCRIPTS%" || EXIT /B -call build-zlib.bat || EXIT /B - -:: libevent - not available through chocolatey -CD "%APPVEYOR_SCRIPTS%" || EXIT /B -call build-libevent.bat || EXIT /B - -:: python packages (correct path to pip set in win_setenv.bat) -pip.exe ^ - install backports.ssl_match_hostname ^ - ipaddress ^ - six ^ - tornado ^ - twisted || EXIT /B - -:: Adobe Flex SDK 4.6 for ActionScript -MKDIR "C:\Adobe\Flex\SDK\4.6" || EXIT /B -appveyor DownloadFile http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip -FileName C:\Adobe\Flex\SDK\4.6\SDK.zip || EXIT /B -CD "C:\Adobe\Flex\SDK\4.6" || EXIT /B -7z x SDK.zip || EXIT /B -SETX FLEX_HOME "C:\Adobe\Flex\SDK\4.6" diff --git a/build/appveyor/MSVC-appveyor-test.bat b/build/appveyor/MSVC-appveyor-test.bat deleted file mode 100644 index 654ba5ec9..000000000 --- a/build/appveyor/MSVC-appveyor-test.bat +++ /dev/null @@ -1,26 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO ON -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_test.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -:: Add directories to the path to find DLLs of third party libraries so tests run properly! -SET PATH=%BOOST_LIBRARYDIR:/=\%;%OPENSSL_ROOT%\bin;%WIN3P%\zlib-inst\bin;%PATH% - -CD "%BUILDDIR%" || EXIT /B -ctest -C %CONFIGURATION% --timeout 300 -VV -E "(%DISABLED_TESTS%)" || EXIT /B diff --git a/build/appveyor/MSYS-appveyor-build.bat b/build/appveyor/MSYS-appveyor-build.bat deleted file mode 100644 index 46794ee0d..000000000 --- a/build/appveyor/MSYS-appveyor-build.bat +++ /dev/null @@ -1,48 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_build.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -SET BASH=C:\msys64\usr\bin\bash -SET CMAKE=/c/msys64/mingw64/bin/cmake.exe - -@ECHO ON -SET CMAKEARGS=-G\"%GENERATOR%\" ^ - -DBoost_DEBUG=ON ^ - -DBoost_NAMESPACE=libboost ^ - -DBOOST_INCLUDEDIR=%BOOST_INCLUDEDIR% ^ - -DBOOST_LIBRARYDIR=%BOOST_LIBRARYDIR% ^ - -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ - -DCMAKE_C_COMPILER=gcc.exe ^ - -DCMAKE_CXX_COMPILER=g++.exe ^ - -DCMAKE_MAKE_PROGRAM=make.exe ^ - -DCMAKE_INSTALL_PREFIX=%INSTDIR_MSYS% ^ - -DLIBEVENT_ROOT=%LIBEVENT_ROOT% ^ - -DOPENSSL_LIBRARIES=%OPENSSL_LIBRARIES% ^ - -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT% ^ - -DOPENSSL_USE_STATIC_LIBS=ON ^ - -DWITH_BOOST_STATIC=ON ^ - -DWITH_JAVA=OFF ^ - -DWITH_LIBEVENT=ON ^ - -DWITH_PYTHON=%WITH_PYTHON% ^ - -DWITH_SHARED_LIB=OFF ^ - -DWITH_STATIC_LIB=ON - -%BASH% -lc "mkdir %BUILDDIR_MSYS% && cd %BUILDDIR_MSYS% && %CMAKE% %SRCDIR_MSYS% %CMAKEARGS% && %CMAKE% --build . --config %CONFIGURATION% && %CMAKE% --install . --config %CONFIGURATION%" || EXIT /B -@ECHO OFF diff --git a/build/appveyor/MSYS-appveyor-full.bat b/build/appveyor/MSYS-appveyor-full.bat new file mode 100644 index 000000000..082ffdb4b --- /dev/null +++ b/build/appveyor/MSYS-appveyor-full.bat @@ -0,0 +1,98 @@ +:: +:: Licensed under the Apache License, Version 2.0 (the "License"); +:: you may not use this file except in compliance with the License. +:: You may obtain a copy of the License at +:: +:: http://www.apache.org/licenses/LICENSE-2.0 +:: +:: Unless required by applicable law or agreed to in writing, software +:: distributed under the License is distributed on an "AS IS" BASIS, +:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +:: See the License for the specific language governing permissions and +:: limitations under the License. +:: + +:: +:: Appveyor script for MSYS +:: + +:: +:: Installs third party packages we need for a cmake build +:: + +@ECHO ON +SETLOCAL EnableDelayedExpansion + +CD build\appveyor || EXIT /B + +SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor +SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% +SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\install\%PROFILE%\%PLATFORM% +SET SRCDIR=%APPVEYOR_BUILD_FOLDER% + + +ECHO Unsupported PROFILE=%PROFILE% or PLATFORM=%PLATFORM% +EXIT /B 1 + + +SET BASH=C:\msys64\usr\bin\bash +SET CMAKE=/c/msys64/mingw64/bin/cmake.exe + + +CALL win_showenv.bat || EXIT /B + +SET PACKAGES=^ + base-devel ^ + mingw-w64-x86_64-toolchain ^ + bison ^ + flex ^ + make ^ + mingw-w64-x86_64-cmake ^ + mingw-w64-x86_64-libevent ^ + mingw-w64-x86_64-openssl ^ + mingw-w64-x86_64-zlib + +:: Upgrade things +%BASH% -lc "pacman --noconfirm -Syu %IGNORE%" || EXIT /B +%BASH% -lc "pacman --noconfirm -Su %IGNORE%" || EXIT /B +%BASH% -lc "pacman --noconfirm --needed -S %PACKAGES%" || EXIT /B + + +:: +:: Configure and build our software with cmake +:: + +SET CMAKEARGS=^ + -G'%GENERATOR%' ^ + -DBoost_DEBUG=ON ^ + -DBoost_NAMESPACE=libboost ^ + -DBOOST_INCLUDEDIR=%BOOST_INCLUDEDIR% ^ + -DBOOST_LIBRARYDIR=%BOOST_LIBRARYDIR% ^ + -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^ + -DCMAKE_C_COMPILER=gcc.exe ^ + -DCMAKE_CXX_COMPILER=g++.exe ^ + -DCMAKE_MAKE_PROGRAM=make.exe ^ + -DCMAKE_INSTALL_PREFIX=%INSTDIR_MSYS% ^ + -DLIBEVENT_ROOT=%LIBEVENT_ROOT% ^ + -DOPENSSL_LIBRARIES=%OPENSSL_LIBRARIES% ^ + -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT% ^ + -DOPENSSL_USE_STATIC_LIBS=ON ^ + -DWITH_BOOST_STATIC=ON ^ + -DWITH_JAVA=OFF ^ + -DWITH_LIBEVENT=ON ^ + -DWITH_PYTHON=%WITH_PYTHON% ^ + -DWITH_SHARED_LIB=OFF ^ + -DWITH_STATIC_LIB=ON + +%BASH% -lc "mkdir %BUILDDIR% && cd %BUILDDIR% && %CMAKE% %SRCDIR_MSYS% %CMAKEARGS% && %CMAKE% --build . --config %CONFIGURATION% && %CMAKE% --install . --config %CONFIGURATION%" || EXIT /B + + +:: +:: Execute our tests +:: + +:: This test randomly fails on mingw; see Jira THRIFT-4106 +SET DISABLED_TESTS=(concurrency_test) +SET DISABLED_TESTS_COMMAND=--exclude-regex '%DISABLED_TESTS%' + +%BASH% -lc "cd %BUILDDIR% && ctest.exe --build-config %CONFIGURATION% --timeout 300 --extra-verbose %DISABLED_TESTS_COMMAND%" || EXIT /B diff --git a/build/appveyor/MSYS-appveyor-install.bat b/build/appveyor/MSYS-appveyor-install.bat deleted file mode 100644 index 330b2560a..000000000 --- a/build/appveyor/MSYS-appveyor-install.bat +++ /dev/null @@ -1,42 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: -:: Appveyor install script for MSYS -:: Installs third party packages we need for a cmake build -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_install.bat || EXIT /B -CALL win_setenv.bat || EXIT /B -CALL win_showenv.bat || EXIT /B - -SET PACKAGES=^ - base-devel ^ - mingw-w64-x86_64-toolchain ^ - bison ^ - flex ^ - make ^ - mingw-w64-x86_64-cmake ^ - mingw-w64-x86_64-libevent ^ - mingw-w64-x86_64-openssl ^ - mingw-w64-x86_64-zlib - -:: Upgrade things -%BASH% -lc "pacman --noconfirm -Syu %IGNORE%" || EXIT /B -%BASH% -lc "pacman --noconfirm -Su %IGNORE%" || EXIT /B -%BASH% -lc "pacman --noconfirm --needed -S %PACKAGES%" || EXIT /B diff --git a/build/appveyor/MSYS-appveyor-test.bat b/build/appveyor/MSYS-appveyor-test.bat deleted file mode 100644 index cbe39bec4..000000000 --- a/build/appveyor/MSYS-appveyor-test.bat +++ /dev/null @@ -1,26 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF -SETLOCAL EnableDelayedExpansion - -CD build\appveyor || EXIT /B -CALL win_banner_test.bat || EXIT /B -CALL win_setenv.bat || EXIT /B - -:: randomly fails on mingw; see Jira THRIFT-4106 -SET DISABLED_TESTS=concurrency_test - -CD "%BUILDDIR%" || EXIT /B -%BASH% -lc "cd %BUILDDIR_MSYS% && ctest.exe -C %CONFIGURATION% --timeout 300 -VV -E '(%DISABLED_TESTS%)'" || EXIT /B diff --git a/build/appveyor/simulate-appveyor.bat b/build/appveyor/simulate-appveyor.bat index ac229b1ff..351c3eef4 100644 --- a/build/appveyor/simulate-appveyor.bat +++ b/build/appveyor/simulate-appveyor.bat @@ -19,7 +19,6 @@ :: simulate-appveyor.bat [Debug|Release] [x86|x64] [CYGWIN|MINGW|MSVC201?] :: -@ECHO OFF SETLOCAL EnableDelayedExpansion SET APPVEYOR_BUILD_FOLDER=%~dp0..\.. @@ -28,8 +27,4 @@ SET PLATFORM=%2 SET PROFILE=%3 CD %APPVEYOR_BUILD_FOLDER% -CALL build\appveyor\%PROFILE_CLASS%-appveyor-install.bat || EXIT /B -CD %APPVEYOR_BUILD_FOLDER% -CALL build\appveyor\%PROFILE_CLASS%-appveyor-build.bat || EXIT /B -CD %APPVEYOR_BUILD_FOLDER% -CALL build\appveyor\%PROFILE_CLASS%-appveyor-test.bat +CALL build\appveyor\%PROFILE_CLASS%-appveyor-full.bat || EXIT /B diff --git a/build/appveyor/win_banner_build.bat b/build/appveyor/win_banner_build.bat deleted file mode 100644 index 60272f335..000000000 --- a/build/appveyor/win_banner_build.bat +++ /dev/null @@ -1,23 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: A visual indicator in a large log helps you locate things when scanning -:: http://www.patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Build - -ECHO/ -ECHO ___ _ __ __ -ECHO / _ )__ __(_) /__/ / -ECHO / _ / // / / / _ / @@@ BUILD -ECHO /____/\_,_/_/_/\_,_/ -ECHO/ diff --git a/build/appveyor/win_banner_install.bat b/build/appveyor/win_banner_install.bat deleted file mode 100644 index fde3da21a..000000000 --- a/build/appveyor/win_banner_install.bat +++ /dev/null @@ -1,23 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: A visual indicator in a large log helps you locate things when scanning -:: http://www.patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Install - -ECHO/ -ECHO ____ __ ____ -ECHO / _/__ ___ / /____ _/ / / -ECHO _/ // _ \(_-^&1 | findstr /C:"Version %1%" > nul -EXIT /B diff --git a/build/appveyor/win_setenv.bat b/build/appveyor/win_setenv.bat deleted file mode 100644 index ef664d17a..000000000 --- a/build/appveyor/win_setenv.bat +++ /dev/null @@ -1,132 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -@ECHO OFF - -:: PLATFORM is x86 or x64 -:: NORM_PLATFORM is 32 or 64 -:: MSVCPLAT is x86 or amd64 -IF "%PLATFORM%" == "x86" ( - SET NORM_PLATFORM=32 -) ELSE ( - SET NORM_PLATFORM=64 -) -IF "%PLATFORM%" == "x86" ( - SET MSVCPLAT=x86 -) ELSE ( - SET MSVCPLAT=amd64 -) - -IF "%PROFILE%" == "MSVC2015" ( - IF "%PLATFORM%" == "x86" ( - CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 || EXIT /B - ) ELSE ( - CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 || EXIT /B - CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 || EXIT /B - ) -) ELSE IF "%PROFILE%" == "MSVC2017" ( - IF "%PLATFORM%" == "x86" ( - CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" || EXIT /B - ) ELSE ( - CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" || EXIT /B - ) -) ELSE IF "%PROFILE%" == "MSVC2019" ( - IF "%PLATFORM%" == "x86" ( - CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" || EXIT /B - ) ELSE ( - CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" || EXIT /B - ) -) ELSE IF "%PROFILE%" == "MINGW" ( - REM Supported, nothing special to do here. -) ELSE IF "%PROFILE%" == "CYGWIN" ( - REM Supported, nothing special to do here. -) ELSE ( - ECHO Unsupported PROFILE=%PROFILE% or PLATFORM=%PLATFORM% - EXIT /B 1 -) - -CALL win_setcompiler.bat || EXIT /B -CALL win_setgenerator.bat || EXIT /B - -SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor -SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM% -SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\install\%PROFILE%\%PLATFORM% -SET SRCDIR=%APPVEYOR_BUILD_FOLDER% - - -IF "%PROFILE_CLASS%" == "MSVC" ( - - :: FindBoost needs forward slashes so cmake doesn't see something as an escaped character - SET BOOST_ROOT=C:/Libraries/boost_%BOOST_VERSION:.=_% - SET BOOST_LIBRARYDIR=!BOOST_ROOT!/lib%NORM_PLATFORM%-msvc-%COMPILER:~-3,2%.%COMPILER:~-1,1% - SET OPENSSL_ROOT=C:\OpenSSL-Win%NORM_PLATFORM% - SET WIN3P=%APPVEYOR_BUILD_FOLDER%\thirdparty - - IF "%PYTHON_VERSION%" == "" ( - SET WITH_PYTHON=OFF - ) ELSE ( - SET WITH_PYTHON=ON - IF /i "%PLATFORM%" == "x64" (SET PTEXT=-x64) - SET PATH=C:\Python%PYTHON_VERSION:.=%!PTEXT!\scripts;C:\Python%PYTHON_VERSION:.=%!PTEXT!;!PATH! - ) - IF "%CONFIGURATION%" == "Debug" (SET ZLIB_LIB_SUFFIX=d) - - IF NOT "%QT_VERSION%" == "" ( - IF /i "%PLATFORM%" == "x64" (SET QTEXT=_64) - SET PATH=C:\Qt\%QT_VERSION%\%PROFILE%!QTEXT!\bin;!PATH! - ) - -) ELSE IF "%PROFILE_CLASS%" == "MINGW" ( - - :: PLATFORM = x86 means MINGWPLAT i686 - :: PLATFORM = x64 means MINGWPLAT x86_64 - IF "%PLATFORM%" == "x86" ( - SET MINGWPLAT=i686 - ) ELSE ( - SET MINGWPLAT=x86_64 - ) - - SET BASH=C:\msys64\usr\bin\bash.exe - !BASH! -lc "sed -i '/export PATH=\/mingw32\/bin/d' ~/.bash_profile && sed -i '/export PATH=\/mingw64\/bin/d' ~/.bash_profile && echo 'export PATH=/mingw%NORM_PLATFORM%/bin:$PATH' >> ~/.bash_profile" || EXIT /B - - SET BUILDDIR=%BUILDDIR:\=/% - SET BUILDDIR=/c!BUILDDIR:~2! - SET INSTDIR=%INSTDIR:\=/% - SET INSTDIR=/c!INSTDIR:~2! - SET SRCDIR=%SRCDIR:\=/% - SET SRCDIR=/c!SRCDIR:~2! - -) ELSE IF "%PROFILE_CLASS%" == "CYGWIN" ( - - IF "%PLATFORM%" == "x64" ( - SET CYGWINROOT=C:\cygwin64 - ) ELSE ( - SET CYGWINROOT=C:\cygwin - ) - - IF "%PLATFORM%" == "x64" ( - SET SETUP=!CYGWINROOT!\setup-x86_64.exe - ) ELSE ( - SET SETUP=!CYGWINROOT!\setup-x86.exe - ) - - SET BASH=!CYGWINROOT!\bin\bash.exe - SET BUILDDIR=%BUILDDIR:\=/% - SET BUILDDIR=/cygdrive/c!BUILDDIR:~2! - SET INSTDIR=%INSTDIR:\=/% - SET INSTDIR=/cygdrive/c!INSTDIR:~2! - SET SRCDIR=%SRCDIR:\=/% - SET SRCDIR=/cygdrive/c!SRCDIR:~2! - -) diff --git a/build/appveyor/win_setgenerator.bat b/build/appveyor/win_setgenerator.bat deleted file mode 100644 index 818155b93..000000000 --- a/build/appveyor/win_setgenerator.bat +++ /dev/null @@ -1,66 +0,0 @@ -:: -:: Licensed under the Apache License, Version 2.0 (the "License"); -:: you may not use this file except in compliance with the License. -:: You may obtain a copy of the License at -:: -:: http://www.apache.org/licenses/LICENSE-2.0 -:: -:: Unless required by applicable law or agreed to in writing, software -:: distributed under the License is distributed on an "AS IS" BASIS, -:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -:: See the License for the specific language governing permissions and -:: limitations under the License. -:: - -:: -:: Detect the compiler edition we're building in and then -:: set the GENERATOR environment variable to one of: -:: -:: Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files. -:: Optional [arch] can be "Win64" or "ARM". -:: Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. -:: Optional [arch] can be "Win64" or "ARM". -:: Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. -:: Optional [arch] can be "Win64" or "ARM". -:: Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. -:: Optional [arch] can be "Win64" or "ARM". -:: Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. -:: Optional [arch] can be "Win64" or "IA64". -:: MinGW Makefiles = Generates makefiles for MinGW -:: MSYS Makefiles = Generates makefiles for MSYS -:: Unix Makefiles = Generates makefiles for CYGWIN -:: -:: Honors any existing GENERATOR environment variable -:: setting instead of overwriting it, to allow it -:: to be forced if needed. -:: -:: Sets ERRORLEVEL to 0 if GENERATOR can be determined, -:: to 1 if it cannot. -:: - -IF DEFINED GENERATOR ( - ECHO [warn ] using existing environment variable GENERATOR -) ELSE IF "%PROFILE_CLASS%" == "MINGW" ( - SET GENERATOR=MinGW Makefiles -) ELSE IF "%PROFILE_CLASS%" == "CYGWIN" ( - SET GENERATOR=Unix Makefiles -) ELSE IF "%PROFILE_CLASS%" == "MSYS" ( - SET GENERATOR=MSYS Makefiles -) ELSE IF "%PROFILE_CLASS%" == "MSVC" ( - IF /i "%PLATFORM%" == "x64" SET GENARCH= Win64 - IF "%PROFILE%" == "MSVC2015" ( - SET GENERATOR=Visual Studio 14 2015!GENARCH! - ) ELSE IF "%PROFILE%" == "MSVC2017" ( - SET GENERATOR=Visual Studio 15 2017!GENARCH! - ) ELSE IF "%PROFILE%" == "MSVC2019" ( - SET GENERATOR=Visual Studio 16 2019!GENARCH! - ) ELSE ( - ECHO [error] unable to determine the CMake generator to use from MSVC profile %PROFILE% - EXIT /B 1 - ) -) ELSE ( - ECHO [error] unable to determine the CMake generator to use from profile %PROFILE% - EXIT /B 1 -) - -ECHO [info ] using CMake generator %GENERATOR% -- cgit v1.2.1