Чтобы перейти от исходного кода C ++ к двоичному модулю, процесс примерно такой:
set_of_source_files[a.cpp, b.cpp, ...] // conceptually, it doesn't matter where these are
||
|| Compiler <- [compiler_settings]
\/
set_of_object_files
||
|| Linker <- [linker_settings]
\/
binary module (dynamic library or executable)
Теперь Я знаю Проекты Visual Studio, они
- Определить набор исходных файлов (структура и расположение каталогов в принципе не имеют значения / определены внутри файла проекта)
- Определить параметры компилятора для всех (необязательно, каждого) исходных файлов
- Определите настройки компоновщика
- Определите, куда поместить сгенерированные выходные файлы
Я не знаю cmake , но, очевидно,(? ), информация, которую вы конфигурируете с помощью cmake, немного отличается от информации, которую вы кладете в vc[x]proj
файлы.
Является ли "конфигурация cmake" просто другим форматированным "vcproj"file "или есть концептуальная разница? (За исключением очевидного (я предполагаю), что информация, которую я помещаю в конфигурацию cmake, не зависит от платформы.)
Альтернативным поворотом этого вопроса будетответить - в контекстеt выше - почему / если (?) можно переключиться на cmake, когда только компилируется для Windows с Visual-C ++.