Sto tentando di eseguire un programma cmake hello world su Windows 7 x64 con Visual Studio 2010 e Cygwin, ma non riesco a far funzionare nessuno dei due. La mia struttura di directory è la seguente:
HelloWorld
-- CMakeLists.txt
-- src/
-- -- CMakeLists.txt
-- -- main.cpp
-- build/
Faccio cd build
seguito da a cmake ..
e ottengo un errore che lo indica
CMake Error: CMake can not determine linker language for target:helloworld
CMake Error: Cannot determine link language for target "helloworld".
Tuttavia, se cambio l'estensione di main.cpp in main.c sia sul mio file system che in src/CMakeLists.txt
tutto funziona come previsto. Questo è il caso in esecuzione sia dal prompt dei comandi di Visual Studio (Visual Studio Solution Generator) che dal terminale Cygwin (Unix Makefiles Generator).
Qualche idea sul perché questo codice non funzionerebbe?
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;
}