Windows DLL Dependencies/External non-ROS?
I'm developing a robotics control library that will primarily be used in a cross-platform desktop app. We're developing on Windows mostly, and I build my library as a DLL from a Visual Studio project with manually managed dependencies. I'd like to do prototyping and simulation experiments with my library using ROS, and I'd like my ROS nodes to depend on my DLL.
I've got a working Melodic installation on my Windows dev machine via the Microsoft IoT project https://ms-iot.github.io/ROSOnWindows/ and I can build C++ nodes. Now I'm curious if there are suggested or emerging practices or a recipe for where to actually put custom system-dependency DLLs for ROS on Windows.
It feels like for my use case, it doesn't really matter, and I should pick a rando install location and refer to it in CMake in each of my custom ROS packages by manually setting mylib_INCLUDE_DIRS
and mylib_LIBRARIES
or something like that. I won't be distributing this beyond my team.
But if there's kind of a suggested location or recipe that will make it easier to share across multiple machines, especially something that would make it easier to manage cross-platform ROS work on Windows and Linux, I'd love some input.
I get the impression that "where do you put a DLL?" is not really a question with an answer, and it's someone else's problem for me outside the ROS context.
Update: I think I'm going to try to package my DLL and header as a CMake Config-file package https://cmake.org/cmake/help/v3.18/gu... if that changes any advice.