Merge branch 'js/cmake-vsbuild'
CMake update for vsbuild. * js/cmake-vsbuild: cmake(install): include vcpkg dlls cmake: add a preparatory work-around to accommodate `vcpkg` cmake(install): fix double .exe suffixes cmake: support SKIP_DASHED_BUILT_INS
This commit is contained in:
commit
a548f3e0ad
5
.github/workflows/main.yml
vendored
5
.github/workflows/main.yml
vendored
@ -186,6 +186,11 @@ jobs:
|
|||||||
## Unzip and remove the artifact
|
## Unzip and remove the artifact
|
||||||
unzip artifacts.zip
|
unzip artifacts.zip
|
||||||
rm artifacts.zip
|
rm artifacts.zip
|
||||||
|
- name: initialize vcpkg
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: 'microsoft/vcpkg'
|
||||||
|
path: 'compat/vcbuild/vcpkg'
|
||||||
- name: download vcpkg artifacts
|
- name: download vcpkg artifacts
|
||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
|
@ -58,6 +58,10 @@ if(WIN32)
|
|||||||
|
|
||||||
# In the vcpkg edition, we need this to be able to link to libcurl
|
# In the vcpkg edition, we need this to be able to link to libcurl
|
||||||
set(CURL_NO_CURL_CMAKE ON)
|
set(CURL_NO_CURL_CMAKE ON)
|
||||||
|
|
||||||
|
# Copy the necessary vcpkg DLLs (like iconv) to the install dir
|
||||||
|
set(X_VCPKG_APPLOCAL_DEPS_INSTALL ON)
|
||||||
|
set(CMAKE_TOOLCHAIN_FILE ${VCPKG_DIR}/scripts/buildsystems/vcpkg.cmake CACHE STRING "Vcpkg toolchain file")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(SH_EXE sh PATHS "C:/Program Files/Git/bin")
|
find_program(SH_EXE sh PATHS "C:/Program Files/Git/bin")
|
||||||
@ -691,13 +695,17 @@ endif()
|
|||||||
|
|
||||||
parse_makefile_for_executables(git_builtin_extra "BUILT_INS")
|
parse_makefile_for_executables(git_builtin_extra "BUILT_INS")
|
||||||
|
|
||||||
|
option(SKIP_DASHED_BUILT_INS "Skip hardlinking the dashed versions of the built-ins")
|
||||||
|
|
||||||
#Creating hardlinks
|
#Creating hardlinks
|
||||||
|
if(NOT SKIP_DASHED_BUILT_INS)
|
||||||
foreach(s ${git_SOURCES} ${git_builtin_extra})
|
foreach(s ${git_SOURCES} ${git_builtin_extra})
|
||||||
string(REPLACE "${CMAKE_SOURCE_DIR}/builtin/" "" s ${s})
|
string(REPLACE "${CMAKE_SOURCE_DIR}/builtin/" "" s ${s})
|
||||||
string(REPLACE ".c" "" s ${s})
|
string(REPLACE ".c" "" s ${s})
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}/CreateLinks.cmake "file(CREATE_LINK git${EXE_EXTENSION} git-${s}${EXE_EXTENSION})\n")
|
file(APPEND ${CMAKE_BINARY_DIR}/CreateLinks.cmake "file(CREATE_LINK git${EXE_EXTENSION} git-${s}${EXE_EXTENSION})\n")
|
||||||
list(APPEND git_links ${CMAKE_BINARY_DIR}/git-${s}${EXE_EXTENSION})
|
list(APPEND git_links ${CMAKE_BINARY_DIR}/git-${s}${EXE_EXTENSION})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CURL_FOUND)
|
if(CURL_FOUND)
|
||||||
set(remote_exes
|
set(remote_exes
|
||||||
@ -813,15 +821,19 @@ list(TRANSFORM git_shell_scripts PREPEND "${CMAKE_BINARY_DIR}/")
|
|||||||
list(TRANSFORM git_perl_scripts PREPEND "${CMAKE_BINARY_DIR}/")
|
list(TRANSFORM git_perl_scripts PREPEND "${CMAKE_BINARY_DIR}/")
|
||||||
|
|
||||||
#install
|
#install
|
||||||
install(TARGETS git git-shell
|
foreach(program ${PROGRAMS_BUILT})
|
||||||
|
if(program STREQUAL "git" OR program STREQUAL "git-shell")
|
||||||
|
install(TARGETS ${program}
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION bin)
|
||||||
|
else()
|
||||||
|
install(TARGETS ${program}
|
||||||
|
RUNTIME DESTINATION libexec/git-core)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
install(PROGRAMS ${CMAKE_BINARY_DIR}/git-cvsserver
|
install(PROGRAMS ${CMAKE_BINARY_DIR}/git-cvsserver
|
||||||
DESTINATION bin)
|
DESTINATION bin)
|
||||||
|
|
||||||
list(REMOVE_ITEM PROGRAMS_BUILT git git-shell)
|
|
||||||
install(TARGETS ${PROGRAMS_BUILT}
|
|
||||||
RUNTIME DESTINATION libexec/git-core)
|
|
||||||
|
|
||||||
set(bin_links
|
set(bin_links
|
||||||
git-receive-pack git-upload-archive git-upload-pack)
|
git-receive-pack git-upload-archive git-upload-pack)
|
||||||
|
|
||||||
@ -834,12 +846,12 @@ install(CODE "file(CREATE_LINK ${CMAKE_INSTALL_PREFIX}/bin/git-shell${EXE_EXTENS
|
|||||||
|
|
||||||
foreach(b ${git_links})
|
foreach(b ${git_links})
|
||||||
string(REPLACE "${CMAKE_BINARY_DIR}" "" b ${b})
|
string(REPLACE "${CMAKE_BINARY_DIR}" "" b ${b})
|
||||||
install(CODE "file(CREATE_LINK ${CMAKE_INSTALL_PREFIX}/bin/git${EXE_EXTENSION} ${CMAKE_INSTALL_PREFIX}/libexec/git-core/${b}${EXE_EXTENSION})")
|
install(CODE "file(CREATE_LINK ${CMAKE_INSTALL_PREFIX}/bin/git${EXE_EXTENSION} ${CMAKE_INSTALL_PREFIX}/libexec/git-core/${b})")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
foreach(b ${git_http_links})
|
foreach(b ${git_http_links})
|
||||||
string(REPLACE "${CMAKE_BINARY_DIR}" "" b ${b})
|
string(REPLACE "${CMAKE_BINARY_DIR}" "" b ${b})
|
||||||
install(CODE "file(CREATE_LINK ${CMAKE_INSTALL_PREFIX}/libexec/git-core/git-remote-http${EXE_EXTENSION} ${CMAKE_INSTALL_PREFIX}/libexec/git-core/${b}${EXE_EXTENSION})")
|
install(CODE "file(CREATE_LINK ${CMAKE_INSTALL_PREFIX}/libexec/git-core/git-remote-http${EXE_EXTENSION} ${CMAKE_INSTALL_PREFIX}/libexec/git-core/${b})")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
install(PROGRAMS ${git_shell_scripts} ${git_perl_scripts} ${CMAKE_BINARY_DIR}/git-p4
|
install(PROGRAMS ${git_shell_scripts} ${git_perl_scripts} ${CMAKE_BINARY_DIR}/git-p4
|
||||||
|
Loading…
Reference in New Issue
Block a user