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 .