piszę jakiś dłuższy czas temu rozpocząłem moją przygodę z programowaniem gier. Pomęczyłem się, pomyślałem i napisałem na początek klona klasycznego Ponga. Niedawno zachciało mi dodać jakieś GUI - wybór padł na Guichana. Pomajstrowałem i teraz chciałbym jakoś wygodnie sprawdzić jak to wszystko chodzi. Do tej pory miałem napisany plik Makefile i on odwalał całą robotę. Teraz jednak projekt nieco się rozrósł i przydałby bardziej zaawansowany sposób na budowanie gry. Myślałem o CMake, jednak nie wiem jak się zabrać do napisania CMakeLists.txt. Tak wygląda struktura mojej gry:
Kod: Zaznacz cały
gnopya
|->bin
|->fonts
|->icon
|->textures
|->include
|->core
|->gui
|->src
|->core
|->gui
Przy pomocy tej strony (http://gpwiki.org/index.php/C:How_to_se ... nvironment) chciałem napisać coś na wzór:
Kod: Zaznacz cały
Project ( Gnopya )
set (
SRCS_CORE
src/core/Ball.cpp
src/core/Paddle.cpp
src/core/PaddleLeft.cpp
src/core/PaddleRight.cpp
src/core/Sounder.cpp
src/core/Engine.cpp
)
set ( SRCS_GUI
src/gui/GameButton.cpp
src/gui/GameCheckBox.cpp
src/gui/Gnopya.cpp
src/gui/main.cpp
)
Find_Package ( SDL REQUIRED )
Find_Package ( SDL_image REQUIRED )
Find_Package( SDL_mixer REQUIRED )
Find_Package( SDL_ttf REQUIRED )
# Workaround for the non-working REQUIRED flag
if ( NOT SDL_FOUND )
message ( FATAL_ERROR "SDL not found!" )
endif ( NOT SDL_FOUND )
link_libraries (
${SDL_LIBRARY}
${SDLIMAGE_LIBRARY}
${SDLMIXER_LIBRARY}
${SDLTTF_LIBRARY}
SDLmain
)
add_executable (
bin/Gnopya
${SRCS_CORE} ${SRCS_GUI}
)
Kod: Zaznacz cały
-lguichan_sdl -lguichan
Czy mógłby mi ktoś podpowiedzieć jak napisać działający CMakeLists.txt zgodnie z moimi zamiarami ?
PS: Aha, póki pamiętam. Czy da się jakoś ominąć "brzydkie" #include w plikach *.cpp ? Na dzień dzisiejszy mam po prostu konstrukcje typu:
Kod: Zaznacz cały
#include "../../include/core/Engine.h"
Kod: Zaznacz cały
#include "costam.h" // albo z <>, nie wiem