Skip to content

Commit b99cd29

Browse files
dschoGit for Windows Build Agent
authored andcommitted
Merge pull request git-for-windows#3327 from dennisameling/fix-host-cpu
cmake(): allow setting HOST_CPU for cross-compilation
2 parents 21b6c1b + 6704995 commit b99cd29

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ jobs:
198198
shell: bash
199199
run: |
200200
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/lib/compat/vcbuild/vcpkg/installed/${{ matrix.arch }}-windows \
201-
-DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON -DCMAKE_GENERATOR_PLATFORM=${{ matrix.arch }} -DVCPKG_ARCH=${{ matrix.arch }}-windows
201+
-DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON -DCMAKE_GENERATOR_PLATFORM=${{ matrix.arch }} -DVCPKG_ARCH=${{ matrix.arch }}-windows -DHOST_CPU=${{ matrix.arch }}
202202
- name: MSBuild
203203
run: |
204204
$sln = if (Test-Path git.slnx) { 'git.slnx' } else { 'git.sln' }

contrib/buildsystems/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,14 @@ endif()
213213
#default behaviour
214214
include_directories(${CMAKE_SOURCE_DIR})
215215
include_directories(${CMAKE_SOURCE_DIR}/lib)
216-
add_compile_definitions(GIT_HOST_CPU="${CMAKE_SYSTEM_PROCESSOR}")
216+
217+
# When cross-compiling, define HOST_CPU as the canonical name of the CPU on
218+
# which the built Git will run (for instance "x86_64").
219+
if(NOT HOST_CPU)
220+
add_compile_definitions(GIT_HOST_CPU="${CMAKE_SYSTEM_PROCESSOR}")
221+
else()
222+
add_compile_definitions(GIT_HOST_CPU="${HOST_CPU}")
223+
endif()
217224
add_compile_definitions(SHA256_BLK INTERNAL_QSORT RUNTIME_PREFIX)
218225
add_compile_definitions(NO_OPENSSL SHA1_DC SHA1DC_NO_STANDARD_INCLUDES
219226
SHA1DC_INIT_SAFE_HASH_DEFAULT=0

0 commit comments

Comments
 (0)