[CMake] Missing dll on program startup - a way automate it?
cen
imbacen at gmail.com
Sat Nov 23 08:59:41 EST 2019
Thanks, this is exactly what I need.
Unfortunately constructing the path expansion involves some gymnastics.
If Find* exposes a list of directories it's just a simple list join (->
boost) but if it does not it is more involved..
list(JOIN Boost_LIBRARY_DIRS ";" BOOST_PATH)
set(ZLIB_PATH "")
FOREACH(LIB_NAME ${ZLIB_LIBRARIES})
get_filename_component(LDIR ${LIB_NAME} DIRECTORY)
if (NOT ZLIB_PATH MATCHES "${LDIR}")
set(ZLIB_PATH "${ZLIB_PATH};${LDIR}")
endif()
ENDFOREACH()
set(EXPAND_PATH "${ZLIB_PATH};${BOOST_PATH}")
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT
"PATH=%PATH%${EXPAND_PATH}")
Is there a way to get a list of all additional library directories? That
would be ideal but I couldn't find anything.
On 11/20/19 9:32 AM, Petr Kmoch wrote:
> Hi.
>
> I haven't used it yet, but I believe the target property
> https://cmake.org/cmake/help/latest/prop_tgt/VS_DEBUGGER_ENVIRONMENT.html
> might help you.
>
> Petr
>
> On Wed, 20 Nov 2019 at 01:02, cen <imbacen at gmail.com
> <mailto:imbacen at gmail.com>> wrote:
>
> Hi
>
> Perhaps not really a cmake problem but here we go. An exe depends
> on a
> few DLLs which I ship in the repo so the rest of the devs don't
> have to
> build them or fetch them somewhere else. Cmake finds the libraries
> and
> project builds just fine, until you run it from VS.. you are
> welcomed by
> the "missing dll" windows error. So I have to copy all the dlls to
> the
> build/run folder to make it work but this is a manual step. Is there
> some way in cmake/VS to somehow tell the IDE to append the execution
> $PATH with all the specified library dependencies or something along
> those lines? Ideally my goal is to just run cmake, open VS, build the
> project and run, all automagical.
>
> I would prefer to keep the dynamic linking.
>
>
> Best regards, cen
>
> --
>
> Powered by kitware.com/cmake <http://kitware.com/cmake>
>
> Kitware offers various services to support the CMake community.
> For more information on each offering, please visit
> https://cmake.org/services
>
> Visit other Kitware open-source projects at
> https://www.kitware.com/platforms
>
> Follow this link to subscribe/unsubscribe:
> https://cmake.org/mailman/listinfo/cmake
>
> This mailing list is deprecated in favor of
> https://discourse.cmake.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20191123/f3962526/attachment.html>
More information about the CMake
mailing list