¡Tengo un código ac que insisto en compilarlo con gcc, no con ningún compilador c ++! ¡Quiero un CMakeLists.txt para ello! ¿Usted me podría ayudar? Aquí está mi proyecto simple:
main.c
sirdarius
Eso es lo básico de cmake:
cmake_minimum_required(VERSION 2.6.0)
# here we specify that the project is C language only, so the default
# C compiler on the system will be used
project(myprogram C)
add_executable(myprogram main.c)
Eso es realmente todo lo que necesita para compilar un archivo C en un ejecutable.
Especificar su proyecto como un C
proyecto de idioma debería ser suficiente para sus necesidades.
Si eso no es suficiente, puede forzar el compilador en la línea de comando mientras invoca cmake.
mkdir build && cd build
export CC=gcc
cmake ..
make
o
mkdir build && cd build
cmake .. -DCMAKE_C_COMPILER=gcc
make
Tenga en cuenta también que, como se menciona en los comentarios, incluso cuando se mezclan idiomas en un proyecto, CMake es lo suficientemente inteligente como para llamar correctamente al compilador de C cuando encuentra un archivo con la extensión .c.
-
¿Dónde especificas usar el compilador c en este cmake?
– ario
7 de agosto de 2013 a las 9:43
-
el
project
directiva– SirDarius
7 de agosto de 2013 a las 9:43
-
Pensé que CMake consideraba automáticamente los archivos *.c como C. No se necesita magia.
– rubenvb
7 de agosto de 2013 a las 9:52
-
@rubenvb eso es correcto, sin embargo, dado que se requiere uno para especificar un idioma por medio de la directiva del proyecto, todavía se necesita el archivo CMakeLists.txt mínimo.
– SirDarius
7 de agosto de 2013 a las 9:54
-
@rubenvb sí, de hecho, volví a leer el documento, de manera predeterminada, un proyecto sin especificación de idioma es equivalente a tener C y C ++. Entonces, al final, es mejor especificar C solo para evitar verificaciones inútiles del compilador.
– SirDarius
7 de agosto de 2013 a las 14:04