c++ - programa - instalar ndk en android studio
¿Cómo hago cmake salida en un ''bin'' dir? (5)
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 los complementos, las bibliotecas dinámicas, en la estructura del directorio de la fuente. ¿Cómo puedo hacer que cmake guarde los archivos en algo así como un directorio ./bin?
Como en la respuesta de Oleg, creo que la variable correcta para establecer es CMAKE_RUNTIME_OUTPUT_DIRECTORY . usamos lo siguiente en nuestra raíz CMakeLists.txt:
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
También puede especificar los directorios de salida por objetivo:
set_target_properties( targets...
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
En ambos casos, puede agregar _[CONFIG]
al nombre de variable / propiedad para hacer que el directorio de salida se aplique a una configuración específica (los valores estándar para config son DEBUG
, RELEASE
, MINSIZEREL
y RELWITHDEBINFO
).
Usar set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "/some/full/path/to/bin")
Use la variable EXECUTABLE_OUTPUT_PATH para establecer la ruta necesaria. Para más detalles, consulte la documentación en línea de cmake:
$ cat CMakeLists.txt
project (hello)
set(EXECUTABLE_OUTPUT_PATH "bin")
add_executable (hello hello.c)
cat CMakeLists.txt
project (hello)
set(CMAKE_BINARY_DIR "/bin")
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
add_executable (hello hello.c)