Merge branch 'ss/cmake-build'
CMake support to build with MSVC for Windows bypassing the Makefile. * ss/cmake-build: ci: modification of main.yml to use cmake for vs-build job cmake: support for building git on windows with msvc and clang. cmake: support for building git on windows with mingw cmake: support for testing git when building out of the source tree cmake: support for testing git with ctest cmake: installation support for git cmake: generate the shell/perl/python scripts and templates, translations Introduce CMake support for configuring Git
This commit is contained in:
commit
a30e4c531d
39
.github/workflows/main.yml
vendored
39
.github/workflows/main.yml
vendored
@ -145,13 +145,6 @@ jobs:
|
|||||||
## Unzip and remove the artifact
|
## Unzip and remove the artifact
|
||||||
unzip artifacts.zip
|
unzip artifacts.zip
|
||||||
rm artifacts.zip
|
rm artifacts.zip
|
||||||
- name: generate Visual Studio solution
|
|
||||||
shell: powershell
|
|
||||||
run: |
|
|
||||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
|
||||||
make NDEBUG=1 DEVELOPER=1 vcxproj
|
|
||||||
"@
|
|
||||||
if (!$?) { exit(1) }
|
|
||||||
- name: download vcpkg artifacts
|
- name: download vcpkg artifacts
|
||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
@ -163,6 +156,17 @@ jobs:
|
|||||||
Remove-Item compat.zip
|
Remove-Item compat.zip
|
||||||
- name: add msbuild to PATH
|
- name: add msbuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v1.0.0
|
uses: microsoft/setup-msbuild@v1.0.0
|
||||||
|
- name: copy dlls to root
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
& compat\vcbuild\vcpkg_copy_dlls.bat release
|
||||||
|
if (!$?) { exit(1) }
|
||||||
|
- name: generate Visual Studio solution
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
|
||||||
|
-DIconv_LIBRARY=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/lib/libiconv.lib -DIconv_INCLUDE_DIR=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/include \
|
||||||
|
-DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
|
||||||
- name: MSBuild
|
- name: MSBuild
|
||||||
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
|
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
|
||||||
- name: bundle artifact tar
|
- name: bundle artifact tar
|
||||||
@ -171,8 +175,6 @@ jobs:
|
|||||||
MSVC: 1
|
MSVC: 1
|
||||||
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
|
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
|
||||||
run: |
|
run: |
|
||||||
& compat\vcbuild\vcpkg_copy_dlls.bat release
|
|
||||||
if (!$?) { exit(1) }
|
|
||||||
& git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
& git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
||||||
mkdir -p artifacts &&
|
mkdir -p artifacts &&
|
||||||
eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\"
|
eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\"
|
||||||
@ -203,7 +205,7 @@ jobs:
|
|||||||
- name: extract build artifacts
|
- name: extract build artifacts
|
||||||
shell: bash
|
shell: bash
|
||||||
run: tar xf artifacts.tar.gz
|
run: tar xf artifacts.tar.gz
|
||||||
- name: test (parallel)
|
- name: test
|
||||||
shell: powershell
|
shell: powershell
|
||||||
env:
|
env:
|
||||||
MSYSTEM: MINGW64
|
MSYSTEM: MINGW64
|
||||||
@ -214,12 +216,19 @@ jobs:
|
|||||||
# Let Git ignore the SDK and the test-cache
|
# Let Git ignore the SDK and the test-cache
|
||||||
printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
|
printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
|
||||||
|
|
||||||
cd t &&
|
ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||||
PATH=\"`$PWD/helper:`$PATH\" &&
|
|
||||||
test-tool.exe run-command testsuite --jobs=10 -V -x --write-junit-xml \
|
|
||||||
`$(test-tool.exe path-utils slice-tests \
|
|
||||||
${{matrix.nr}} 10 t[0-9]*.sh)
|
|
||||||
"@
|
"@
|
||||||
|
- name: ci/print-test-failures.sh
|
||||||
|
if: failure()
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
|
||||||
|
- name: Upload failed tests' directories
|
||||||
|
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: failed-tests-windows
|
||||||
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
regular:
|
regular:
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
|
1000
contrib/buildsystems/CMakeLists.txt
Normal file
1000
contrib/buildsystems/CMakeLists.txt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user