c++ - online - descarga cmake
cmake crea múltiples objetivos en diferentes directorios de compilación (1)
No. La recomendación sería simplemente poner sus pasos manuales en un script de shell.
CMake solo puede manejar un entorno de compilación / creación a la vez (si cambia el compilador, necesita un directorio de salida binario diferente).
Especialmente un archivo de cadena de herramientas que contiene SET(CMAKE_SYSTEM_NAME ...)
cambia todo el resultado del proceso de configuración / generación.
Para detalles sobre lo que CMake ve: CMake: ¿En qué orden están los archivos analizados (Caché, Herramienta, ...)?
Y puede hacer uso de algunas opciones de línea de comandos de CMake en su script de shell:
if [ ! -d hostBuild ]; then
cmake -E make_directory hostBuild
cmake -E chdir hostBuild cmake ..
fi
cmake --build hostBuild
...
Tengo la siguiente estructura de cmake
CMakelists.txt
toolchain.cmake
folder1
----CMakelists.txt
folder2
----CMakelists.txt
etc..
mi primer nivel CMakelists.txt incluye los otros subdirectorios. Ahora quiero construir mi código para un objetivo diferente.
La forma manual es
1.
mkdir hostBuild
cd hostBuild
cmake ..
make
2.
mkdir crossBuild
cd crossBuild
cmake .. --DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
make
¿Es posible que este proceso pueda ejecutarse automáticamente?
Por ejemplo, solo tengo que ejecutar cmake. en mi primer nivel
Es algo como esto es posible?