Вы не указываете платформу, о которой говорите. Генераторы на основе Makefiles будут создавать только одну конфигурацию за раз, и обычным способом построения нескольких конфигураций является использование отдельных деревьев сборки, например, один для 64-битной Linux на Intel, один для 32-битной Windows и т. д. Большинство проектов CMake советуют из исходных сборок, и при условии, что вы правильно написали файлы CMakeLists, у вас могут быть ~ / src / YourProject и ~ / build / YourProject -Release, ~ / build / YourProject-Debug.
Это рекомендуемый способ сделать это, предполагая, что в вашем исходном дереве нет никакого CMakeCache.txt и т. Д. Затем вы можете запустить cmake -DCMAKE_BUILD_TYPE: STRING = Debug ~ / src / YourProject в каталоге отладки и аналогично для выпуска. Преимущество этого заключается в том, что вы можете указывать зависимые проекты на соответствующую конфигурацию.
Проект Boost CMake также исследовал создание всех конфигураций в одном и том же дереве сборки, используя дифференцирование имени библиотеки. На это стоит обратить внимание, если вам необходимо собрать все конфигурации в одном дереве сборки.