Actualmente estoy construyendo un proyecto con una estructura de complemento. Estoy usando CMake para compilar el proyecto. Los complementos se compilan en directorios separados. Mi problema es que CMake compila y guarda los binarios y complementos, bibliotecas dinámicas, en la estructura de directorios de la fuente. ¿Cómo hago para que CMake guarde los archivos en algo así como un directorio ./bin ?
188
CMAKE_ARCHIVE_OUTPUT_DIRECTORY
, considerando que el comandoinstall(TARGETS <target_name>)
todavía se queja de "dado que no hay DESTINO DE TIEMPO DE EJECUCIÓN para el objetivo ejecutable"? Esta variable supuestamente proporciona un valor predeterminado, por lo tanto, elinstall
comando no debería quejarse de la ausencia de aRUNTIME DESTINATION
.Utilizar
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "/some/full/path/to/bin")
fuente
Use la
EXECUTABLE_OUTPUT_PATH
variable CMake para establecer la ruta necesaria. Para más detalles, consulte la documentación en línea de CMake:CMake 2.8.8 Documentación
fuente
En cuanto a mí, estoy usando cmake 3.5, el siguiente (
set variable
) no funciona:pero esto funciona (
set set_target_properties
):fuente
fuente
use esta configuración de línea:
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build/)
coloque su proyecto CMakeLists.txt.
este $ {PROJECT_SOURCE_DIR} es su directorio fuente actual donde se ubica el proyecto.
y si deambular por qué es $ {EXECUTABLE_OUTPUT_PATH}
verifique este archivo y
CMakeCache.txt
luego busque la palabra claveoutput path
,todas las variables definidas aquí, darían una explicación completa del proyecto
setting·
fuente
fuente
Independientemente de si defino esto en el CMakeLists.txt principal o en los individuales, todavía asume que quiero todas las bibliotecas y contenedores fuera de la ruta principal, que es el supuesto menos útil de todos.
fuente
Para agregar a esto:
Si está utilizando CMAKE para generar una solución de Visual Studio y desea que Visual Studio envíe archivos compilados a / bin, la respuesta de Peter debe modificarse un poco:
fuente