Estoy intentando ejecutar un programa cmake hello world en Windows 7 x64 con Visual Studio 2010 y Cygwin, pero parece que ninguno de los dos funciona. Mi estructura de directorio es la siguiente:
HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/
Hago una cd build
seguida de una cmake ..
, y obtengo un error que indica que
CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".
Sin embargo, si cambio la extensión de main.cpp a main.c tanto en mi sistema de archivos como en src/CMakeLists.txt
todo, funciona como se esperaba. Este es el caso que se ejecuta tanto desde Visual Studio Command Prompt (Visual Studio Solution Generator) como desde Cygwin Terminal (Unix Makefiles Generator).
¿Alguna idea de por qué este código no funcionaría?
CMakeLists.txt
PROJECT(HelloWorld C)
cmake_minimum_required(VERSION 2.8)
# include the cmake modules directory
set(CMAKE_MODULE_PATH ${HelloWorld_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
add_subdirectory(src)
src / CMakeLists.txt
# Include the directory itself as a path to include directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Create a variable called helloworld_SOURCES containing all .cpp files:
set(HelloWorld_SOURCES main.cpp)
# Create an executable file called helloworld from sources:
add_executable(hello ${HelloWorld_SOURCES })
src / main.cpp
int main()
{
return 0;
}