Я не прошу об этом только для себя. Надеюсь, этот вопрос станет ссылкой на многих новичков, которые, как я, обнаружили, что это совершенно озадачивает то, что именно происходит за кулисами, когда для такого маленького файла CMakeLists.txt
cmake_minimum_required (VERSION 2.6)
project(Tutorial)
add_executable(Tutorial tutorial.cpp)
и такой маленький tutorial.cpp
int main() { return 0; }
существует так много файлов, сгенерированных
CMakeCache.txt cmake_install.cmake Makefile
CMakeLists.txt tutorial.cpp
и CMakeFiles
с таким количеством файлов и папок
CMakeCCompiler.cmake CMakeOutput.log Makefile.cmake
cmake.check_cache CMakeSystem.cmake progress.marks
CMakeCXXCompiler.cmake CMakeTmp TargetDirectories.txt
CMakeDetermineCompilerABI_C.bin CompilerIdC Tutorial.dir
CMakeDetermineCompilerABI_CXX.bin CompilerIdCXX
CMakeDirectoryInformation.cmake Makefile2
Не понимая, что происходит за кулисами (т.е. почему файлы должны были быть созданы и какова их цель), было самым большим препятствием для обучения CMake.
Если кто-нибудь знает, не могли бы вы объяснить это ради потомства? Какова цель этих файлов, и когда я набираю cmake .
, что именно конфигурирует и генерирует cmake до того, как он построит проект?