# Copyright (c) 2021 Dominic Msters # # This software is released under the MIT License. # https://opensource.org/licenses/MIT #################################### CMAKE ##################################### cmake_minimum_required(VERSION 3.15) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) #Include include(FetchContent) #Vars set(DEPS_DIR "${PROJECT_BINARY_DIR}/_deps") ################################## Settings #################################### # Platform Settings set(SETTING_PLATFORM_GLFW 1) set(SETTING_PLATFORM SETTING_PLATFORM_GLFW) # Game Settings set(SETTING_GAME_POKER 1) set(SETTING_GAME_DAWN 2) set(SETTING_GAME SETTING_GAME_POKER) set(SETTING_GAME_NAME "DawnGame") # Configuring configure_file(config.h.in config.h) #################################### PROJECT ################################### project(${SETTING_GAME_NAME} VERSION 1.0) ##################################### SRCS ##################################### file(GLOB_RECURSE SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/*.c) file(GLOB_RECURSE HEADER_FILES ${CMAKE_SOURCE_DIR}/src/*.h) file(GLOB_RECURSE SOURCE_PLATFORM_FILES ${CMAKE_SOURCE_DIR}/platform/${PLATFORM}/*.c ) file(GLOB_RECURSE HEADER_PLATFORM_FILES ${CMAKE_SOURCE_DIR}/platform/${PLATFORM}/*.h ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/assets DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) ##################################### LIBS ##################################### include_directories(${CMAKE_SOURCE_DIR}/lib/stb) include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_CURRENT_BINARY_DIR}) ################################## EXECUTABLE ################################## add_executable(${PROJECT_NAME} ${HEADER_FILES} ${HEADER_PLATFORM_FILES} ${SOURCE_FILES} ${SOURCE_PLATFORM_FILES} ) ################################# STATIC LIBS ################################## # GLFW and GLAD if(${SETTING_PLATFORM} EQUAL ${SETTING_PLATFORM_GLFW}) add_subdirectory(${CMAKE_SOURCE_DIR}/lib/glad) target_link_libraries(${PROJECT_NAME} glad) if(NOT glfw3_FOUND) FetchContent_Declare( glfw GIT_REPOSITORY https://github.com/glfw/glfw GIT_TAG 3.3.4 ) FetchContent_MakeAvailable(glfw) endif() target_link_libraries(${PROJECT_NAME} glfw) endif() # CGLM if(NOT cglm_FOUND) FetchContent_Declare( cglm GIT_REPOSITORY https://github.com/recp/cglm GIT_TAG v0.8.3 ) FetchContent_MakeAvailable(cglm) endif() target_link_libraries(${PROJECT_NAME} cglm) # OpenGL find_package(OpenGL REQUIRED) target_link_libraries(${PROJECT_NAME} OpenGL::GL)