visual-studio-2012 - proyecto - release debug visual studio
Cree un directorio basado en el tipo de compilaciĆ³n Release/Debug en CMake (1)
Estoy trabajando en el comando post build, INSTALL. Después de construir mi proyecto, construyo el proyecto INSTALL, que copia los directorios a la ubicación especificada por el usuario. Tengo ese funcionamiento bien usando
instalar (TARGETS DESTINO DE EJECUCIÓN DE LA EJECUCIÓN CMAKE_INSTALL_PREFIX / USERSPECIFIEDLOCATION ).
Me gustaría cambiar esto a
instalar (TARGETS DESTINO DE EJECUCIÓN DE EJECUCIÓN CMAKE_INSTALL_PREFIX / DEBUG o LIBERACIÓN ).
Por lo tanto, si construyo usando depuración en VS2012, debería copiar ejecutable a CMAKE_INSTALL_PREFIX / DEBUG en lugar de CMAKE_INSTALL_PREFIX / USERSPECIFIEDLOCATION .
Gracias por adelantado.
Encontrarás una respuesta a tu pregunta si miras más de cerca a la documentación :
The CONFIGURATIONS argument specifies a list of build configurations
for which the install rule applies (Debug, Release, etc.).
Ejemplo:
add_executable(boo boo.cpp)
install(
TARGETS
boo
CONFIGURATIONS
Debug
DESTINATION
bin/Debug
)
install(
TARGETS
boo
CONFIGURATIONS
Release
DESTINATION
bin/Release
)
DEBUG_POSTFIX
Pero creo que todo lo que necesita es CONFIG _POSTFIX target property:
add_executable(bar bar.cpp)
add_library(baz baz.cpp)
set_target_properties(bar baz PROPERTIES DEBUG_POSTFIX d)
install(TARGETS bar DESTINATION bin)
install(TARGETS baz DESTINATION lib)
El objetivo de install
edificio con la configuración de Release
produce: bar.exe
y baz.lib
. El objetivo de install
edificio con la configuración de Debug
produce: bard.exe
y bazd.lib
.
Nota
Tenga en cuenta que para las bibliotecas puede usar CMAKE_DEBUG_POSTFIX (no sé por qué, pero CMAKE_DEBUG_POSTFIX
no se aplica a los archivos ejecutables):
set(CMAKE_DEBUG_POSTFIX d)
add_library(baz baz.cpp)
install(TARGETS baz DESTINATION lib)
Relacionado
target_link_libraries . Ver debug
y optimized
.