OK, I have a fragile workaround for you, but it should get you going...
Normally, in a CMake system, the source is one place and the build files are another very separate place. This has the advantage that you can easily delete all the build files and start over -- and you haven't messed with your source at all.
For the libraries, the OpenVSP source includes the libs as *.zip files. These get unzipped into place A in the build directory -- which then acts as a source directory. The library is then built in place B in the build directory. So this time, there are kinda two 'source' locations -- one in a 'build' location...
This workaround involves changing a file in the place where the library source is unzipped (in a build directory). This will work fine, but if you delete the build directory, CMake will unzip the original files again -- and you'll have to make the same change again. In the longer term, I'll be able to fix the version contained inside the *.zip file and nobody will have this problem again. Until then, this is the easiest way.
Others have run into this problem and have posted the fix
here. Go to `
buildlibs/DELABELLA-prefix/src/DELABELLA/delabella.cpp` and add `
#include <time.h>` at the top of the file (without the quotes).
Once you do that, you should be able to run 'make' once more in the libraries build directory. You should then continue on to the OpenVSP build directory and run cmake followed by make, etc.
No, I don't have a good site or book to recommend for this kind of knowledge. It is mostly just a pile of stuff you pick up in pieces along the way.
To use a compiled language (say C/C++) you need to be able to work with a compiler and linker (this included when things aren't working). On a non-trivial program, you need to know how to work with a build system. On a complex program, you likely need to know how to work with a meta-build system (CMake). In all situations, the predominance of books out there are written to tell you about things going right. However, we spend all our time fixing things when they go wrong.
I don't know of any good resource that talks about C++ (language)/compilers/linkers/build/CMake as a stack of tools that work together -- and in particular how to diagnose and fix things when it is broken.
I call these 'toolchain problems' and you always have to fix your toolchain problems before you can set about real work. I hate toolchain problems...
Rob