Ответ 1
Вы не можете - по крайней мере, на данный момент, см. 0014999: изменение запроса промежуточной каталогов Visual Studio 2012 - изменение промежуточного каталоги в CMake и для генераторов makefile - как в вашем случае NMake
- вы можете иметь только один тип конфигурации сборки для каталога вывода двоичной сборки.
Так как @usr1234567 прокомментировал, использование двух каталогов сборки - это правильная вещь.
Или - если это опция - используйте генератор мультиконфигурации Visual Studio. Он точно использует промежуточные каталоги, которые вы предложили:
project.dir/Debug/...
project.dir/Release/...
NMake vs. Visual Studio Solution в командной строке
Различия также можно увидеть в сценариях оболочки, которые я обычно использую для создания моих систем на основе CMake.
Итак, NMake
будет выглядеть примерно так:
@ECHO off
"\Program Files (x86)\Microsoft Visual Studio 14.0\vc\vcvarsall.bat" x64
IF NOT EXIST "x64\Debug\Makefile" (
cmake -H"." -B"x64/Debug" -DCMAKE_BUILD_TYPE=Debug -G"NMake Makefiles"
)
cmake --build "x64/Debug" --target "project"
IF NOT EXIST "x64\Release\Makefile" (
cmake -H"." -B"x64/Release" -DCMAKE_BUILD_TYPE=Release -G"NMake Makefiles"
)
cmake --build "x64/Release" --target "project"
И мой предпочтительный вариант решения Visual Studio Solution выглядит примерно так:
@ECHO off
IF NOT EXIST "x64\*.sln" (
cmake -H"." -B"x64" -G"Visual Studio 14 2015 Win64"
)
cmake --build "x64" --target "project" --config "Debug"
cmake --build "x64" --target "project" --config "Release"
Дополнительные ссылки