Initial commit

This commit is contained in:
theoleuthardt 2025-03-13 10:03:32 +01:00
commit da4c292fbd
2 changed files with 70 additions and 0 deletions

64
CMakeLists.txt Normal file
View file

@ -0,0 +1,64 @@
cmake_minimum_required(VERSION 3.30)
project(DinoGame)
set(CMAKE_CXX_STANDARD 20)
set(BASE_OUTPUT_DIR "${CMAKE_SOURCE_DIR}/build")
set(ASSETS_PATH "${CMAKE_SOURCE_DIR}/assets")
if(WIN32)
set(OUTPUT_DIR "${BASE_OUTPUT_DIR}/windows")
add_compile_definitions(WIN32)
elseif(UNIX AND NOT APPLE)
set(OUTPUT_DIR "${BASE_OUTPUT_DIR}/linux")
add_compile_definitions(LINUX)
elseif(APPLE)
set(OUTPUT_DIR "${BASE_OUTPUT_DIR}/macos")
add_compile_definitions(MACOS)
endif()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR})
foreach(CONFIG_TYPE ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${CONFIG_TYPE} CONFIG_TYPE)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPE} ${OUTPUT_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPE} ${OUTPUT_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPE} ${OUTPUT_DIR})
endforeach()
include(FetchContent)
function(add_git_dependency libName gitURL gitTag)
FetchContent_Declare(${libName}
GIT_REPOSITORY ${gitURL}
GIT_TAG ${gitTag}
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_MakeAvailable(${libName})
target_compile_options(${libName} PRIVATE "-w")
endfunction()
add_git_dependency(
raylib
https://github.com/raysan5/raylib.git
5.0
)
file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp")
set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR}/src/")
add_executable(${PROJECT_NAME})
target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES})
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE})
target_link_libraries(${PROJECT_NAME} PRIVATE raylib)
target_compile_definitions(${PROJECT_NAME} PRIVATE RAYLIB_STATIC)
add_custom_target(copy_assets ALL
COMMAND ${CMAKE_COMMAND} -E copy_directory
${ASSETS_PATH} ${OUTPUT_DIR}/assets
)
add_dependencies(${PROJECT_NAME} copy_assets)

6
src/main.cpp Normal file
View file

@ -0,0 +1,6 @@
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}