David Williams wrote:
Actually I think it's down to my slightly broken Windows setup, I've got a feeling I'm not doing things quite 'the CMake way'. For example, after building I have to build the 'Install' target (e.g. make install on Linux) before I can run the example application or otherwise it doesn't find the .dlls. I think the testvector and testvolume applications are having the same problem, and so the Experimental build is failing.
Both the tests and the example work fine from the build dir here on Linux. The way it works in Linux is that when the example is built, during the linking phase, a tag called the RPATH is put into the ELF header. This contains a list of directories in which to search for dependency libraries during runtime (i.e.
ld will check the RPATH and find the library). CMake is set up such that when you run
make it sets the RPATH to point to the build directory (build/library/PolyVoxCore) but then, when you install it re-links the executable to point to where it would expect to find the library when installed (<prefix>/lib/).
According to the
mailing list windows has no such thing. Instead, I think it should suffice to copy the libraries in the same folder as the examples and tests (or vice versa). The other option is to build both shared and static libraries and link the tests and executables against the static ones.