Структура директорий следующая:
C:\DOCUMENTS AND SETTINGS\user\DESKTOP\CMAKE_TEST │ CMakeLists.txt │ ├───cli │ │ CMakeLists.txt │ │ │ └───src │ main.cpp │ ├───core │ │ CMakeLists.txt │ │ │ ├───include │ │ core.hpp │ │ │ └───src │ core.cpp │ core.hpp │ └───ide_files └───vs │ CMake_test.sln │ ├───cli │ cli.vcproj │ └───core core.vcproj
В студии нужно создать солюшен и добавить в него два проекта, соответствующие подпроектам CMake, подробно это описано здесь. В каждый из проектов нужно добавить соответствующие исходные файлы (правой кнопкой по проекту --> Add --> Existing Item). Но команды для сборки проекта будут другие:
set BUILD_DIR="$(TargetDir)$(ConfigurationName)" set PROJECT_DIR="$(TargetDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake all
set BUILD_DIR="$(TargetDir)$(ConfigurationName)" set PROJECT_DIR="$(TargetDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake clean all
set BUILD_DIR="$(TargetDir)$(ConfigurationName)" set PROJECT_DIR="$(TargetDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake clean
В поле Output должно быть написано core.lib для проекта core и cli.exe для проекта cli.
Исходный код здесь.
Update: Выше указаны команды сборки для проекта cli. Для проекта core необходимо изменить вторую строку:
set PROJECT_DIR="$(TargetDir)..\..\..\core"
Update1: для Visual Studio 2010 первые две и 6-ая строки должны быть другими, поскольку изменились имена встроенных переменных (пример для проекта cli):
set BUILD_DIR="$(ProjectDir)$(Configuration)" set PROJECT_DIR="$(ProjectDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(Configuration) -G "NMake Makefiles" %PROJECT_DIR% nmake all
К сожалению у меня не генерируется cli.exe :( , в
ОтветитьУдалитьcli\Debug\ находятся только следующие файлы:
CMakeFiles\ Makefile cmake_install.cmake BuildLog.htm core.lib core.pdb CMakeCache.txt. В чем может быть проблема. Никаких ошибок не выдает.
Файл проекта содержал ошибку: была неправильно указана директория проекта (2-ая строка). Новый проект доступен здесь.
ОтветитьУдалитьcпасибо, работает :)
ОтветитьУдалить