2011-12-19 16 views
9

¡Buen día!Proyecto de construcción de MSVC con cmake y línea de comandos

Tengamos un archivo de origen main.cpp y un archivo CMakeLists.txt que contiene el texto siguiente: "¡Hola, mundo"

cmake_minimum_required(VERSION 2.6) 
project(tmp) 

set(CMAKE_CXX_FLAGS "-Wall") 
add_executable(tmp.elf main.cpp) 

Digamos que el archivo contiene un simple main.cpp Programa:

#include <stdio.h> 

int main() 
{ 
    printf("Hello, World!\n"); 
    return 0; 
} 

podemos construir el proyecto con cmake CMakeLists.txt && make. Entonces obtendremos el archivo tmp.elf que podemos ejecutar. O podemos obtener ningún archivo tmp.elf y asumir que algo está mal con el archivo fuente main.cpp (suponiendo que el compilador y cmake están instalados correctamente en el sistema de construcción).

Entonces, la pregunta es: ¿cómo podemos hacer lo mismo en la máquina con Windows? P.ej. Obtendremos el archivo tmp.vcproj después de ejecutar cmake CMakeLists.txt y luego tendremos que compilarlo de alguna manera. ¿Cómo se puede realizar el proceso de compilación utilizando la línea de comandos? (Process.Start de Java(), en realidad :-P)

Respuesta

16

Puede iniciar la construcción de una forma independiente de la plataforma y el generador CMake invocando cmake con la opción --build:

cmake --build . 

Para múltiples generadores de configuración, puede especificar la configuración de la siguiente manera:

cmake --build . --config Release 

véase también la documentation.

+0

Sí, funcionó: 'cmake CMakeLists.txt -G" Visual Studio 9 2008 "' y luego - 'cmake --build .'. ¡Gracias! =) – shybovycha

+1

Ya no funciona, no se genera ningún ejecutable ahora – GameDeveloper

+0

@GameDeveloper Funcionó para Visual Studio 11, envíe un error en [cmake site] (https://gitlab.kitware.com/cmake/cmake/issues). – shuva

Cuestiones relacionadas