SET XZ_VERSION=5.6.3
IF NOT "%BE%"=="mingw-gcc" (
IF NOT "%BE%"=="msvc" (
- ECHO Environment variable BE must be mingw-gcc or msvc
- EXIT /b 1
+ IF NOT "%BE%"=="cygwin-gcc" (
+ ECHO Environment variable BE must be cygwin-gcc, mingw-gcc or msvc
+ EXIT /b 1
+ )
)
)
)
IF "%1"=="deplibs" (
+ IF "%BE%"=="cygwin-gcc" (
+ ECHO Library dependencies satisfied by Cygwin install
+ EXIT /b 0
+ )
+
IF NOT EXIST build_ci\libs (
MKDIR build_ci\libs
)
MKDIR build_ci\cmake
CD build_ci\cmake
cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE="Release" -D ZLIB_LIBRARY="C:/Program Files (x86)/zlib/lib/zlibstatic.lib" -D ZLIB_INCLUDE_DIR="C:/Program Files (x86)/zlib/include" -D BZIP2_LIBRARIES="C:/Program Files (x86)/bzip2/lib/bz2_static.lib" -D BZIP2_INCLUDE_DIR="C:/Program Files (x86)/bzip2/include" -D LIBLZMA_LIBRARY="C:/Program Files (x86)/xz/lib/lzma.lib" -D LIBLZMA_INCLUDE_DIR="C:/Program Files (x86)/xz/include" -D ZSTD_LIBRARY="C:/Program Files (x86)/zstd/lib/zstd_static.lib" -D ZSTD_INCLUDE_DIR="C:/Program Files (x86)/zstd/include" ..\.. || EXIT /b 1
+ ) ELSE IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ SET CYGWIN_NOWINPATH=1
+ D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a configure" || EXIT /b 1
)
) ELSE IF "%1%"=="build" (
IF "%BE%"=="mingw-gcc" (
) ELSE IF "%BE%"=="msvc" (
CD build_ci\cmake
cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
+ ) ELSE IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ SET MAKE_ARGS=-j
+ SET CYGWIN_NOWINPATH=1
+ D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a build" || EXIT /b 1
)
) ELSE IF "%1%"=="test" (
IF "%BE%"=="mingw-gcc" (
) ELSE IF "%BE%"=="msvc" (
CD build_ci\cmake
cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
+ ) ELSE IF "%BE%"=="cygwin-gcc" (
+ REM SET BS=cmake
+ REM SET CYGWIN_NOWINPATH=1
+ REM SET SKIP_TEST_SPARSE=1
+ ECHO "Skipping tests on this platform"
+ REM D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a test" || EXIT /b 1
+ EXIT /b 0
)
) ELSE IF "%1%"=="install" (
IF "%BE%"=="mingw-gcc" (
) ELSE IF "%BE%"=="msvc" (
CD build_ci\cmake
cmake --build . --target INSTALL --config Release || EXIT /b 1
+ ) ELSE IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ SET CYGWIN_NOWINPATH=1
+ D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a install" || EXIT /b 1
+ REM Exit early here; the build.sh install step for Cygwin prints the version.
+ EXIT /b 0
)
"C:\Program Files (x86)\libarchive\bin\bsdtar.exe" --version
) ELSE IF "%1"=="artifact" (
- C:\windows\system32\tar.exe -c -C "C:\Program Files (x86)" --format=zip -f libarchive.zip libarchive
+ IF "%BE%"=="cygwin-gcc" (
+ SET BS=cmake
+ SET CYGWIN_NOWINPATH=1
+ D:\cygwin\bin\bash.exe --login -c "cd '%cd%'; ./build/ci/build.sh -a artifact" || EXIT /b 1
+ EXIT /b 0
+ )
+
+ C:\windows\system32\tar.exe -c -C "C:\Program Files (x86)" --format=zip -f libarchive.zip libarchive
) ELSE (
ECHO "Usage: %0% deplibs|configure|build|test|install|artifact"
@EXIT /b 0