build - course - descarga cmake
CMAKE_TOOLCHAIN_FILE no fue utilizado por el proyecto (4)
Cmake da esta advertencia cuando construye un script de terceros:
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_TOOLCHAIN_FILE
¿Hay algún consejo común sobre qué debo verificar o cómo solucionarlo?
En caso de que reciba este mensaje con CLion después de establecer la opción -DCMAKE_TOOLCHAIN_FILE=xxx
, querrá eliminar todos los directorios de compilación de CMake.
Hacer
Tools-> CMake -> Show Generated CMake Files in File Manager
luego borre todos los directorios de compilación. Entonces hazlo
Tools-> CMake -> Reload the CMake Project
Una vez que haga esto, seguirá recibiendo la advertencia, pero al menos se observará la primera vez que se ejecute cmake.
Esta es la advertencia estándar que se le da cuando le da una opción de línea de comando que no está usando. Eso está dando -DFOO=bar
a cmake cuando el CMakeLists.txt no usa la variable FOO.
Ahora, ese es un caso especial: CMAKE_TOOLCHAIN_FILE es utilizado por CMake la primera vez que configuras tu compilación, pero como no puedes cambiar la cadena de herramientas para una compilación ya configurada, se ignora en cualquier otro momento, por lo tanto, la advertencia .
Como dijo @Answeror, puedes ignorar la advertencia de forma segura, pero si realmente te molesta, puedes ocultarla dando --no-warn-unused-cli
unused --no-warn-unused-cli
to cmake.
Lo mismo sucedió aquí, como señaló @js, esto generalmente significa que tienes relictos creados de cmake desde una configuración anterior.
Haga un rm -rf CMakeCache.txt CMakeFiles/
y el mensaje desaparecerá la primera vez que haga el cmake -DCMAKE_TOOLCHAIN_FILE=foo.cmake .
. La segunda vez, estarán allí de nuevo y como @Guilaume respondió que está bien.
PD: Primero hice un git clean --force
pero dado que esos archivos usualmente están en .gitignore
, eso no restablece la compilación.
Los motivos de esta variable específica no utilizada ya se explicaron en la respuesta de @ Guillaume. Una forma simple y útil de eludir la advertencia sobre la variable no utilizada es usarla en un mensaje de estado.
message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}.")