Working on improving the cross compiler

This commit is contained in:
2021-08-19 16:38:27 -07:00
parent 7f80cb0fa0
commit bf3f942e24
7 changed files with 500 additions and 260 deletions

View File

@@ -14,27 +14,35 @@ include(FetchContent)
#Vars
set(DEPS_DIR "${PROJECT_BINARY_DIR}/_deps")
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/modules)
# set(SDL2_DIR ${CMAKE_CURRENT_LIST_DIR}/lib/SDL2)
################################## Settings ####################################
# Platform Settings
################################ Setting Degs ##################################
set(SETTING_PLATFORM_GLFW 1)
set(SETTING_PLATFORM_SDL 2)
set(SETTING_PLATFORM_GBM 3)
set(SETTING_PLATFORM SETTING_PLATFORM_GLFW)
set(SETTING_USE_GLAD 1)
# Game Settings
set(SETTING_GAME_POKER 1)
set(SETTING_GAME_DAWN 2)
set(SETTING_GAME SETTING_GAME_POKER)
set(SETTING_GAME SETTING_GAME_POKER)
set(SETTING_GAME_NAME "DawnGame")
################################## Targets #####################################
set(SETTING_TARGET_WIN32 1)
set(SETTING_TARGET_RG351 2)
set(SETTING_TARGET SETTING_TARGET_RG351)
# Win32
if(${SETTING_TARGET} EQUAL ${SETTING_TARGET_WIN32})
set(SETTING_PLATFORM SETTING_PLATFORM_SDL)
set(SETTING_PLATFORM_USE_GLAD 1)
endif()
# RG351
if(${SETTING_TARGET} EQUAL ${SETTING_TARGET_RG351})
set(SETTING_PLATFORM SETTING_PLATFORM_SDL)
set(SETTING_PLATFORM_USE_GLAD 1)
endif()
# Configuring
configure_file(config.h.in config.h)
@@ -61,40 +69,36 @@ if(${SETTING_PLATFORM} EQUAL ${SETTING_PLATFORM_SDL})
list(APPEND HEADER_FILES ${HDRS})
endif()
# GBM Sources
if(${SETTING_PLATFORM} EQUAL ${SETTING_PLATFORM_GBM})
file(GLOB_RECURSE SRC ${CMAKE_SOURCE_DIR}/platform/gbm/*.c)
file(GLOB_RECURSE HDRS ${CMAKE_SOURCE_DIR}/platform/gbm/*.h)
list(APPEND SOURCE_FILES ${SRC})
list(APPEND HEADER_FILES ${HDRS})
endif()
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})
include_directories(/usr/lib/aarch64-linux-gnu/)
# RG351
if(${SETTING_TARGET} EQUAL ${SETTING_TARGET_RG351})
include_directories(${CMAKE_SOURCE_DIR}/include/rg351)
include_directories(${CMAKE_SOURCE_DIR}/include/rg351/SDL2)
endif()
include_directories(${CMAKE_CURRENT_BINARY_DIR})
################################## EXECUTABLE ##################################
add_executable(${PROJECT_NAME} ${HEADER_FILES} ${SOURCE_FILES})
################################# STATIC LIBS ##################################
# Math
if(NOT WIN32)
target_link_libraries(${PROJECT_NAME} m)
endif()
# GLAD
if(${SETTING_USE_GLAD} EQUAL 1)
if(${SETTING_PLATFORM_USE_GLAD} EQUAL 1)
add_subdirectory(${CMAKE_SOURCE_DIR}/lib/glad)
target_link_libraries(${PROJECT_NAME} glad)
endif()
# GLFW and GLAD
# GLFW
if(${SETTING_PLATFORM} EQUAL ${SETTING_PLATFORM_GLFW})
if(NOT glfw3_FOUND)
FetchContent_Declare(
@@ -114,16 +118,6 @@ if(${SETTING_PLATFORM} EQUAL ${SETTING_PLATFORM_SDL})
target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES})
endif()
#GBM
if(${SETTING_PLATFORM} EQUAL ${SETTING_PLATFORM_GBM})
find_package(Libdrm REQUIRED)
find_package(gbm REQUIRED)
target_link_libraries(${PROJECT_NAME} Libdrm::Libdrm)
target_link_libraries(${PROJECT_NAME} gbm::gbm)
target_link_libraries(${PROJECT_NAME} EGL GLESv2)
endif()
# CGLM
if(NOT cglm_FOUND)
FetchContent_Declare(
@@ -137,4 +131,8 @@ target_link_libraries(${PROJECT_NAME} cglm)
# OpenGL
find_package(OpenGL REQUIRED)
target_link_libraries(${PROJECT_NAME} OpenGL::GL)
# target_link_libraries(${PROJECT_NAME} OpenGL::GL)
# include_directories(${OPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIRS})
# CMake
target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS})