74Fermer76
FarewellLe 10/01/2016 à 20:38
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 top