2013-08-13 16 views
14

Uczenie iam C++ i cmake w tej chwili. Mam pliki źródłowe w katalogu głównym, w którym znajduje się plik CMakeLists.txt. Chcę przechowywać wszystkie pliki źródłowe w katalogu/src, ale nie mam pojęcia, jak je zlokalizować w CMake.CMake: Jak zlokalizować pliki .cpp w "katalogu src"?

Moja CUpewnij File

cmake_minimum_required(VERSION 2.8) 
project(game) 

set(GAME_ALL_SOURCES 
    main.cpp check.cpp 
) 

add_executable(game ${GAME_ALL_SOURCES}) 
target_link_libraries(game sfml-graphics sfml-window sfml-system) 

Każdy sugestia, jak sobie z tym poradzić?

pozdrawiam

Odpowiedz

1

Spróbuj

set(GAME_ALL_SOURCES 
src/main.cpp src/check.cpp 
) 
+0

Mhh. Ten sposób wygląda nie tak komfortowo. Szukam czegoś takiego jak VPATH w make. Czytałem ze zmiennej Cmake "PROJECT_SOURCE_DIR", ale nie wiem, jak z niej korzystać. – user2664310

+1

PROJECT_SOURCE_DIR nie służy do tego celu. Ta zmienna jest zdefiniowana jako lokalizacja ostatniego PROJEKTU(), który został przetworzony przez cmake. – drescherjm

+1

BTW. Ta odpowiedź, co zrobiłem przez 5 lat użyłem CMake do generowania wszystkich moich projektów. – drescherjm

30

Jeśli chcesz zlokalizować wszystkie .cpp pliki w katalogu src, można zrobić

file(GLOB SOURCES src/*.cpp) 

${SOURCES} i używać wszędzie tam, gdzie trzeba. Na przykład:

add_executable(game ${SOURCES}) 
+3

Jeśli trzeba uwzględnić wszystkie pliki ze wszystkich podkatalogów, użyj 'GLOB_RECURSE' zamiast' GLOB' – ki92

Powiązane problemy