зеркало из https://github.com/microsoft/git.git
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:
Коммит
a548f3e0ad
|
@ -186,6 +186,11 @@ jobs:
|
|||
## Unzip and remove the artifact
|
||||
unzip artifacts.zip
|
||||
rm artifacts.zip
|
||||
- name: initialize vcpkg
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: 'microsoft/vcpkg'
|
||||
path: 'compat/vcbuild/vcpkg'
|
||||
- name: download vcpkg artifacts
|
||||
shell: powershell
|
||||
run: |
|
||||
|
|
|
@ -58,6 +58,10 @@ if(WIN32)
|
|||
|
||||
# In the vcpkg edition, we need this to be able to link to libcurl
|
||||
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()
|
||||
|
||||
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")
|
||||
|
||||
option(SKIP_DASHED_BUILT_INS "Skip hardlinking the dashed versions of the built-ins")
|
||||
|
||||
#Creating hardlinks
|
||||
if(NOT SKIP_DASHED_BUILT_INS)
|
||||
foreach(s ${git_SOURCES} ${git_builtin_extra})
|
||||
string(REPLACE "${CMAKE_SOURCE_DIR}/builtin/" "" 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")
|
||||
list(APPEND git_links ${CMAKE_BINARY_DIR}/git-${s}${EXE_EXTENSION})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(CURL_FOUND)
|
||||
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}/")
|
||||
|
||||
#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)
|
||||
else()
|
||||
install(TARGETS ${program}
|
||||
RUNTIME DESTINATION libexec/git-core)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
install(PROGRAMS ${CMAKE_BINARY_DIR}/git-cvsserver
|
||||
DESTINATION bin)
|
||||
|
||||
list(REMOVE_ITEM PROGRAMS_BUILT git git-shell)
|
||||
install(TARGETS ${PROGRAMS_BUILT}
|
||||
RUNTIME DESTINATION libexec/git-core)
|
||||
|
||||
set(bin_links
|
||||
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})
|
||||
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()
|
||||
|
||||
foreach(b ${git_http_links})
|
||||
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()
|
||||
|
||||
install(PROGRAMS ${git_shell_scripts} ${git_perl_scripts} ${CMAKE_BINARY_DIR}/git-p4
|
||||
|
|
Загрузка…
Ссылка в новой задаче