space-game001/CMakeLists.txt
2025-03-18 15:06:25 +06:00

83 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(SDLApp VERSION 1.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(SDL2 REQUIRED sdl2)
pkg_check_modules(GL REQUIRED gl)
pkg_check_modules(LIBZIP REQUIRED libzip)
option(AUDIO "Audio support" OFF)
if(AUDIO)
set(AUDIO ON)
else()
set(AUDIO OFF)
endif()
if(AUDIO)
pkg_check_modules(VORBIS REQUIRED vorbis vorbisfile ogg)
pkg_check_modules(OPENAL REQUIRED openal)
add_definitions(-DAUDIO)
endif()
add_executable(sdl_app
Game.cpp
main.cpp
Math.cpp
OpenGlExtensions.cpp
Physics.cpp
Renderer.cpp
ShaderManager.cpp
TextureManager.cpp
Utils.cpp
BoneAnimatedModel.cpp
ObjLoader.cpp
TextModel.cpp
Inventory.cpp
Environment.cpp
GameObjectManager.cpp
RenderSystem.cpp
QuestScripts.cpp
)
if(AUDIO)
target_sources(sdl_app PRIVATE
cmakeaudioplayer/src/AudioPlayer.cpp
AudioPlayerAsync.cpp
)
endif()
target_include_directories(sdl_app PRIVATE
${SDL2_INCLUDE_DIRS}
${GL_INCLUDE_DIRS}
${LIBZIP_INCLUDE_DIRS}
)
if(AUDIO)
target_include_directories(sdl_app PRIVATE
${VORBIS_INCLUDE_DIRS}
${OPENAL_INCLUDE_DIRS}
cmakeaudioplayer/include
)
endif()
target_link_libraries(sdl_app
${SDL2_LIBRARIES}
${GL_LIBRARIES}
Threads::Threads
${LIBZIP_LIBRARIES}
)
if(AUDIO)
target_link_libraries(sdl_app
${VORBIS_LIBRARIES}
${OPENAL_LIBRARIES}
)
endif()