|
|
|
# Check versions message(STATUS "CMake version: ${CMAKE_VERSION}")
|
|
|
|
cmake_minimum_required(VERSION 3.1)
|
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
|
|
|
# Set the project name
|
|
|
|
set(PNAME floppy-bird)
|
|
|
|
project(${PNAME})
|
|
|
|
|
|
|
|
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/" ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
|
|
|
# Add Corrade as a subproject
|
|
|
|
add_subdirectory(corrade EXCLUDE_FROM_ALL)
|
|
|
|
|
|
|
|
# Add Magnum as a subproject, enable Sdl2Application
|
|
|
|
set(MAGNUM_WITH_SDL2APPLICATION ON CACHE BOOL "" FORCE)
|
|
|
|
add_subdirectory(magnum EXCLUDE_FROM_ALL)
|
|
|
|
|
|
|
|
find_package(Magnum REQUIRED GL Sdl2Application)
|
|
|
|
message(STATUS "Magnum found: ${MAGNUM_FOUND}")
|
|
|
|
|
|
|
|
set_directory_properties(PROPERTIES CORRADE_USE_PEDANTIC_FLAGS ON)
|
|
|
|
|
|
|
|
include_directories(include)
|
|
|
|
|
|
|
|
# Set the sources, allows VS to filter them properly
|
|
|
|
file(GLOB SOURCES "*.cpp")
|
|
|
|
file(GLOB HEADERS "*.h")
|
|
|
|
|
|
|
|
add_executable(${PNAME} ${SOURCES} Bird.cpp Bird.h Pipe.cpp Pipe.h)
|
|
|
|
|
|
|
|
target_link_libraries(${PNAME} PRIVATE
|
|
|
|
Magnum::Application
|
|
|
|
Magnum::GL
|
|
|
|
Magnum::Magnum)
|
|
|
|
|
|
|
|
# Link CL, GL, and SFML
|
|
|
|
target_link_libraries (${PNAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
|
|
|
|
|
|
|
|
# Setup to use C++11 + others
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
|
|
|
set_property(TARGET ${PNAME} PROPERTY CXX_STANDARD 11) # Use C++11
|