Et bien voilà, ça donne ça :
cmake_minimum_required(VERSION 2.6)
project(imPG2)
set(CMAKE_BUILD_TYPE Debug)
#set(CMAKE_BUILD_TYPE Release)
#set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O2")
#set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
find_package(Qt5Core REQUIRED)
find_package(SDL2 REQUIRED)
find_package(SDL2_ttf REQUIRED)
find_package(SDL2_image REQUIRED)
add_executable(
imPG2
main.cpp
Button.cpp
Exception.cpp
Game.cpp
GameIntro.cpp
GameState.cpp
ResourceFactory.cpp
)
include_directories(
${SDL2_INCLUDE_DIR}
${SDL2_TTF_INCLUDE_DIR}
${SDL2_IMAGE_INCLUDE_DIR}
)
#target_compile_options(
# imPG2
# PUBLIC
# -std=c++11
# -fPIC
# -Wall
# -Wextra
# )
target_link_libraries(
imPG2
Qt5::Core
${SDL2MAIN_LIBRARY}
${SDL2_LIBRARY}
${SDL2_TTF_LIBRARY}
${SDL2_IMAGE_LIBRARY}
)
install(TARGETS imPG2 RUNTIME DESTINATION bin)
Plus qu'à voir comment gérer les switches. Peut-être le mode de compilation par défaut n'est pas bon non plus, et il faut que je me penche sur la différence entre le mode Debug et RelWithDebInfo. Mais c'est déjà pas mal, mon script est maintenant portable si on fait abstraction des switches, merci encore
