sashoalm
Creé un CMakeLists.txt simple:
cmake_minimum_required(VERSION 2.8)
project (HelloWorld)
add_executable (HelloWorld main.cpp)
Sin embargo, cuando genero un proyecto VS2012 o VS2010 desde CMake, obtengo estas 2 entradas adicionales: ALL_BUILD y ZERO_CHECK. No entiendo su propósito, ¿los necesito?
sashoalm
De https://cmake.org/pipermail/cmake/2008-November/025448.html:
Armin Berrés — 22/11/2008, 15:12:41
ZERO_CHECK volverá a ejecutar cmake. Puede/debe ejecutar esto después de cambiar algo en sus archivos CMake.
ALL_BUILD es simplemente un objetivo que construye todo y todo el proyecto en la solución activa, supongo que uno puede compararlo con “hacer todo”.
-
ALL_BUILD no construye necesariamente todos los proyectos. Ver cmake.org/cmake/help/latest/prop_dir/EXCLUDE_FROM_ALL.html
– Andreas Haferburg
10 de abril de 2017 a las 12:32
-
CERO_CHEQUEO. Gran nombre; debería servir como un ejemplo estelar para cualquiera que intente nombrar nuevas tecnologías. Sigan con el buen trabajo CMake!
– idiota_satan
22 de marzo de 2019 a las 19:28
-
¡Cuidado con los elogios, podrían pensar que el nombre es intuitivo jaja!
– PrimRock
26 de marzo de 2020 a las 18:49
-
ALL_BUILD
sin embargo, no se construye a sí mismo. 😀 Puede tomarlo como un proxy que desencadena el proceso de compilación en todos los demás objetivos de la solución. Esto es bastante confuso. Lo mismo se aplica a laZERO_CHECK
. que, como se indica en la respuesta, vuelve a ejecutar CMake, por lo tanto, tampoco construye nada. No tengo idea de quién decidió presentar esta convención, pero espero que cambie en el futuro. Para alguien nuevo en CMake y la integración en Visual Studio, esto es bastante confuso.– rbaleksandar
13 de agosto de 2021 a las 14:03
usuario2902980
Agregue la siguiente línea a su CMakeLists.txt para suprimir la generación de ZERO_CHECK:
set(CMAKE_SUPPRESS_REGENERATION true)
-
Genial no sabia eso. Probé CMAKE_SUPPRESS_REGENERATION:Bool=1 en CMakeCache.txt y también funciona. Gracias
– Arnaud
10 de marzo de 2017 a las 15:36
-
Cabe señalar que, por alguna razón, esto debe configurarse en el nivel superior
CMakeLists.txt
no funcionará en subdirectorios (a partir de CMake 3.10)– Kralyk
7 de marzo de 2018 a las 12:01
-
¿Hay alguna forma similar de evitar que se cree ALL_BUILD? Editar: Ok, no hay: gitlab.kitware.com/cmake/cmake/issues/16979
– Félix Crazzolara
3 de marzo de 2020 a las 21:49