mirror of
https://github.com/theoleuthardt/DinoGame.git
synced 2026-06-13 09:27:57 +00:00
Initial commit
This commit is contained in:
commit
da4c292fbd
2 changed files with 70 additions and 0 deletions
64
CMakeLists.txt
Normal file
64
CMakeLists.txt
Normal 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
6
src/main.cpp
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
std::cout << "Hello, World!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue