-
Notifications
You must be signed in to change notification settings - Fork 961
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
CMake: install draco.dll in bin folder #838
CMake: install draco.dll in bin folder #838
Conversation
this option allows to disable installation of static lib when shared lib is also built for non-msvc compilers
58d4a95
to
88b91d7
Compare
I'm not sure why its purpose isn't obvious: we're making sure the installed dev package can function by building something that requires draco.
Discussions about this here aren't that productive. If you believe your above statement to be correct, please update your PR and we'll see how the CI run goes.
I have no idea what this statement means. BUILD_SHARED_LIBS is exactly how you control your build configuration per CMake documentation. Please elaborate. Edit to add: From BUILD_SHARED_LIBS (currently tagged as latest, but actually v3.23.0):
|
I believe the above exit code means the DLL not found at runtime. |
- CMAKE_PREFIX_PATH, rpath injection etc are now defined externally in test.py - prefer cxx_std_11 compile feature instead of CXX_STANDARD - inject dll location to PATH env var on windows instead of copying the dll
|
When the install test runs:
I suppose it's a bit hacky to abuse BUILD_SHARED_LIBS in the context of the install test program CMake build, but in the context of the test and what is being tested it makes perfect sense to me. I'm not sure why you're conflating the usage of BUILD_SHARED_LIBS in the test script with normal CMake usage or practices. Adding another variable is silly when BUILD_SHARED_LIBS can be reused in the test. As you say: it does not influence an executable only CMake build. |
Currently it's I'll change the install destination (the most common destination is |
I'm uncertain how you're reaching that conclusion for |
Yes, but the test was hiding an issue since |
I also see that config version file name is wrong, it should be I'll fix this also. |
Agreed on both counts-- I'm going to fix those out of band. I don't want to mix obvious bug fixes in with this PR that's adding functionality. |
I guess |
Sounds good. The ability to build shared+static targets simultaneously on macos/linux is not something I want to do drop without a really good reason. |
A good reason would be to provide a unique |
CMake isn't the only build system draco needs to support, and MSVC is not the only toolchain. |
… with CMAKE_INSTALL_RPATH
Fix windows DLL install location and update the install test with the following - Use cxx_std_11 compile feature instead of forcing CXX_STANDARD to C++11. - Move install test prefix handling to test.py (was in the install test CMakeLists.txt). - Use CMAKE_INSTALL_RPATH and add dylib location to PATH instead of copying it only on Windows-- makes test more generic and makes install_test much simpler.
closes #834