Commit 5ee21c67c9b5923add9c050c365fe4423c50dac9

Authored by Jay Berkenbilt
Committed by Jay Berkenbilt
1 parent 585be5a8

Convert build-windows to use cmake

build-scripts/build-windows
... ... @@ -4,6 +4,8 @@ cd $(dirname $0)/..
4 4 wordsize=$1
5 5 tool=$2
6 6  
  7 +declare -a cmake_xargs
  8 +declare -a ctest_xargs
7 9 if [[ $tool == mingw ]]; then
8 10 pacman -Sy --noconfirm make base-devel tar zip unzip
9 11 if [ ! -x /c/msys64/mingw$wordsize/bin/g++.exe ]; then
... ... @@ -14,24 +16,31 @@ if [[ $tool == mingw ]]; then
14 16 fi
15 17 fi
16 18 PATH="/c/msys64/mingw$wordsize/bin:$PATH"
  19 + config=RelWithDebInfo
  20 + cmake_xargs=(-- -k)
17 21 g++ -v
18 22 elif [[ $tool == msvc ]]; then
19 23 cl
  24 + config=Release
  25 + cmake_xargs=(--config $config)
  26 + ctest_xargs=(-C $config)
20 27 fi
  28 +
  29 +mkdir build distribution
21 30 unzip doc.zip
22 31 unzip qpdf-external-libs-bin.zip
23   -cwd=`pwd`
24   -PATH=$cwd/libqpdf/build:$PATH
25   -
26   -installdir=install-$tool$wordsize
27   -rm -rf $installdir
28   -./config-$tool --enable-show-failed-test-output
29   -make -j$(nproc) -k
30   -make -k check
31   -make install
32 32  
33   -v=`(cd $installdir; ls -d qpdf-*)`
34   -cp -p README-windows-install.txt $installdir/$v/README.txt
35   -mkdir distribution
36   -(cd $installdir; zip -r ../distribution/$v-bin-$tool$wordsize-ci.zip $v)
  33 +cd build
  34 +../cmake-win $tool ci
  35 +cmake --build . -j$(nproc) "${cmake_xargs[@]}"
  36 +ctest --verbose "${ctest_xargs[@]}"
  37 +cpack -G NSIS -C $config
  38 +cpack -G ZIP -C $config
  39 +for i in qpdf-*.exe; do
  40 + mv $i ../distribution/$(echo $i | sed -e 's/.exe/-ci.exe/')
  41 +done
  42 +for i in qpdf-*.zip; do
  43 + mv $i ../distribution/$(echo $i | sed -e 's/.zip/-ci.zip/')
  44 +done
  45 +cd ..
37 46 sha256sum distribution/*
... ...
build-scripts/build-windows.bat
... ... @@ -10,11 +10,6 @@ if %2 == msvc (
10 10 choco install zip
11 11 bash ./build-scripts/build-windows %1 %2
12 12 ) else (
13   - if exist C:\msys64 (
14   - set MSYS=C:\msys64
15   - ) else (
16   - choco install msys2
17   - set MSYS=C:\tools\msys64
18   - )
19   - !MSYS!\usr\bin\env.exe MSYSTEM=MINGW64 /bin/bash -l %CD%/build-scripts/build-windows %1 %2
  13 + set MSYS=C:\msys64
  14 + !MSYS!\usr\bin\env.exe MSYSTEM=MINGW64 MSYS2_PATH_TYPE=inherit /bin/bash -l %CD%/build-scripts/build-windows %1 %2
20 15 )
... ...