13.4 Les fichiers CMakeLists.txt

Voici le fichier CMakeLists.txt à la racine du projet (dans le dossier parent de src) :

1
2
3
4
project(testcourssimpleopengl3)
cmake_minimum_required(VERSION 2.8)

add_subdirectory(src)

Comme ce fichier est très simple, passons tout de suite au fichier CMakeLists.txt du dossier src :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
project(testcourssimpleopengl3)
cmake_minimum_required(VERSION 2.8)

find_package(OpenGL REQUIRED)

#on indique le nouveau préfixe pour être sur qu'on ne s'est pas planter en le rentrant
message(STATUS "New prefix : ${OTHER_LIB_PREFIX}")

set(OTHER_INSTALL_LIB ${OTHER_LIB_PREFIX}/lib)
message(STATUS "New lib prefix : ${OTHER_INSTALL_LIB}")

set(SDL_OTHER_INCLUDE_DIR ${OTHER_LIB_PREFIX}/include)
message(STATUS "New include prefix : ${SDL_OTHER_INCLUDE_DIR}")

#on inclue les dossiers dont on a besoin
include_directories(${SDL_OTHER_INCLUDE_DIR} ${SDL_image_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
#on va compiler en mode debug
add_definitions(-O0 -Wall)

set(testcourssimpleopengl3_SRCS pointf.c load_shaders.c load_texture_Gl3.cpp vecteur3f.cpp matrice3f.cpp Vecteur4.cpp Matrice4.cpp simple_camera_gl3.cpp PAppSdlOpenGl3.cpp PAppTestSdlGl3.cpp main.cpp)
#on compile
add_executable(testcourssimpleopengl3 ${testcourssimpleopengl3_SRCS})
#on link notre programme aux libs dont il dépend
target_link_libraries(testcourssimpleopengl3 GL GLU ${OTHER_INSTALL_LIB}/libSDL2.so SDL_image pthread m dl)

Normalement, ça ne devrait pas vous poser de problème.