# 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) set_directory_properties(PROPERTIES CORRADE_USE_PEDANTIC_FLAGS ON) # Add Magnum as a subproject, enable Sdl2Application set(MAGNUM_WITH_SDL2APPLICATION ON CACHE BOOL "" FORCE) set(MAGNUM_WITH_TGAIMPORTER ON CACHE BOOL "" FORCE) add_subdirectory(magnum EXCLUDE_FROM_ALL) find_package(Magnum REQUIRED GL Sdl2Application Trade TgaImporter) message(STATUS "Magnum found: ${MAGNUM_FOUND}") corrade_add_resource(RESOURCES Assets/resources.conf) # Set the sources, allows VS to filter them properly file(GLOB SOURCES "src/*.cpp") file(GLOB HEADERS "src/*.h") include_directories(include) add_executable(${PNAME} ${SOURCES} ${RESOURCES}) message(STATUS "sources: ${SOURCES}") add_dependencies(${PNAME} Magnum::TgaImporter) target_link_libraries(${PNAME} PRIVATE Corrade::Main Magnum::Application Magnum::GL Magnum::Magnum Magnum::Trade) # 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