Files
Ghost-Escape/CMakeLists.txt
T
2025-08-20 10:00:00 +08:00

49 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 17)
set(PROJECT_NAME demo)
project(${PROJECT_NAME} VERSION 0.0.1 LANGUAGES C CXX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin-int)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin-int)
if(MSVC)
set(CMAKE_PREFIX_PATH lib/SDL/MSVC/SDL/cmake)
file(GLOB SDL_DLLS lib/SDL/MSVC/SDL/lib/x64/*.dll)
else ()
set(CMAKE_PREFIX_PATH lib/SDL/MinGW/SDL/cmake)
file(GLOB SDL_DLLS lib/SDL/MinGW/SDL/x86_64-w64-mingw32/bin/*.dll)
endif ()
file(COPY ${SDL_DLLS} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
file(GLOB ASSETS_SOURCE assets)
file(COPY ${ASSETS_SOURCE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
find_package(SDL3 REQUIRED)
find_package(SDL3_mixer REQUIRED)
find_package(SDL3_image REQUIRED)
find_package(SDL3_ttf REQUIRED)
add_subdirectory(lib/glm)
file(GLOB_RECURSE SRC_SOURCE
src/**.cpp
)
add_executable(${PROJECT_NAME} ${SRC_SOURCE})
target_include_directories(${PROJECT_NAME} PUBLIC
lib/glm
)
target_link_libraries(${PROJECT_NAME}
${SDL3_LIBRARIES}
SDL3_mixer::SDL3_mixer
SDL3_image::SDL3_image-shared
SDL3_ttf::SDL3_ttf-shared
glm
)