Hi, I like to learn how you use cmake in environments were reproducibility is an issue.
Background: We are used to simply install cmake in default $PATH, but I noticed cmake is not backward-compatible. Of course this is not surprising, it is really complex with many nice features and of course things evolve, so this is fine. As we are supposed to be reproducible (i.e. reproduce old versions in future), we need a way to maintain compatiblity. So far we use defined virtual machines, which have to be archived by each change, and inside install our compiler toolchains in versionized directories. So far this was simple because we just put the needed paths into the TOOLCHAINFILE.cmake files (cmake -DTOOLCHAIN=v1.0.0/target1.cmake -- which internally sets CC to v1.0.0/gcc-1.2.3/bin/a-b-c-gcc etc). This only works if the correct cmake version is called of course. To avoid depending on users PATH (we made bad experiences in the past with that), we like to have a dedicated way to call cmake. First thoughs: So far I think we need to install cmake into a versionized directory and invoke it: v1.0.0/bin/cmake -DTOOLCHAIN=v1.0.0/target1.cmake and maybe remove cmake from PATH to ensure a failure if accidentally calling "cmake". What do you think? >From autotools I know that via alternatives there are things like "autoconf-1.4" pointing to the appropriate autoconf version. This seems to be more comfortable to use. Is something like this possible with cmake? At least we could install cmake in a versionized directory and add an appropriate symbolic link into $PATH. What do you think? cmake internally has mechanisms to find the correct "Modules" etc, so multiple versions can be installed at the same time easily. Is there some standard way to select between these multiple versions? Any thoughts appreciated, Steffen -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake