Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DLLs missing when building Git using CMake #2970

Closed
dennisameling opened this issue Jan 8, 2021 · 6 comments · Fixed by #2971
Closed

DLLs missing when building Git using CMake #2970

dennisameling opened this issue Jan 8, 2021 · 6 comments · Fixed by #2971

Comments

@dennisameling
Copy link

When following the steps in #2915 (comment) to generate native arm64 binaries for Git for Windows, all DLLs like iconv-2.dll and zlib1.dll are missing in the folders with the generated binaries:

image

When I copy the required DLLs manually from C:\git-sdk-64\usr\src\git\compat\vcbuild\vcpkg\installed\arm64-windows\bin, all is good:

image

Same goes for /arm64/libexec/git-core - manually adding the DLLs works.

Does anyone have an idea how we can copy the DLLs during the CMake build process as well? I assume this needs to happen in INSTALL.vcxproj somehow? Happy to provide a PR if someone could put me in the right direction 😊

@dscho
Copy link
Member

dscho commented Jan 8, 2021

Maybe we have to imitate the approach outlined in the first response of https://stackoverflow.com/questions/44650008/cmake-install-third-party-dll-dependency ?

@jeffhostetler
Copy link

(i'm on my ipad here, so i'm doing this from memory.)

Look in compat/win32/copy_dlls.bat

it will copy them into those two directories.
it may be that we need to add a call to it in the vcproj step.

jeff

@dscho
Copy link
Member

dscho commented Jan 8, 2021

We may need to imitate the copy_dlls.bat steps as outlined here:

add_custom_command(TARGET mylib POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy mylib.dll ${myapp_BINARY_DIR}/. )

@dscho
Copy link
Member

dscho commented Jan 8, 2021

(But I still hope that we find a way to do this in an install() step...)

@dscho
Copy link
Member

dscho commented Jan 8, 2021

Oooh, ooh, it might be controlled by set(VCPKG_APPLOCAL_DEPS ON)...

@dennisameling
Copy link
Author

That works @dscho - thanks! Created a PR: #2971

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants