2021-01-02 15:06:11 +00:00
|
|
|
# Copyright (c) 2020-2021 The reone project contributors
|
2020-08-03 01:06:55 +00:00
|
|
|
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
|
|
|
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
2020-08-02 15:47:59 +00:00
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(reone)
|
|
|
|
|
2020-08-03 13:16:58 +00:00
|
|
|
option(BUILD_TOOLS "build tools executable" ON)
|
2020-10-10 08:25:36 +00:00
|
|
|
option(BUILD_TESTS "build unit tests" OFF)
|
2020-11-08 15:04:54 +00:00
|
|
|
option(ENABLE_VIDEO "enable video playback" ON)
|
2020-08-03 13:16:58 +00:00
|
|
|
option(USE_EXTERNAL_GLM "use GLM library from external subdirectory" OFF)
|
|
|
|
|
|
|
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
|
|
|
find_package(Boost REQUIRED COMPONENTS filesystem program_options system)
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
|
|
find_package(GLEW REQUIRED)
|
|
|
|
find_package(MAD REQUIRED)
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
find_package(OpenAL CONFIG REQUIRED)
|
2020-11-12 22:26:20 +00:00
|
|
|
find_package(SDL2 CONFIG REQUIRED)
|
2020-08-03 13:16:58 +00:00
|
|
|
else()
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
pkg_check_modules(OpenAL REQUIRED openal)
|
2020-11-12 21:51:35 +00:00
|
|
|
pkg_check_modules(SDL2 REQUIRED sdl2)
|
2020-08-03 13:16:58 +00:00
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
endif()
|
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
include_directories(${Boost_INCLUDE_DIRS} ${SDL2_INCLUDE_DIRS} ${MAD_INCLUDE_DIR})
|
|
|
|
|
2020-11-08 14:08:52 +00:00
|
|
|
if(ENABLE_VIDEO)
|
2020-11-08 15:02:04 +00:00
|
|
|
if(WIN32)
|
|
|
|
find_package(FFMPEG REQUIRED)
|
|
|
|
else()
|
2020-11-09 01:49:52 +00:00
|
|
|
pkg_check_modules(FFMPEG REQUIRED libavcodec libavformat libavutil libswresample libswscale)
|
2020-11-08 15:02:04 +00:00
|
|
|
endif()
|
2020-11-08 14:08:52 +00:00
|
|
|
include_directories(${FFMPEG_INCLUDE_DIRS})
|
|
|
|
endif()
|
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
if(USE_EXTERNAL_GLM)
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/external/glm)
|
|
|
|
else()
|
2020-08-03 13:16:58 +00:00
|
|
|
find_package(glm REQUIRED)
|
|
|
|
endif()
|
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
|
|
|
|
|
2020-11-10 06:44:48 +00:00
|
|
|
## libcommon static library
|
|
|
|
|
|
|
|
set(COMMON_HEADERS
|
2020-11-28 15:26:39 +00:00
|
|
|
src/common/aabb.h
|
2020-11-10 06:44:48 +00:00
|
|
|
src/common/endianutil.h
|
|
|
|
src/common/jobs.h
|
|
|
|
src/common/log.h
|
2020-12-06 07:56:34 +00:00
|
|
|
src/common/mediastream.h
|
2020-11-10 06:44:48 +00:00
|
|
|
src/common/pathutil.h
|
|
|
|
src/common/random.h
|
|
|
|
src/common/streamreader.h
|
|
|
|
src/common/streamutil.h
|
|
|
|
src/common/streamwriter.h
|
2020-11-18 16:37:45 +00:00
|
|
|
src/common/timer.h
|
2020-11-16 05:01:07 +00:00
|
|
|
src/common/types.h)
|
2020-11-10 06:44:48 +00:00
|
|
|
|
|
|
|
set(COMMON_SOURCES
|
2020-11-28 15:26:39 +00:00
|
|
|
src/common/aabb.cpp
|
2020-11-10 06:44:48 +00:00
|
|
|
src/common/endianutil.cpp
|
|
|
|
src/common/jobs.cpp
|
|
|
|
src/common/log.cpp
|
|
|
|
src/common/pathutil.cpp
|
|
|
|
src/common/random.cpp
|
|
|
|
src/common/streamreader.cpp
|
|
|
|
src/common/streamutil.cpp
|
2020-11-18 16:37:45 +00:00
|
|
|
src/common/streamwriter.cpp
|
|
|
|
src/common/timer.cpp)
|
2020-11-10 06:44:48 +00:00
|
|
|
|
|
|
|
add_library(libcommon STATIC ${COMMON_HEADERS} ${COMMON_SOURCES})
|
|
|
|
set_target_properties(libcommon PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libcommon static library
|
2020-10-11 04:02:29 +00:00
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
## libresource static library
|
|
|
|
|
|
|
|
set(RESOURCE_HEADERS
|
|
|
|
src/resource/2dafile.h
|
|
|
|
src/resource/biffile.h
|
|
|
|
src/resource/binfile.h
|
|
|
|
src/resource/erffile.h
|
|
|
|
src/resource/folder.h
|
|
|
|
src/resource/gfffile.h
|
|
|
|
src/resource/keyfile.h
|
2020-12-29 16:52:13 +00:00
|
|
|
src/resource/ltrfile.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/resource/lytfile.h
|
|
|
|
src/resource/pefile.h
|
|
|
|
src/resource/resources.h
|
|
|
|
src/resource/rimfile.h
|
|
|
|
src/resource/tlkfile.h
|
|
|
|
src/resource/types.h
|
|
|
|
src/resource/util.h
|
|
|
|
src/resource/visfile.h)
|
|
|
|
|
|
|
|
set(RESOURCE_SOURCES
|
|
|
|
src/resource/2dafile.cpp
|
|
|
|
src/resource/biffile.cpp
|
|
|
|
src/resource/binfile.cpp
|
|
|
|
src/resource/erffile.cpp
|
|
|
|
src/resource/folder.cpp
|
|
|
|
src/resource/gfffile.cpp
|
|
|
|
src/resource/keyfile.cpp
|
2020-12-29 16:52:13 +00:00
|
|
|
src/resource/ltrfile.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/resource/lytfile.cpp
|
|
|
|
src/resource/pefile.cpp
|
|
|
|
src/resource/rimfile.cpp
|
|
|
|
src/resource/resources.cpp
|
|
|
|
src/resource/tlkfile.cpp
|
|
|
|
src/resource/util.cpp
|
|
|
|
src/resource/visfile.cpp)
|
|
|
|
|
|
|
|
add_library(libresource STATIC ${RESOURCE_HEADERS} ${RESOURCE_SOURCES})
|
|
|
|
set_target_properties(libresource PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libresource static library
|
|
|
|
|
|
|
|
## librender static library
|
|
|
|
|
|
|
|
set(RENDER_HEADERS
|
2020-11-28 14:32:56 +00:00
|
|
|
src/render/bwmfile.h
|
2020-11-01 07:24:56 +00:00
|
|
|
src/render/cursor.h
|
2021-01-10 08:24:29 +00:00
|
|
|
src/render/emitter.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/font.h
|
|
|
|
src/render/fonts.h
|
|
|
|
src/render/fps.h
|
|
|
|
src/render/framebuffer.h
|
2020-11-28 14:32:56 +00:00
|
|
|
src/render/image/curfile.h
|
|
|
|
src/render/image/tgafile.h
|
|
|
|
src/render/image/tpcfile.h
|
|
|
|
src/render/image/txifile.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/mesh/aabb.h
|
2021-01-10 13:13:21 +00:00
|
|
|
src/render/mesh/billboard.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/mesh/cube.h
|
|
|
|
src/render/mesh/quad.h
|
|
|
|
src/render/mesh/mesh.h
|
|
|
|
src/render/mesh/modelmesh.h
|
|
|
|
src/render/model/animation.h
|
2020-11-28 14:32:56 +00:00
|
|
|
src/render/model/mdlfile.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/model/model.h
|
|
|
|
src/render/model/modelnode.h
|
|
|
|
src/render/models.h
|
|
|
|
src/render/shaders.h
|
|
|
|
src/render/texture.h
|
|
|
|
src/render/textures.h
|
|
|
|
src/render/types.h
|
2020-10-26 04:11:58 +00:00
|
|
|
src/render/util.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/walkmesh.h
|
|
|
|
src/render/walkmeshes.h
|
|
|
|
src/render/window.h)
|
|
|
|
|
|
|
|
set(RENDER_SOURCES
|
2020-11-28 14:32:56 +00:00
|
|
|
src/render/bwmfile.cpp
|
2020-11-01 07:24:56 +00:00
|
|
|
src/render/cursor.cpp
|
2021-01-10 08:24:29 +00:00
|
|
|
src/render/emitter.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/font.cpp
|
|
|
|
src/render/fonts.cpp
|
|
|
|
src/render/fps.cpp
|
|
|
|
src/render/framebuffer.cpp
|
2020-11-28 14:32:56 +00:00
|
|
|
src/render/image/curfile.cpp
|
|
|
|
src/render/image/tgafile.cpp
|
|
|
|
src/render/image/tpcfile.cpp
|
|
|
|
src/render/image/txifile.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/mesh/aabb.cpp
|
2021-01-10 13:13:21 +00:00
|
|
|
src/render/mesh/billboard.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/mesh/cube.cpp
|
|
|
|
src/render/mesh/quad.cpp
|
|
|
|
src/render/mesh/mesh.cpp
|
|
|
|
src/render/mesh/modelmesh.cpp
|
|
|
|
src/render/model/animation.cpp
|
2020-11-28 14:32:56 +00:00
|
|
|
src/render/model/mdlfile.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/model/model.cpp
|
|
|
|
src/render/model/modelnode.cpp
|
|
|
|
src/render/models.cpp
|
|
|
|
src/render/shaders.cpp
|
|
|
|
src/render/texture.cpp
|
|
|
|
src/render/textures.cpp
|
2020-10-26 04:11:58 +00:00
|
|
|
src/render/util.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/render/walkmesh.cpp
|
|
|
|
src/render/walkmeshes.cpp
|
|
|
|
src/render/window.cpp)
|
|
|
|
|
|
|
|
add_library(librender STATIC ${RENDER_HEADERS} ${RENDER_SOURCES})
|
|
|
|
set_target_properties(librender PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END librender static library
|
|
|
|
|
|
|
|
## libaudio static library
|
|
|
|
|
|
|
|
set(AUDIO_HEADERS
|
|
|
|
src/audio/files.h
|
2020-11-10 07:23:16 +00:00
|
|
|
src/audio/format/mp3file.h
|
|
|
|
src/audio/format/wavfile.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/audio/player.h
|
2020-11-14 16:42:18 +00:00
|
|
|
src/audio/soundhandle.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/audio/soundinstance.h
|
|
|
|
src/audio/stream.h
|
|
|
|
src/audio/types.h
|
2020-11-10 07:23:16 +00:00
|
|
|
src/audio/util.h)
|
2020-10-26 02:19:33 +00:00
|
|
|
|
|
|
|
set(AUDIO_SOURCES
|
|
|
|
src/audio/files.cpp
|
2020-11-10 07:23:16 +00:00
|
|
|
src/audio/format/mp3file.cpp
|
|
|
|
src/audio/format/wavfile.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/audio/player.cpp
|
2020-11-14 16:42:18 +00:00
|
|
|
src/audio/soundhandle.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/audio/soundinstance.cpp
|
|
|
|
src/audio/stream.cpp
|
2020-11-10 07:23:16 +00:00
|
|
|
src/audio/util.cpp)
|
2020-10-26 02:19:33 +00:00
|
|
|
|
|
|
|
add_library(libaudio STATIC ${AUDIO_HEADERS} ${AUDIO_SOURCES})
|
|
|
|
set_target_properties(libaudio PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libaudio static library
|
|
|
|
|
2020-10-28 01:28:00 +00:00
|
|
|
## libvideo static library
|
|
|
|
|
|
|
|
set(VIDEO_HEADERS
|
|
|
|
src/video/bikfile.h
|
|
|
|
src/video/video.h)
|
|
|
|
|
|
|
|
set(VIDEO_SOURCES
|
|
|
|
src/video/bikfile.cpp
|
|
|
|
src/video/video.cpp)
|
|
|
|
|
|
|
|
add_library(libvideo STATIC ${VIDEO_HEADERS} ${VIDEO_SOURCES})
|
|
|
|
set_target_properties(libvideo PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
2020-11-08 14:08:52 +00:00
|
|
|
if(ENABLE_VIDEO)
|
|
|
|
target_compile_definitions(libvideo PRIVATE -DREONE_ENABLE_VIDEO)
|
|
|
|
endif()
|
|
|
|
|
2020-10-28 01:28:00 +00:00
|
|
|
## END libvideo static library
|
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
## libscene static library
|
|
|
|
|
|
|
|
set(SCENE_HEADERS
|
2020-11-28 08:09:02 +00:00
|
|
|
src/scene/node/cameranode.h
|
|
|
|
src/scene/node/cubenode.h
|
2021-01-10 13:13:21 +00:00
|
|
|
src/scene/node/emitternode.h
|
2020-11-28 08:09:02 +00:00
|
|
|
src/scene/node/lightnode.h
|
|
|
|
src/scene/node/modelnodescenenode.h
|
|
|
|
src/scene/node/modelscenenode.h
|
2021-01-11 10:23:39 +00:00
|
|
|
src/scene/node/particlenode.h
|
2020-11-28 08:09:02 +00:00
|
|
|
src/scene/node/scenenode.h
|
2020-11-28 07:15:14 +00:00
|
|
|
src/scene/pipeline/control.h
|
|
|
|
src/scene/pipeline/world.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/scene/scenegraph.h
|
|
|
|
src/scene/scenenodeanimator.h)
|
|
|
|
|
|
|
|
set(SCENE_SOURCES
|
2020-11-28 08:09:02 +00:00
|
|
|
src/scene/node/cameranode.cpp
|
|
|
|
src/scene/node/cubenode.cpp
|
2021-01-10 13:13:21 +00:00
|
|
|
src/scene/node/emitternode.cpp
|
2020-11-28 08:09:02 +00:00
|
|
|
src/scene/node/lightnode.cpp
|
|
|
|
src/scene/node/modelnodescenenode.cpp
|
|
|
|
src/scene/node/modelscenenode.cpp
|
2021-01-11 10:23:39 +00:00
|
|
|
src/scene/node/particlenode.cpp
|
2020-11-28 08:09:02 +00:00
|
|
|
src/scene/node/scenenode.cpp
|
2020-11-28 07:15:14 +00:00
|
|
|
src/scene/pipeline/control.cpp
|
|
|
|
src/scene/pipeline/world.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/scene/scenegraph.cpp
|
|
|
|
src/scene/scenenodeanimator.cpp)
|
|
|
|
|
|
|
|
add_library(libscene STATIC ${SCENE_HEADERS} ${SCENE_SOURCES})
|
|
|
|
set_target_properties(libscene PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libscene static library
|
|
|
|
|
|
|
|
## libgui static library
|
|
|
|
|
|
|
|
set(GUI_HEADERS
|
|
|
|
src/gui/control/button.h
|
|
|
|
src/gui/control/control.h
|
|
|
|
src/gui/control/imagebutton.h
|
|
|
|
src/gui/control/label.h
|
|
|
|
src/gui/control/listbox.h
|
|
|
|
src/gui/control/panel.h
|
|
|
|
src/gui/control/scrollbar.h
|
|
|
|
src/gui/control/togglebutton.h
|
|
|
|
src/gui/gui.h
|
|
|
|
src/gui/scenebuilder.h
|
|
|
|
src/gui/textinput.h
|
|
|
|
src/gui/types.h)
|
|
|
|
|
|
|
|
set(GUI_SOURCES
|
|
|
|
src/gui/control/button.cpp
|
|
|
|
src/gui/control/control.cpp
|
|
|
|
src/gui/control/imagebutton.cpp
|
|
|
|
src/gui/control/label.cpp
|
|
|
|
src/gui/control/listbox.cpp
|
|
|
|
src/gui/control/panel.cpp
|
|
|
|
src/gui/control/scrollbar.cpp
|
|
|
|
src/gui/control/togglebutton.cpp
|
|
|
|
src/gui/gui.cpp
|
|
|
|
src/gui/scenebuilder.cpp
|
|
|
|
src/gui/textinput.cpp)
|
|
|
|
|
|
|
|
add_library(libgui STATIC ${GUI_HEADERS} ${GUI_SOURCES})
|
|
|
|
set_target_properties(libgui PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libgui static library
|
|
|
|
|
|
|
|
## libscript static library
|
|
|
|
|
|
|
|
set(SCRIPT_HEADERS
|
2020-12-12 04:09:59 +00:00
|
|
|
src/script/enginetype.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/script/execution.h
|
|
|
|
src/script/ncsfile.h
|
2020-12-12 04:09:59 +00:00
|
|
|
src/script/object.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/script/program.h
|
|
|
|
src/script/routine.h
|
|
|
|
src/script/scripts.h
|
|
|
|
src/script/types.h
|
|
|
|
src/script/util.h
|
|
|
|
src/script/variable.h)
|
|
|
|
|
|
|
|
set(SCRIPT_SOURCES
|
|
|
|
src/script/execution.cpp
|
|
|
|
src/script/ncsfile.cpp
|
|
|
|
src/script/program.cpp
|
|
|
|
src/script/routine.cpp
|
|
|
|
src/script/scripts.cpp
|
|
|
|
src/script/util.cpp
|
|
|
|
src/script/variable.cpp)
|
|
|
|
|
|
|
|
add_library(libscript STATIC ${SCRIPT_HEADERS} ${SCRIPT_SOURCES})
|
|
|
|
set_target_properties(libscript PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libscript static library
|
|
|
|
|
2020-10-11 04:02:29 +00:00
|
|
|
## libgame static library
|
|
|
|
|
|
|
|
set(GAME_HEADERS
|
2020-10-11 09:14:15 +00:00
|
|
|
src/game/action/action.h
|
2020-11-16 06:14:10 +00:00
|
|
|
src/game/action/attack.h
|
2020-10-11 09:14:15 +00:00
|
|
|
src/game/action/commandaction.h
|
|
|
|
src/game/action/follow.h
|
2020-11-16 14:45:20 +00:00
|
|
|
src/game/action/locationaction.h
|
2020-10-11 09:14:15 +00:00
|
|
|
src/game/action/movetoobject.h
|
|
|
|
src/game/action/movetopoint.h
|
|
|
|
src/game/action/objectaction.h
|
2021-01-06 13:27:47 +00:00
|
|
|
src/game/action/playanimation.h
|
2020-10-11 09:14:15 +00:00
|
|
|
src/game/action/startconversation.h
|
2020-10-11 07:16:09 +00:00
|
|
|
src/game/actionexecutor.h
|
2020-10-11 07:05:41 +00:00
|
|
|
src/game/actionqueue.h
|
2021-01-04 04:09:53 +00:00
|
|
|
src/game/blueprint/blueprint.h
|
2020-10-28 01:32:16 +00:00
|
|
|
src/game/blueprint/blueprints.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/game/blueprint/creature.h
|
|
|
|
src/game/blueprint/door.h
|
|
|
|
src/game/blueprint/item.h
|
|
|
|
src/game/blueprint/placeable.h
|
2020-11-09 07:20:50 +00:00
|
|
|
src/game/blueprint/sound.h
|
2020-10-26 02:19:33 +00:00
|
|
|
src/game/blueprint/trigger.h
|
2020-10-15 15:12:22 +00:00
|
|
|
src/game/camera/animatedcamera.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/camera/camera.h
|
2020-12-07 15:11:12 +00:00
|
|
|
src/game/camera/camerastyle.h
|
2020-10-14 09:56:27 +00:00
|
|
|
src/game/camera/dialogcamera.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/camera/firstperson.h
|
2020-11-12 04:38:04 +00:00
|
|
|
src/game/camera/staticcamera.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/camera/thirdperson.h
|
2020-10-28 05:32:39 +00:00
|
|
|
src/game/camera/types.h
|
2020-12-10 06:01:14 +00:00
|
|
|
src/game/characterutil.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/collisiondetect.h
|
|
|
|
src/game/console.h
|
2021-01-10 04:38:21 +00:00
|
|
|
src/game/combat/attackresolver.h
|
|
|
|
src/game/combat/attackresult.h
|
|
|
|
src/game/combat/combat.h
|
|
|
|
src/game/combat/damageresolver.h
|
2020-11-01 07:24:56 +00:00
|
|
|
src/game/cursors.h
|
2020-11-10 07:49:01 +00:00
|
|
|
src/game/dialog.h
|
2020-11-17 09:45:15 +00:00
|
|
|
src/game/enginetype/effect.h
|
2020-12-12 04:09:59 +00:00
|
|
|
src/game/enginetype/event.h
|
2020-11-16 04:48:21 +00:00
|
|
|
src/game/enginetype/location.h
|
2020-12-12 09:44:51 +00:00
|
|
|
src/game/enginetype/types.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/game.h
|
2020-12-30 07:08:57 +00:00
|
|
|
src/game/gui/chargen/abilities.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/chargen/chargen.h
|
|
|
|
src/game/gui/chargen/classselect.h
|
2020-12-30 07:08:57 +00:00
|
|
|
src/game/gui/chargen/custom.h
|
|
|
|
src/game/gui/chargen/feats.h
|
2021-01-05 01:01:40 +00:00
|
|
|
src/game/gui/chargen/levelup.h
|
2020-10-20 01:12:27 +00:00
|
|
|
src/game/gui/chargen/nameentry.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/chargen/portraitselect.h
|
|
|
|
src/game/gui/chargen/quick.h
|
|
|
|
src/game/gui/chargen/quickorcustom.h
|
2020-12-30 07:08:57 +00:00
|
|
|
src/game/gui/chargen/skills.h
|
2020-12-10 06:01:14 +00:00
|
|
|
src/game/gui/colorutil.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/container.h
|
|
|
|
src/game/gui/debugoverlay.h
|
|
|
|
src/game/gui/dialog.h
|
2021-01-05 01:01:40 +00:00
|
|
|
src/game/gui/gui.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/hud.h
|
2020-11-07 03:47:13 +00:00
|
|
|
src/game/gui/ingame/abilities.h
|
|
|
|
src/game/gui/ingame/character.h
|
|
|
|
src/game/gui/ingame/equip.h
|
|
|
|
src/game/gui/ingame/ingame.h
|
|
|
|
src/game/gui/ingame/inventory.h
|
|
|
|
src/game/gui/ingame/journal.h
|
|
|
|
src/game/gui/ingame/map.h
|
|
|
|
src/game/gui/ingame/messages.h
|
2020-11-07 05:43:30 +00:00
|
|
|
src/game/gui/ingame/options.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/loadscreen.h
|
|
|
|
src/game/gui/mainmenu.h
|
2020-11-04 18:25:52 +00:00
|
|
|
src/game/gui/partyselect.h
|
2020-11-07 05:43:30 +00:00
|
|
|
src/game/gui/saveload.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/selectoverlay.h
|
2020-12-07 01:38:31 +00:00
|
|
|
src/game/map.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/area.h
|
|
|
|
src/game/object/creature.h
|
2020-12-10 06:48:40 +00:00
|
|
|
src/game/object/creatureanimresolver.h
|
|
|
|
src/game/object/creaturemodelbuilder.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/door.h
|
|
|
|
src/game/object/item.h
|
|
|
|
src/game/object/module.h
|
|
|
|
src/game/object/object.h
|
|
|
|
src/game/object/objectfactory.h
|
|
|
|
src/game/object/placeable.h
|
2020-12-18 11:48:35 +00:00
|
|
|
src/game/object/placeablecamera.h
|
2020-11-09 07:20:50 +00:00
|
|
|
src/game/object/sound.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/spatial.h
|
|
|
|
src/game/object/trigger.h
|
2020-10-28 05:32:39 +00:00
|
|
|
src/game/object/types.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/waypoint.h
|
|
|
|
src/game/objectselect.h
|
2020-12-18 08:18:25 +00:00
|
|
|
src/game/options.h
|
2020-10-11 15:56:25 +00:00
|
|
|
src/game/party.h
|
2020-11-10 07:49:01 +00:00
|
|
|
src/game/path.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/pathfinder.h
|
|
|
|
src/game/player.h
|
2020-12-18 08:18:25 +00:00
|
|
|
src/game/portrait.h
|
2020-12-10 06:01:14 +00:00
|
|
|
src/game/portraitutil.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/room.h
|
2021-01-05 07:56:48 +00:00
|
|
|
src/game/rp/abilities.h
|
2020-11-15 10:08:52 +00:00
|
|
|
src/game/rp/attributes.h
|
2021-01-03 05:09:30 +00:00
|
|
|
src/game/rp/class.h
|
|
|
|
src/game/rp/classes.h
|
2020-12-12 05:24:13 +00:00
|
|
|
src/game/rp/factionutil.h
|
2021-01-10 04:11:15 +00:00
|
|
|
src/game/rp/savingthrows.h
|
2021-01-05 07:56:48 +00:00
|
|
|
src/game/rp/skills.h
|
2020-10-28 01:54:52 +00:00
|
|
|
src/game/rp/types.h
|
2020-11-10 07:49:01 +00:00
|
|
|
src/game/savedgame.h
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/script/routines.h
|
2020-12-17 07:28:48 +00:00
|
|
|
src/game/script/runner.h
|
2020-10-12 00:50:22 +00:00
|
|
|
src/game/types.h)
|
2020-10-11 04:02:29 +00:00
|
|
|
|
|
|
|
set(GAME_SOURCES
|
2020-10-11 09:14:15 +00:00
|
|
|
src/game/action/action.cpp
|
|
|
|
src/game/action/commandaction.cpp
|
|
|
|
src/game/action/follow.cpp
|
|
|
|
src/game/action/movetoobject.cpp
|
|
|
|
src/game/action/movetopoint.cpp
|
|
|
|
src/game/action/objectaction.cpp
|
|
|
|
src/game/action/startconversation.cpp
|
2020-10-11 07:16:09 +00:00
|
|
|
src/game/actionexecutor.cpp
|
2020-10-11 07:05:41 +00:00
|
|
|
src/game/actionqueue.cpp
|
2020-10-28 01:32:16 +00:00
|
|
|
src/game/blueprint/blueprints.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/game/blueprint/creature.cpp
|
|
|
|
src/game/blueprint/door.cpp
|
|
|
|
src/game/blueprint/item.cpp
|
|
|
|
src/game/blueprint/placeable.cpp
|
2020-11-09 07:20:50 +00:00
|
|
|
src/game/blueprint/sound.cpp
|
2020-10-26 02:19:33 +00:00
|
|
|
src/game/blueprint/trigger.cpp
|
2020-10-15 15:12:22 +00:00
|
|
|
src/game/camera/animatedcamera.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/camera/camera.cpp
|
2020-12-07 15:11:12 +00:00
|
|
|
src/game/camera/camerastyle.cpp
|
2020-10-14 09:56:27 +00:00
|
|
|
src/game/camera/dialogcamera.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/camera/firstperson.cpp
|
2020-11-12 04:38:04 +00:00
|
|
|
src/game/camera/staticcamera.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/camera/thirdperson.cpp
|
2020-12-10 06:01:14 +00:00
|
|
|
src/game/characterutil.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/collisiondetect.cpp
|
|
|
|
src/game/console.cpp
|
2021-01-10 04:38:21 +00:00
|
|
|
src/game/combat/attackresolver.cpp
|
|
|
|
src/game/combat/combat.cpp
|
|
|
|
src/game/combat/damageresolver.cpp
|
2020-11-01 07:24:56 +00:00
|
|
|
src/game/cursors.cpp
|
2020-11-10 07:49:01 +00:00
|
|
|
src/game/dialog.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/game.cpp
|
2020-12-30 07:08:57 +00:00
|
|
|
src/game/gui/chargen/abilities.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/chargen/chargen.cpp
|
|
|
|
src/game/gui/chargen/classselect.cpp
|
2020-12-30 07:08:57 +00:00
|
|
|
src/game/gui/chargen/custom.cpp
|
|
|
|
src/game/gui/chargen/feats.cpp
|
2021-01-05 01:01:40 +00:00
|
|
|
src/game/gui/chargen/levelup.cpp
|
2020-10-20 01:12:27 +00:00
|
|
|
src/game/gui/chargen/nameentry.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/chargen/portraitselect.cpp
|
|
|
|
src/game/gui/chargen/quick.cpp
|
|
|
|
src/game/gui/chargen/quickorcustom.cpp
|
2020-12-30 07:08:57 +00:00
|
|
|
src/game/gui/chargen/skills.cpp
|
2020-12-10 06:01:14 +00:00
|
|
|
src/game/gui/colorutil.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/container.cpp
|
|
|
|
src/game/gui/debugoverlay.cpp
|
|
|
|
src/game/gui/dialog.cpp
|
2021-01-05 01:01:40 +00:00
|
|
|
src/game/gui/gui.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/hud.cpp
|
2020-11-07 03:47:13 +00:00
|
|
|
src/game/gui/ingame/abilities.cpp
|
|
|
|
src/game/gui/ingame/character.cpp
|
|
|
|
src/game/gui/ingame/equip.cpp
|
|
|
|
src/game/gui/ingame/ingame.cpp
|
|
|
|
src/game/gui/ingame/inventory.cpp
|
|
|
|
src/game/gui/ingame/journal.cpp
|
|
|
|
src/game/gui/ingame/map.cpp
|
|
|
|
src/game/gui/ingame/messages.cpp
|
2020-11-07 05:43:30 +00:00
|
|
|
src/game/gui/ingame/options.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/loadscreen.cpp
|
|
|
|
src/game/gui/mainmenu.cpp
|
2020-11-04 18:25:52 +00:00
|
|
|
src/game/gui/partyselect.cpp
|
2020-11-07 05:43:30 +00:00
|
|
|
src/game/gui/saveload.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/gui/selectoverlay.cpp
|
2020-12-07 01:38:31 +00:00
|
|
|
src/game/map.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/area.cpp
|
|
|
|
src/game/object/creature.cpp
|
2020-12-10 06:48:40 +00:00
|
|
|
src/game/object/creatureanimresolver.cpp
|
|
|
|
src/game/object/creaturemodelbuilder.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/door.cpp
|
|
|
|
src/game/object/item.cpp
|
|
|
|
src/game/object/module.cpp
|
|
|
|
src/game/object/object.cpp
|
|
|
|
src/game/object/objectfactory.cpp
|
|
|
|
src/game/object/placeable.cpp
|
2020-12-18 11:48:35 +00:00
|
|
|
src/game/object/placeablecamera.cpp
|
2020-11-09 07:20:50 +00:00
|
|
|
src/game/object/sound.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/object/spatial.cpp
|
|
|
|
src/game/object/trigger.cpp
|
|
|
|
src/game/object/waypoint.cpp
|
|
|
|
src/game/objectselect.cpp
|
2020-10-11 15:56:25 +00:00
|
|
|
src/game/party.cpp
|
2020-11-10 07:49:01 +00:00
|
|
|
src/game/path.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/pathfinder.cpp
|
|
|
|
src/game/player.cpp
|
2020-12-10 06:01:14 +00:00
|
|
|
src/game/portraitutil.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/room.cpp
|
2021-01-05 07:56:48 +00:00
|
|
|
src/game/rp/abilities.cpp
|
2020-11-15 10:08:52 +00:00
|
|
|
src/game/rp/attributes.cpp
|
2021-01-03 05:09:30 +00:00
|
|
|
src/game/rp/class.cpp
|
|
|
|
src/game/rp/classes.cpp
|
2020-12-12 05:24:13 +00:00
|
|
|
src/game/rp/factionutil.cpp
|
2021-01-05 07:56:48 +00:00
|
|
|
src/game/rp/skills.cpp
|
2020-11-10 07:49:01 +00:00
|
|
|
src/game/savedgame.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/script/routines.cpp
|
2020-11-15 11:17:21 +00:00
|
|
|
src/game/script/routines_actions.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/script/routines_common.cpp
|
2020-12-12 09:44:51 +00:00
|
|
|
src/game/script/routines_effects.cpp
|
2020-11-16 04:48:21 +00:00
|
|
|
src/game/script/routines_enginetypes.cpp
|
2020-11-15 11:17:21 +00:00
|
|
|
src/game/script/routines_events.cpp
|
2021-01-08 10:46:17 +00:00
|
|
|
src/game/script/routines_items.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/script/routines_kotor.cpp
|
2020-11-15 11:17:21 +00:00
|
|
|
src/game/script/routines_objects.cpp
|
|
|
|
src/game/script/routines_math.cpp
|
|
|
|
src/game/script/routines_rp.cpp
|
|
|
|
src/game/script/routines_party.cpp
|
2020-12-29 13:17:10 +00:00
|
|
|
src/game/script/routines_time.cpp
|
2020-10-11 04:02:29 +00:00
|
|
|
src/game/script/routines_tsl.cpp
|
2020-11-15 11:17:21 +00:00
|
|
|
src/game/script/routines_vars.cpp
|
2020-12-17 07:28:48 +00:00
|
|
|
src/game/script/runner.cpp)
|
2020-10-11 04:02:29 +00:00
|
|
|
|
|
|
|
add_library(libgame STATIC ${GAME_HEADERS} ${GAME_SOURCES})
|
2020-10-11 05:55:10 +00:00
|
|
|
set_target_properties(libgame PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
2020-10-11 04:02:29 +00:00
|
|
|
|
|
|
|
## END libgame static library
|
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
## libnet static library
|
|
|
|
|
|
|
|
set(NET_HEADERS
|
|
|
|
src/net/client.h
|
|
|
|
src/net/connection.h
|
|
|
|
src/net/command.h
|
|
|
|
src/net/server.h
|
|
|
|
src/net/types.h)
|
|
|
|
|
|
|
|
set(NET_SOURCES
|
|
|
|
src/net/client.cpp
|
|
|
|
src/net/connection.cpp
|
|
|
|
src/net/command.cpp
|
|
|
|
src/net/server.cpp)
|
|
|
|
|
|
|
|
add_library(libnet STATIC ${NET_HEADERS} ${NET_SOURCES})
|
|
|
|
set_target_properties(libnet PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libnet static library
|
|
|
|
|
2020-10-19 06:23:15 +00:00
|
|
|
## libmp static library
|
|
|
|
|
|
|
|
set(MP_HEADERS
|
|
|
|
src/mp/command.h
|
|
|
|
src/mp/game.h
|
2020-10-19 06:30:08 +00:00
|
|
|
src/mp/types.h
|
2020-10-19 06:23:15 +00:00
|
|
|
src/mp/util.h)
|
|
|
|
|
|
|
|
set(MP_SOURCES
|
|
|
|
src/mp/command.cpp
|
|
|
|
src/mp/game.cpp
|
|
|
|
src/mp/util.cpp)
|
|
|
|
|
|
|
|
add_library(libmp STATIC ${MP_HEADERS} ${MP_SOURCES})
|
|
|
|
set_target_properties(libmp PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
|
|
|
|
## END libmp static library
|
|
|
|
|
2020-10-11 04:02:29 +00:00
|
|
|
## reone executable
|
|
|
|
|
2020-10-11 04:53:17 +00:00
|
|
|
set(REONE_HEADERS
|
|
|
|
src/program.h)
|
|
|
|
|
|
|
|
set(REONE_SOURCES
|
|
|
|
src/main.cpp
|
|
|
|
src/program.cpp)
|
|
|
|
|
2020-11-01 16:46:36 +00:00
|
|
|
if(WIN32)
|
|
|
|
list(APPEND REONE_SOURCES res/reone.rc)
|
|
|
|
endif()
|
|
|
|
|
2020-10-11 04:53:17 +00:00
|
|
|
add_executable(reone ${REONE_HEADERS} ${REONE_SOURCES})
|
2020-10-11 05:55:10 +00:00
|
|
|
set_target_properties(reone PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
2020-10-26 02:19:33 +00:00
|
|
|
|
|
|
|
target_link_libraries(reone PRIVATE
|
2020-11-10 06:44:48 +00:00
|
|
|
libmp libnet libgame libscript libgui libscene libvideo librender libaudio libresource libcommon
|
2020-10-26 02:19:33 +00:00
|
|
|
${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_SYSTEM_LIBRARY}
|
|
|
|
GLEW::GLEW
|
|
|
|
${OPENGL_LIBRARIES}
|
|
|
|
${MAD_LIBRARY})
|
|
|
|
|
2020-11-08 14:08:52 +00:00
|
|
|
if(ENABLE_VIDEO)
|
|
|
|
target_link_libraries(reone PRIVATE ${FFMPEG_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
|
2020-10-26 02:19:33 +00:00
|
|
|
if(WIN32)
|
|
|
|
target_link_libraries(reone PRIVATE SDL2::SDL2 OpenAL::OpenAL)
|
|
|
|
else()
|
2020-11-15 12:58:05 +00:00
|
|
|
target_link_libraries(reone PRIVATE ${SDL2_LIBRARIES} ${OpenAL_LIBRARIES} Threads::Threads -latomic)
|
2020-10-26 02:19:33 +00:00
|
|
|
endif()
|
2020-10-11 04:02:29 +00:00
|
|
|
|
|
|
|
## END reone executable
|
|
|
|
|
|
|
|
## reone-tools executable
|
2020-10-10 08:00:01 +00:00
|
|
|
|
2020-08-03 13:16:58 +00:00
|
|
|
if(BUILD_TOOLS)
|
|
|
|
set(TOOLS_HEADERS
|
|
|
|
tools/program.h
|
|
|
|
tools/tools.h)
|
|
|
|
|
|
|
|
set(TOOLS_SOURCES
|
|
|
|
tools/main.cpp
|
|
|
|
tools/2datool.cpp
|
|
|
|
tools/biftool.cpp
|
|
|
|
tools/erftool.cpp
|
|
|
|
tools/gfftool.cpp
|
|
|
|
tools/keytool.cpp
|
|
|
|
tools/program.cpp
|
|
|
|
tools/rimtool.cpp
|
2020-08-14 04:21:01 +00:00
|
|
|
tools/tlktool.cpp
|
2020-08-03 13:16:58 +00:00
|
|
|
tools/tools.cpp)
|
|
|
|
|
2020-10-11 04:02:29 +00:00
|
|
|
add_executable(reone-tools ${TOOLS_HEADERS} ${TOOLS_SOURCES})
|
2020-10-11 05:55:10 +00:00
|
|
|
set_target_properties(reone-tools PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
2020-11-10 06:44:48 +00:00
|
|
|
target_link_libraries(reone-tools PRIVATE libresource libcommon ${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_SYSTEM_LIBRARY})
|
2020-08-03 13:16:58 +00:00
|
|
|
endif()
|
2020-10-10 08:25:36 +00:00
|
|
|
|
2020-10-11 04:02:29 +00:00
|
|
|
## END reone-tools executable
|
|
|
|
|
|
|
|
## Unit tests
|
|
|
|
|
2020-10-10 08:25:36 +00:00
|
|
|
if(BUILD_TESTS)
|
|
|
|
enable_testing()
|
2020-10-11 09:56:50 +00:00
|
|
|
file(GLOB TEST_FILES "tests/*.cpp")
|
|
|
|
foreach(TEST_FILE ${TEST_FILES})
|
|
|
|
get_filename_component(TEST_NAME "${TEST_FILE}" NAME_WE)
|
|
|
|
add_executable(test_${TEST_NAME} ${TEST_FILE})
|
2020-12-11 08:35:51 +00:00
|
|
|
target_link_libraries(test_${TEST_NAME} PRIVATE libgame libscript libcommon ${Boost_FILESYSTEM_LIBRARY})
|
2020-10-26 02:19:33 +00:00
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
target_link_libraries(test_${TEST_NAME} PRIVATE SDL2::SDL2)
|
|
|
|
else()
|
|
|
|
target_link_libraries(test_${TEST_NAME} PRIVATE ${SDL2_LIBRARIES})
|
|
|
|
endif()
|
|
|
|
|
2020-10-11 09:56:50 +00:00
|
|
|
add_test(${TEST_NAME} test_${TEST_NAME})
|
|
|
|
endforeach()
|
2020-10-10 08:25:36 +00:00
|
|
|
endif()
|
2020-10-11 04:02:29 +00:00
|
|
|
|
2020-10-29 02:43:35 +00:00
|
|
|
## END Unit tests
|