If shared libraries on Windows are truly shared, then why so many applications carry their own copies of that same Qt and Python? Examples from my own Program Files: Anki, Blender, Mixxx, Mumble, TortoiseHg.
On Mon, Feb 4, 2013 at 2:15 PM, Michael Wild <[email protected]> wrote: > Hi > > > On Mon, Feb 4, 2013 at 12:43 PM, Ansis Māliņš <[email protected]>wrote: > >> I'm just learning CMake and posting questions in this mailing list, but >> the answers I get only confuse me. It seems I must take a step back and ask >> more general questions. >> >> In Linux there is a package for everything, so you just find_package >> whatever you need. >> >> But on Windows most libraries exist only as zip files that you're >> supposed to unpack right in your build environment and ship them together >> with the executable. (Basically, in practice, there is no such thing as >> shared libraries in Windows - nothing for find_package to find.) >> > > What then are DLL's? They are the shared libraries of the Windows world. > True, the semantics are a bit different, but they are dynamically linked. > It's also not true that on Windows everything is a "zip files that you're > supposed to unpack right in your build environment". If you don't believe > me, try to take a look at Qt or Python. > > >> >> So how am I supposed to write portable CMake scripts in face of this? >> > > > Often the Windows packages are installed into a few well known locations, > or even better, create a registry key containing installation information > which you then can use to find the software in your CMake code. Also, for > SDL I would recommend to use the FindSDL.cmake module (not sure whether > that works with SDL2, though), and only if that fails, to resort to > ExternalProject. It is good practice to offer the user the choice which way > should be used through a cached variable. > > HTH > > Michael >
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
