7195aca54f
At the top of a build tree we configure inside the CMakeFiles directory files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to save information detected about the system and compilers in use. The method of detection and the exact results store varies across CMake versions as things improve. This leads to problems when loading files configured by a different version of CMake. Previously we ignored such existing files only if the major.minor part of the CMake version component changed, and depended on the CMakeCache.txt to tell us the last version of CMake that wrote the files. This led to problems if the user deletes the CMakeCache.txt or we add required information to the files in a patch-level release of CMake (still a "feature point" release by modern CMake versioning convention). Ensure that we always have version-consistent platform information files by storing them in a subdirectory named with the CMake version. Every version of CMake will do its own system and compiler identification checks even when a build tree has already been configured by another version of CMake. Stored results will not clobber those from other versions of CMake which may be run again on the same tree in the future. Loaded results will match what the system and language modules expect. Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to CMAKE_PLATFORM_INFO_DIR to clarify its purpose. The new variable points at the version-specific directory while the old variable did not. |
||
---|---|---|
Docs | ||
Example | ||
Modules | ||
Source | ||
Templates | ||
Tests | ||
Utilities | ||
.gitattributes | ||
.hooks-config.bash | ||
CMakeCPack.cmake | ||
CMakeCPackOptions.cmake.in | ||
CMakeGraphVizOptions.cmake | ||
CMakeLists.txt | ||
CMakeLogo.gif | ||
CTestConfig.cmake | ||
CTestCustom.cmake.in | ||
CTestCustom.ctest.in | ||
ChangeLog.manual | ||
ChangeLog.txt | ||
CompileFlags.cmake | ||
Copyright.txt | ||
DartConfig.cmake | ||
DartLocal.conf.in | ||
Readme.txt | ||
bootstrap | ||
cmake_uninstall.cmake.in | ||
configure | ||
doxygen.config |
Readme.txt
This is CMake, the cross-platform, open-source make system. CMake is distributed under the BSD License, see Copyright.txt. For documentation see the Docs/ directory once you have built CMake or visit http://www.cmake.org. Building CMake ============== Supported Platforms ------------------- MS Windows, Mac OS X, Linux, FreeBSD, Solaris, HP-UX, IRIX, BeOS, QNX Other UNIX-like operating systems may work too out of the box, if not it shouldn't be a major problem to port CMake to this platform. Contact the CMake mailing list in this case: http://www.cmake.org/mailman/listinfo/cmake If you don't have any previous version of CMake already installed -------------------------------------------------------------- * UNIX/Mac OSX/MinGW/MSYS/Cygwin: You need to have a compiler and a make installed. Run the bootstrap script you find the in the source directory of CMake. You can use the --help option to see the supported options. You may want to use the --prefix=<install_prefix> option to specify a custom installation directory for CMake. You can run the bootstrap script from within the CMake source directory or any other build directory of your choice. Once this has finished successfully, run make and make install. So basically it's the same as you may be used to from autotools-based projects: $ ./bootstrap; make; make install * Other Windows: You need to download and install a binary release of CMake in order to build CMake. You can get these releases from http://www.cmake.org/HTML/Download.html . Then proceed with the instructions below. You already have a version of CMake installed --------------------------------------------- You can build CMake as any other project with a CMake-based build system: run the installed CMake on the sources of this CMake with your preferred options and generators. Then build it and install it. For instructions how to do this, see http://www.cmake.org/HTML/RunningCMake.html