|
|
|
|
include(Definitions)
|
|
|
|
|
include(functions/devilutionx_library)
|
|
|
|
|
include(functions/genex)
|
|
|
|
|
|
|
|
|
|
set(libdevilutionx_SRCS
|
|
|
|
|
appfat.cpp
|
|
|
|
|
automap.cpp
|
|
|
|
|
capture.cpp
|
|
|
|
|
cursor.cpp
|
|
|
|
|
dead.cpp
|
|
|
|
|
debug.cpp
|
|
|
|
|
diablo.cpp
|
|
|
|
|
diablo_msg.cpp
|
|
|
|
|
doom.cpp
|
|
|
|
|
gamemenu.cpp
|
|
|
|
|
gmenu.cpp
|
|
|
|
|
help.cpp
|
|
|
|
|
hwcursor.cpp
|
|
|
|
|
interfac.cpp
|
|
|
|
|
inv.cpp
|
|
|
|
|
loadsave.cpp
|
|
|
|
|
menu.cpp
|
|
|
|
|
minitext.cpp
|
|
|
|
|
missiles.cpp
|
|
|
|
|
movie.cpp
|
|
|
|
|
msg.cpp
|
|
|
|
|
nthread.cpp
|
|
|
|
|
pfile.cpp
|
|
|
|
|
plrmsg.cpp
|
|
|
|
|
portal.cpp
|
|
|
|
|
restrict.cpp
|
|
|
|
|
sync.cpp
|
|
|
|
|
tmsg.cpp
|
|
|
|
|
towners.cpp
|
|
|
|
|
track.cpp
|
|
|
|
|
|
|
|
|
|
control/control_chat.cpp
|
|
|
|
|
control/control_chat_commands.cpp
|
|
|
|
|
control/control_flasks.cpp
|
|
|
|
|
control/control_gold.cpp
|
|
|
|
|
control/control_infobox.cpp
|
|
|
|
|
control/control_panel.cpp
|
|
|
|
|
|
|
|
|
|
controls/axis_direction.cpp
|
|
|
|
|
controls/controller_motion.cpp
|
|
|
|
|
controls/controller.cpp
|
|
|
|
|
controls/devices/joystick.cpp
|
|
|
|
|
controls/devices/kbcontroller.cpp
|
|
|
|
|
controls/game_controls.cpp
|
|
|
|
|
controls/keymapper.cpp
|
|
|
|
|
controls/menu_controls.cpp
|
|
|
|
|
controls/modifier_hints.cpp
|
|
|
|
|
controls/plrctrls.cpp
|
|
|
|
|
|
|
|
|
|
DiabloUI/button.cpp
|
|
|
|
|
DiabloUI/credits.cpp
|
|
|
|
|
DiabloUI/credits_lines.cpp
|
|
|
|
|
DiabloUI/diabloui.cpp
|
|
|
|
|
DiabloUI/dialogs.cpp
|
|
|
|
|
DiabloUI/hero/selhero.cpp
|
|
|
|
|
DiabloUI/mainmenu.cpp
|
|
|
|
|
DiabloUI/multi/selconn.cpp
|
|
|
|
|
DiabloUI/multi/selgame.cpp
|
|
|
|
|
DiabloUI/progress.cpp
|
|
|
|
|
DiabloUI/scrollbar.cpp
|
|
|
|
|
DiabloUI/selok.cpp
|
|
|
|
|
DiabloUI/selstart.cpp
|
|
|
|
|
DiabloUI/selyesno.cpp
|
|
|
|
|
DiabloUI/settingsmenu.cpp
|
|
|
|
|
DiabloUI/support_lines.cpp
|
|
|
|
|
DiabloUI/title.cpp
|
|
|
|
|
DiabloUI/text_input.cpp
|
|
|
|
|
|
|
|
|
|
dvlnet/abstract_net.cpp
|
|
|
|
|
dvlnet/base.cpp
|
|
|
|
|
dvlnet/cdwrap.cpp
|
|
|
|
|
dvlnet/frame_queue.cpp
|
|
|
|
|
dvlnet/loopback.cpp
|
|
|
|
|
dvlnet/packet.cpp
|
|
|
|
|
|
|
|
|
|
engine/actor_position.cpp
|
|
|
|
|
engine/animationinfo.cpp
|
|
|
|
|
engine/backbuffer_state.cpp
|
|
|
|
|
engine/dx.cpp
|
|
|
|
|
engine/events.cpp
|
|
|
|
|
engine/palette.cpp
|
|
|
|
|
engine/sound_position.cpp
|
|
|
|
|
engine/trn.cpp
|
|
|
|
|
|
|
|
|
|
engine/render/automap_render.cpp
|
|
|
|
|
engine/render/scrollrt.cpp
|
|
|
|
|
|
|
|
|
|
items/validation.cpp
|
|
|
|
|
|
|
|
|
|
levels/reencode_dun_cels.cpp
|
|
|
|
|
levels/setmaps.cpp
|
|
|
|
|
levels/themes.cpp
|
|
|
|
|
levels/tile_properties.cpp
|
|
|
|
|
levels/town.cpp
|
|
|
|
|
levels/trigs.cpp
|
|
|
|
|
|
|
|
|
|
lua/autocomplete.cpp
|
|
|
|
|
lua/lua_global.cpp
|
|
|
|
|
lua/modules/audio.cpp
|
|
|
|
|
lua/modules/hellfire.cpp
|
|
|
|
|
lua/modules/dev.cpp
|
|
|
|
|
lua/modules/dev/display.cpp
|
|
|
|
|
lua/modules/dev/items.cpp
|
|
|
|
|
lua/modules/dev/level.cpp
|
|
|
|
|
lua/modules/dev/level/map.cpp
|
|
|
|
|
lua/modules/dev/level/warp.cpp
|
|
|
|
|
lua/modules/dev/monsters.cpp
|
|
|
|
|
lua/modules/dev/player.cpp
|
|
|
|
|
lua/modules/dev/player/gold.cpp
|
|
|
|
|
lua/modules/dev/player/spells.cpp
|
|
|
|
|
lua/modules/dev/player/stats.cpp
|
|
|
|
|
lua/modules/dev/quests.cpp
|
|
|
|
|
lua/modules/dev/search.cpp
|
|
|
|
|
lua/modules/dev/towners.cpp
|
|
|
|
|
lua/modules/floatingnumbers.cpp
|
|
|
|
|
lua/modules/i18n.cpp
|
|
|
|
|
lua/modules/items.cpp
|
|
|
|
|
lua/modules/log.cpp
|
|
|
|
|
lua/modules/monsters.cpp
|
|
|
|
|
lua/modules/player.cpp
|
|
|
|
|
lua/modules/render.cpp
|
|
|
|
|
lua/modules/towners.cpp
|
|
|
|
|
lua/repl.cpp
|
|
|
|
|
|
|
|
|
|
monsters/validation.cpp
|
|
|
|
|
|
|
|
|
|
panels/charpanel.cpp
|
|
|
|
|
panels/console.cpp
|
|
|
|
|
panels/info_box.cpp
|
|
|
|
|
panels/mainpanel.cpp
|
|
|
|
|
panels/partypanel.cpp
|
|
|
|
|
panels/spell_book.cpp
|
|
|
|
|
panels/spell_icons.cpp
|
|
|
|
|
panels/spell_list.cpp
|
|
|
|
|
|
|
|
|
|
platform/locale.cpp
|
|
|
|
|
|
|
|
|
|
portals/validation.cpp
|
|
|
|
|
|
|
|
|
|
qol/autopickup.cpp
|
|
|
|
|
qol/chatlog.cpp
|
|
|
|
|
qol/floatingnumbers.cpp
|
|
|
|
|
qol/itemlabels.cpp
|
|
|
|
|
qol/monhealthbar.cpp
|
|
|
|
|
qol/stash.cpp
|
|
|
|
|
qol/xpbar.cpp
|
|
|
|
|
|
|
|
|
|
quests/validation.cpp
|
|
|
|
|
|
|
|
|
|
storm/storm_net.cpp
|
|
|
|
|
storm/storm_svid.cpp
|
|
|
|
|
|
|
|
|
|
tables/misdat.cpp
|
|
|
|
|
tables/textdat.cpp
|
|
|
|
|
tables/townerdat.cpp
|
|
|
|
|
|
|
|
|
|
utils/display.cpp
|
|
|
|
|
utils/language.cpp
|
|
|
|
|
utils/sdl_bilinear_scale.cpp
|
|
|
|
|
utils/sdl_thread.cpp
|
|
|
|
|
utils/surface_to_clx.cpp
|
|
|
|
|
utils/timer.cpp)
|
|
|
|
|
|
|
|
|
|
# These files are responsible for most of the runtime in Debug mode.
|
|
|
|
|
# Apply some optimizations to them even in Debug mode to get reasonable performance.
|
|
|
|
|
#
|
|
|
|
|
# They also perform better with -O2 rather than -O3 even in Release mode.
|
|
|
|
|
set(_optimize_in_debug_srcs
|
|
|
|
|
engine/render/clx_render.cpp
|
|
|
|
|
engine/render/dun_render.cpp
|
|
|
|
|
engine/render/text_render.cpp
|
|
|
|
|
utils/cel_to_clx.cpp
|
|
|
|
|
utils/cl2_to_clx.cpp
|
|
|
|
|
utils/pcx_to_clx.cpp)
|
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
|
|
|
set_source_files_properties(${_optimize_in_debug_srcs} PROPERTIES COMPILE_OPTIONS "-O2;--param=max-vartrack-size=900000000")
|
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
|
|
|
set_source_files_properties(${_optimize_in_debug_srcs} PROPERTIES COMPILE_OPTIONS "-O2")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# We need to define all the object libraries first
|
|
|
|
|
# because our workaround for transitive dependency support
|
|
|
|
|
# requires targets to exist when calling `target_link_dependencies`
|
|
|
|
|
# (see object_libraries.cmake).
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_assets
|
|
|
|
|
engine/assets.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_assets PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_headless_mode
|
|
|
|
|
libdevilutionx_game_mode
|
|
|
|
|
libdevilutionx_mpq
|
|
|
|
|
libdevilutionx_paths
|
|
|
|
|
libdevilutionx_sdl2_to_1_2_backports
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
${DEVILUTIONX_PLATFORM_ASSETS_LINK_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_cel_to_clx
|
|
|
|
|
utils/cel_to_clx.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_cel_to_clx
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_endian_write
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_cl2_to_clx
|
|
|
|
|
utils/cl2_to_clx.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_cl2_to_clx
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_endian_write
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_clx_render
|
|
|
|
|
engine/render/clx_render.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_clx_render PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
libdevilutionx_light_render
|
|
|
|
|
libdevilutionx_palette_blending
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_codec
|
|
|
|
|
codec.cpp
|
|
|
|
|
sha.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_codec PRIVATE
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_log
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_controller_buttons
|
|
|
|
|
controls/controller_buttons.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_controller_buttons
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_control_mode
|
|
|
|
|
controls/control_mode.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_control_mode PUBLIC
|
|
|
|
|
libdevilutionx_controller_buttons
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_padmapper
|
|
|
|
|
controls/padmapper.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_padmapper PUBLIC
|
|
|
|
|
libdevilutionx_controller_buttons
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_palette_kd_tree
|
|
|
|
|
utils/palette_kd_tree.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_palette_kd_tree PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_paths
|
|
|
|
|
utils/paths.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_paths PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_file_util
|
|
|
|
|
libdevilutionx_log
|
|
|
|
|
libdevilutionx_sdl2_to_1_2_backports
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_pcx_to_clx
|
|
|
|
|
utils/pcx_to_clx.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_pcx_to_clx
|
|
|
|
|
PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
libdevilutionx_endian_write
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_primitive_render
|
|
|
|
|
engine/render/primitive_render.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_primitive_render
|
|
|
|
|
PUBLIC
|
|
|
|
|
libdevilutionx_palette_blending
|
|
|
|
|
libdevilutionx_surface
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_crawl
|
|
|
|
|
crawl.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_crawl PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_direction
|
|
|
|
|
engine/direction.cpp
|
|
|
|
|
)
|
|
|
|
|
|
Make `dun_render` a standalone library
Does not make `dun_render_benchmark` standalone yet as that will require
more untangling.
Benchmark is neutral:
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------------
Render<LeftTriangle, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Solid, FullyLit>_mean +0.0119 +0.0120 8377 8477 8375 8475
Render<LeftTriangle, Solid, FullyLit>_median +0.0119 +0.0119 8376 8477 8375 8475
Render<LeftTriangle, Solid, FullyLit>_stddev -0.0884 -0.2462 2 1 1 1
Render<LeftTriangle, Solid, FullyLit>_cv -0.0992 -0.2551 0 0 0 0
Render<LeftTriangle, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Solid, FullyDark>_mean +0.0910 +0.0910 21174 23100 21170 23097
Render<LeftTriangle, Solid, FullyDark>_median +0.0869 +0.0869 21183 23023 21179 23019
Render<LeftTriangle, Solid, FullyDark>_stddev -0.1528 -0.1593 267 226 268 225
Render<LeftTriangle, Solid, FullyDark>_cv -0.2234 -0.2294 0 0 0 0
Render<LeftTriangle, Solid, PartiallyLit>_pvalue 0.0013 0.0013 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Solid, PartiallyLit>_mean +0.0065 +0.0065 81168 81698 81151 81680
Render<LeftTriangle, Solid, PartiallyLit>_median +0.0075 +0.0073 81143 81748 81136 81730
Render<LeftTriangle, Solid, PartiallyLit>_stddev +0.8663 +0.8787 167 311 164 307
Render<LeftTriangle, Solid, PartiallyLit>_cv +0.8542 +0.8665 0 0 0 0
Render<LeftTriangle, Transparent, FullyLit>_pvalue 0.0028 0.0017 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Transparent, FullyLit>_mean -0.0239 -0.0239 94989 92719 94973 92703
Render<LeftTriangle, Transparent, FullyLit>_median -0.0122 -0.0123 93867 92717 93856 92704
Render<LeftTriangle, Transparent, FullyLit>_stddev -0.9920 -0.9955 2370 19 2368 11
Render<LeftTriangle, Transparent, FullyLit>_cv -0.9918 -0.9954 0 0 0 0
Render<LeftTriangle, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Transparent, FullyDark>_mean -0.0841 -0.0841 76234 69821 76220 69809
Render<LeftTriangle, Transparent, FullyDark>_median -0.0831 -0.0832 76209 69877 76202 69864
Render<LeftTriangle, Transparent, FullyDark>_stddev -0.4486 -0.4538 441 243 440 241
Render<LeftTriangle, Transparent, FullyDark>_cv -0.3979 -0.4037 0 0 0 0
Render<LeftTriangle, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Transparent, PartiallyLit>_mean +0.0022 +0.0021 128812 129091 128792 129067
Render<LeftTriangle, Transparent, PartiallyLit>_median +0.0023 +0.0023 128820 129115 128805 129096
Render<LeftTriangle, Transparent, PartiallyLit>_stddev +0.8757 +0.6866 50 93 53 90
Render<LeftTriangle, Transparent, PartiallyLit>_cv +0.8716 +0.6830 0 0 0 0
Render<RightTriangle, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Solid, FullyLit>_mean +0.0057 +0.0057 8521 8570 8520 8569
Render<RightTriangle, Solid, FullyLit>_median +0.0057 +0.0057 8522 8570 8520 8568
Render<RightTriangle, Solid, FullyLit>_stddev -0.1826 -0.0420 1 1 1 1
Render<RightTriangle, Solid, FullyLit>_cv -0.1872 -0.0475 0 0 0 0
Render<RightTriangle, Solid, FullyDark>_pvalue 0.0006 0.0006 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Solid, FullyDark>_mean -0.0303 -0.0303 22678 21991 22675 21987
Render<RightTriangle, Solid, FullyDark>_median -0.0360 -0.0359 22704 21888 22699 21883
Render<RightTriangle, Solid, FullyDark>_stddev +0.4759 +0.4648 195 288 196 287
Render<RightTriangle, Solid, FullyDark>_cv +0.5220 +0.5106 0 0 0 0
Render<RightTriangle, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Solid, PartiallyLit>_mean +0.0338 +0.0338 83355 86170 83341 86157
Render<RightTriangle, Solid, PartiallyLit>_median +0.0347 +0.0348 83248 86140 83230 86126
Render<RightTriangle, Solid, PartiallyLit>_stddev +0.3670 +0.3423 238 326 240 322
Render<RightTriangle, Solid, PartiallyLit>_cv +0.3224 +0.2985 0 0 0 0
Render<RightTriangle, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Transparent, FullyLit>_mean -0.0617 -0.0616 102726 96392 102706 96375
Render<RightTriangle, Transparent, FullyLit>_median -0.0598 -0.0597 102521 96394 102498 96375
Render<RightTriangle, Transparent, FullyLit>_stddev -0.9516 -0.9548 456 22 461 21
Render<RightTriangle, Transparent, FullyLit>_cv -0.9485 -0.9518 0 0 0 0
Render<RightTriangle, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Transparent, FullyDark>_mean -0.1377 -0.1377 84505 72865 84492 72853
Render<RightTriangle, Transparent, FullyDark>_median -0.1374 -0.1374 84339 72748 84323 72740
Render<RightTriangle, Transparent, FullyDark>_stddev -0.2760 -0.2867 526 381 528 377
Render<RightTriangle, Transparent, FullyDark>_cv -0.1604 -0.1727 0 0 0 0
Render<RightTriangle, Transparent, PartiallyLit>_pvalue 0.0036 0.0017 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Transparent, PartiallyLit>_mean +0.0010 +0.0010 131672 131808 131649 131784
Render<RightTriangle, Transparent, PartiallyLit>_median +0.0010 +0.0008 131665 131797 131654 131757
Render<RightTriangle, Transparent, PartiallyLit>_stddev -0.0688 -0.0128 81 75 72 71
Render<RightTriangle, Transparent, PartiallyLit>_cv -0.0697 -0.0138 0 0 0 0
Render<TransparentSquare, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Solid, FullyLit>_mean -0.0300 -0.0300 143323 139021 143300 139000
Render<TransparentSquare, Solid, FullyLit>_median -0.0300 -0.0301 143321 139014 143310 138990
Render<TransparentSquare, Solid, FullyLit>_stddev +0.0008 -0.0820 43 43 43 39
Render<TransparentSquare, Solid, FullyLit>_cv +0.0318 -0.0536 0 0 0 0
Render<TransparentSquare, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Solid, FullyDark>_mean -0.0100 -0.0100 134939 133588 134914 133565
Render<TransparentSquare, Solid, FullyDark>_median -0.0106 -0.0108 134964 133526 134948 133497
Render<TransparentSquare, Solid, FullyDark>_stddev +1.7508 +1.8682 99 273 96 276
Render<TransparentSquare, Solid, FullyDark>_cv +1.7786 +1.8972 0 0 0 0
Render<TransparentSquare, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Solid, PartiallyLit>_mean -0.0460 -0.0460 152043 145043 152016 145020
Render<TransparentSquare, Solid, PartiallyLit>_median -0.0463 -0.0461 152012 144978 151964 144962
Render<TransparentSquare, Solid, PartiallyLit>_stddev -0.4453 -0.4334 267 148 266 151
Render<TransparentSquare, Solid, PartiallyLit>_cv -0.4185 -0.4060 0 0 0 0
Render<TransparentSquare, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Transparent, FullyLit>_mean -0.0846 -0.0846 181333 165997 181304 165969
Render<TransparentSquare, Transparent, FullyLit>_median -0.0840 -0.0839 181184 165972 181147 165945
Render<TransparentSquare, Transparent, FullyLit>_stddev -0.5808 -0.5755 319 134 320 136
Render<TransparentSquare, Transparent, FullyLit>_cv -0.5421 -0.5362 0 0 0 0
Render<TransparentSquare, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Transparent, FullyDark>_mean -0.0250 -0.0250 142232 138672 142208 138648
Render<TransparentSquare, Transparent, FullyDark>_median -0.0245 -0.0245 142144 138663 142128 138639
Render<TransparentSquare, Transparent, FullyDark>_stddev +0.1011 +0.0806 288 317 290 313
Render<TransparentSquare, Transparent, FullyDark>_cv +0.1294 +0.1084 0 0 0 0
Render<TransparentSquare, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Transparent, PartiallyLit>_mean +0.0105 +0.0105 205439 207589 205397 207556
Render<TransparentSquare, Transparent, PartiallyLit>_median +0.0106 +0.0107 205402 207575 205355 207558
Render<TransparentSquare, Transparent, PartiallyLit>_stddev -0.4410 -0.3876 182 102 167 102
Render<TransparentSquare, Transparent, PartiallyLit>_cv -0.4468 -0.3940 0 0 0 0
Render<Square, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Solid, FullyLit>_mean -0.0010 -0.0010 11109 11098 11107 11096
Render<Square, Solid, FullyLit>_median -0.0010 -0.0010 11109 11097 11107 11095
Render<Square, Solid, FullyLit>_stddev -0.2265 +0.2791 3 2 2 2
Render<Square, Solid, FullyLit>_cv -0.2257 +0.2804 0 0 0 0
Render<Square, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Solid, FullyDark>_mean +0.0904 +0.0904 8513 9283 8512 9282
Render<Square, Solid, FullyDark>_median +0.0902 +0.0902 8521 9290 8519 9288
Render<Square, Solid, FullyDark>_stddev -0.1884 -0.1616 21 17 21 18
Render<Square, Solid, FullyDark>_cv -0.2557 -0.2311 0 0 0 0
Render<Square, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Solid, PartiallyLit>_mean +0.0038 +0.0038 163661 164289 163632 164259
Render<Square, Solid, PartiallyLit>_median +0.0038 +0.0040 163665 164290 163621 164269
Render<Square, Solid, PartiallyLit>_stddev +0.1746 +0.4412 34 40 28 40
Render<Square, Solid, PartiallyLit>_cv +0.1701 +0.4356 0 0 0 0
Render<Square, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Transparent, FullyLit>_mean -0.0029 -0.0029 197906 197340 197876 197304
Render<Square, Transparent, FullyLit>_median -0.0030 -0.0029 197929 197339 197872 197307
Render<Square, Transparent, FullyLit>_stddev -0.5965 -0.7554 61 25 62 15
Render<Square, Transparent, FullyLit>_cv -0.5953 -0.7547 0 0 0 0
Render<Square, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Transparent, FullyDark>_mean -0.0163 -0.0163 125659 123607 125641 123588
Render<Square, Transparent, FullyDark>_median -0.0163 -0.0163 125651 123609 125629 123579
Render<Square, Transparent, FullyDark>_stddev -0.7943 -0.8033 180 37 181 36
Render<Square, Transparent, FullyDark>_cv -0.7909 -0.8000 0 0 0 0
Render<Square, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Transparent, PartiallyLit>_mean +0.0182 +0.0182 278103 283157 278043 283107
Render<Square, Transparent, PartiallyLit>_median +0.0184 +0.0184 278086 283190 278017 283120
Render<Square, Transparent, PartiallyLit>_stddev +1.6051 +1.5303 81 210 82 209
Render<Square, Transparent, PartiallyLit>_cv +1.5586 +1.4850 0 0 0 0
Render<LeftTrapezoid, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Solid, FullyLit>_mean -0.0068 -0.0068 3299 3276 3298 3276
Render<LeftTrapezoid, Solid, FullyLit>_median -0.0068 -0.0068 3299 3276 3298 3276
Render<LeftTrapezoid, Solid, FullyLit>_stddev -0.4844 -0.6856 1 0 1 0
Render<LeftTrapezoid, Solid, FullyLit>_cv -0.4809 -0.6834 0 0 0 0
Render<LeftTrapezoid, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Solid, FullyDark>_mean +0.3996 +0.3997 5163 7227 5162 7226
Render<LeftTrapezoid, Solid, FullyDark>_median +0.3973 +0.3974 5174 7230 5173 7229
Render<LeftTrapezoid, Solid, FullyDark>_stddev -0.7835 -0.7789 89 19 89 20
Render<LeftTrapezoid, Solid, FullyDark>_cv -0.8453 -0.8420 0 0 0 0
Render<LeftTrapezoid, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Solid, PartiallyLit>_mean -0.1228 -0.1228 50053 43907 50044 43900
Render<LeftTrapezoid, Solid, PartiallyLit>_median -0.1228 -0.1228 50062 43916 50054 43906
Render<LeftTrapezoid, Solid, PartiallyLit>_stddev +1.3916 +1.3800 63 150 64 151
Render<LeftTrapezoid, Solid, PartiallyLit>_cv +1.7263 +1.7131 0 0 0 0
Render<LeftTrapezoid, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Transparent, FullyLit>_mean -0.1584 -0.1583 62677 52751 62665 52743
Render<LeftTrapezoid, Transparent, FullyLit>_median -0.1585 -0.1585 62670 52736 62656 52728
Render<LeftTrapezoid, Transparent, FullyLit>_stddev +1.1429 +1.4086 26 55 23 55
Render<LeftTrapezoid, Transparent, FullyLit>_cv +1.5461 +1.8617 0 0 0 0
Render<LeftTrapezoid, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Transparent, FullyDark>_mean -0.1929 -0.1929 57688 46558 57679 46551
Render<LeftTrapezoid, Transparent, FullyDark>_median -0.1943 -0.1944 57681 46473 57672 46459
Render<LeftTrapezoid, Transparent, FullyDark>_stddev +2.8190 +2.7914 62 237 63 238
Render<LeftTrapezoid, Transparent, FullyDark>_cv +3.7319 +3.6978 0 0 0 0
Render<LeftTrapezoid, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Transparent, PartiallyLit>_mean -0.0054 -0.0054 70694 70313 70682 70301
Render<LeftTrapezoid, Transparent, PartiallyLit>_median -0.0050 -0.0048 70671 70319 70650 70311
Render<LeftTrapezoid, Transparent, PartiallyLit>_stddev -0.7448 -0.7617 163 42 168 40
Render<LeftTrapezoid, Transparent, PartiallyLit>_cv -0.7434 -0.7604 0 0 0 0
Render<RightTrapezoid, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Solid, FullyLit>_mean +0.0123 +0.0123 2985 3022 2984 3021
Render<RightTrapezoid, Solid, FullyLit>_median +0.0123 +0.0123 2985 3021 2984 3021
Render<RightTrapezoid, Solid, FullyLit>_stddev -0.4207 -0.4667 1 0 1 0
Render<RightTrapezoid, Solid, FullyLit>_cv -0.4277 -0.4731 0 0 0 0
Render<RightTrapezoid, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Solid, FullyDark>_mean +0.1105 +0.1105 4894 5435 4893 5434
Render<RightTrapezoid, Solid, FullyDark>_median +0.1083 +0.1082 4902 5433 4901 5432
Render<RightTrapezoid, Solid, FullyDark>_stddev -0.1973 -0.1947 45 37 45 37
Render<RightTrapezoid, Solid, FullyDark>_cv -0.2772 -0.2748 0 0 0 0
Render<RightTrapezoid, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Solid, PartiallyLit>_mean -0.0169 -0.0169 48201 47386 48192 47379
Render<RightTrapezoid, Solid, PartiallyLit>_median -0.0172 -0.0170 48184 47355 48170 47351
Render<RightTrapezoid, Solid, PartiallyLit>_stddev +0.6070 +0.5204 48 78 50 76
Render<RightTrapezoid, Solid, PartiallyLit>_cv +0.6346 +0.5465 0 0 0 0
Render<RightTrapezoid, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Transparent, FullyLit>_mean -0.0023 -0.0023 48751 48639 48742 48632
Render<RightTrapezoid, Transparent, FullyLit>_median -0.0020 -0.0018 48751 48654 48738 48651
Render<RightTrapezoid, Transparent, FullyLit>_stddev +2.4354 +2.4427 10 35 11 36
Render<RightTrapezoid, Transparent, FullyLit>_cv +2.4433 +2.4505 0 0 0 0
Render<RightTrapezoid, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Transparent, FullyDark>_mean -0.2247 -0.2247 40942 31742 40936 31736
Render<RightTrapezoid, Transparent, FullyDark>_median -0.2241 -0.2240 40904 31739 40895 31734
Render<RightTrapezoid, Transparent, FullyDark>_stddev -0.3455 -0.3546 165 108 167 108
Render<RightTrapezoid, Transparent, FullyDark>_cv -0.1558 -0.1676 0 0 0 0
Render<RightTrapezoid, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Transparent, PartiallyLit>_mean -0.0908 -0.0908 74269 67523 74256 67512
Render<RightTrapezoid, Transparent, PartiallyLit>_median -0.0898 -0.0897 74196 67536 74176 67523
Render<RightTrapezoid, Transparent, PartiallyLit>_stddev -0.6590 -0.6568 147 50 146 50
Render<RightTrapezoid, Transparent, PartiallyLit>_cv -0.6250 -0.6225 0 0 0 0
BM_RenderBlackTile_pvalue 0.0539 0.0539 U Test, Repetitions: 10 vs 10
BM_RenderBlackTile_mean -0.0188 -0.0188 125 123 125 123
BM_RenderBlackTile_median -0.0263 -0.0264 126 122 125 122
BM_RenderBlackTile_stddev +1.0907 +1.0966 1 3 1 3
BM_RenderBlackTile_cv +1.1307 +1.1368 0 0 0 0
OVERALL_GEOMEAN -0.0207 -0.0207 0 0 0 0
```
7 months ago
|
|
|
add_devilutionx_object_library(libdevilutionx_dun_render
|
|
|
|
|
engine/render/dun_render.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_libraries(libdevilutionx_dun_render
|
|
|
|
|
PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_light_render
|
|
|
|
|
libdevilutionx_surface
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_library(libdevilutionx_endian_write INTERFACE)
|
|
|
|
|
target_link_libraries(libdevilutionx_endian_write INTERFACE
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_surface
|
|
|
|
|
engine/surface.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_surface PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_file_util
|
|
|
|
|
utils/file_util.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_file_util PRIVATE
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_log
|
|
|
|
|
${DEVILUTIONX_PLATFORM_FILE_UTIL_LINK_LIBRARIES}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_format_int
|
|
|
|
|
utils/format_int.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_format_int PUBLIC
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_game_mode
|
|
|
|
|
game_mode.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_game_mode PRIVATE
|
|
|
|
|
tl
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_gendung
|
|
|
|
|
levels/crypt.cpp
|
|
|
|
|
levels/drlg_l1.cpp
|
|
|
|
|
levels/drlg_l2.cpp
|
|
|
|
|
levels/drlg_l3.cpp
|
|
|
|
|
levels/drlg_l4.cpp
|
|
|
|
|
levels/gendung.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_gendung PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
libdevilutionx_items
|
|
|
|
|
libdevilutionx_monster
|
|
|
|
|
libdevilutionx_random
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_headless_mode
|
|
|
|
|
headless_mode.cpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_init
|
|
|
|
|
init.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_init PUBLIC
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
libdevilutionx_config
|
|
|
|
|
libdevilutionx_mpq
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_load_cel
|
|
|
|
|
engine/load_cel.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_cel
|
|
|
|
|
PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
if(SUPPORTS_MPQ)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_cel PRIVATE
|
|
|
|
|
libdevilutionx_mpq
|
|
|
|
|
libdevilutionx_cel_to_clx
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_cel PRIVATE
|
|
|
|
|
libdevilutionx_load_clx
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_load_cl2
|
|
|
|
|
engine/load_cl2.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_cl2
|
|
|
|
|
PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_endian_write
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
if(SUPPORTS_MPQ)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_cl2 PUBLIC
|
|
|
|
|
libdevilutionx_mpq
|
|
|
|
|
libdevilutionx_cl2_to_clx
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_cl2 PRIVATE
|
|
|
|
|
libdevilutionx_load_clx
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_load_clx
|
|
|
|
|
engine/load_clx.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_clx
|
|
|
|
|
PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_load_pcx
|
|
|
|
|
engine/load_pcx.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_pcx
|
|
|
|
|
PRIVATE
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_sdl2_to_1_2_backports
|
|
|
|
|
libdevilutionx_log
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
if(SUPPORTS_MPQ)
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_pcx PUBLIC
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
libdevilutionx_pcx_to_clx
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
target_link_dependencies(libdevilutionx_load_pcx PRIVATE
|
|
|
|
|
libdevilutionx_load_clx
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_light_render
|
|
|
|
|
engine/render/light_render.cpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_lighting
|
|
|
|
|
lighting.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_lighting PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_vision
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_logged_fstream
|
|
|
|
|
utils/logged_fstream.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_logged_fstream PUBLIC
|
|
|
|
|
libdevilutionx_file_util
|
|
|
|
|
libdevilutionx_log
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_items
|
|
|
|
|
tables/itemdat.cpp
|
|
|
|
|
items.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_items PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
sol2::sol2
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_headless_mode
|
|
|
|
|
libdevilutionx_sound
|
|
|
|
|
libdevilutionx_spells
|
|
|
|
|
libdevilutionx_stores
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_ini
|
|
|
|
|
utils/ini.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_ini PUBLIC
|
|
|
|
|
fmt::fmt
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
libdevilutionx_utf8
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# We use an INTERFACE library rather than an OBJECT library
|
|
|
|
|
# because `libdevilutionx_log` does not have any sources.
|
|
|
|
|
add_library(libdevilutionx_log INTERFACE)
|
|
|
|
|
target_include_directories(libdevilutionx_log INTERFACE
|
|
|
|
|
${PROJECT_SOURCE_DIR}/Source)
|
|
|
|
|
target_link_libraries(libdevilutionx_log INTERFACE
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
)
|
|
|
|
|
target_sources(libdevilutionx_log INTERFACE $<TARGET_OBJECTS:libdevilutionx_strings>)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_level_objects
|
|
|
|
|
tables/objdat.cpp
|
|
|
|
|
objects.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_level_objects PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_direction
|
|
|
|
|
libdevilutionx_headless_mode
|
|
|
|
|
libdevilutionx_monster
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
libdevilutionx_player
|
|
|
|
|
libdevilutionx_random
|
|
|
|
|
libdevilutionx_txtdata
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_monster
|
|
|
|
|
tables/monstdat.cpp
|
|
|
|
|
monster.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_monster
|
|
|
|
|
PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
sol2::sol2
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_game_mode
|
|
|
|
|
libdevilutionx_headless_mode
|
|
|
|
|
libdevilutionx_sound
|
|
|
|
|
libdevilutionx_txtdata
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_cl2_to_clx
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_palette_blending
|
|
|
|
|
utils/palette_blending.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_palette_blending PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
libdevilutionx_palette_kd_tree
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_parse_int
|
|
|
|
|
utils/parse_int.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_parse_int PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(SUPPORTS_MPQ)
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_mpq
|
|
|
|
|
mpq/mpq_common.cpp
|
|
|
|
|
mpq/mpq_reader.cpp
|
|
|
|
|
mpq/mpq_sdl_rwops.cpp
|
|
|
|
|
mpq/mpq_writer.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_mpq PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
tl
|
|
|
|
|
libmpq
|
|
|
|
|
libdevilutionx_file_util
|
|
|
|
|
libdevilutionx_logged_fstream
|
|
|
|
|
libdevilutionx_pkware_encrypt
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
add_library(libdevilutionx_mpq INTERFACE)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_multiplayer
|
|
|
|
|
multi.cpp
|
|
|
|
|
pack.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_multiplayer PUBLIC
|
|
|
|
|
libdevilutionx_config
|
|
|
|
|
libdevilutionx_items
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_options
|
|
|
|
|
options.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_options PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_controller_buttons
|
|
|
|
|
libdevilutionx_control_mode
|
|
|
|
|
libdevilutionx_logged_fstream
|
|
|
|
|
libdevilutionx_quick_messages
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
libdevilutionx_ini
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_pathfinding
|
|
|
|
|
engine/path.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_pathfinding PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_crawl
|
|
|
|
|
libdevilutionx_direction
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(SUPPORTS_MPQ OR NOT NONET)
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_pkware_encrypt
|
|
|
|
|
encrypt.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_pkware_encrypt PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
PKWare
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
add_library(libdevilutionx_pkware_encrypt INTERFACE)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_player
|
|
|
|
|
player.cpp
|
|
|
|
|
tables/playerdat.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_player
|
|
|
|
|
PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
sol2::sol2
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_game_mode
|
|
|
|
|
PRIVATE
|
|
|
|
|
libdevilutionx_load_cl2
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_quests
|
|
|
|
|
quests.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_quests PUBLIC
|
|
|
|
|
libdevilutionx_surface
|
|
|
|
|
libdevilutionx_gendung
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_random
|
|
|
|
|
engine/random.cpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_quick_messages
|
|
|
|
|
quick_messages.cpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_spells
|
|
|
|
|
tables/spelldat.cpp
|
|
|
|
|
spells.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_spells PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_player
|
|
|
|
|
libdevilutionx_txtdata
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_text_render
|
|
|
|
|
engine/render/text_render.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_text_render
|
|
|
|
|
PUBLIC
|
|
|
|
|
libdevilutionx_surface
|
|
|
|
|
PRIVATE
|
|
|
|
|
fmt::fmt
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_clx_render
|
|
|
|
|
libdevilutionx_game_mode
|
|
|
|
|
libdevilutionx_load_cel
|
|
|
|
|
libdevilutionx_load_clx
|
|
|
|
|
libdevilutionx_load_pcx
|
|
|
|
|
libdevilutionx_log
|
|
|
|
|
libdevilutionx_primitive_render
|
|
|
|
|
libdevilutionx_ticks
|
|
|
|
|
libdevilutionx_utf8
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_ticks
|
|
|
|
|
engine/ticks.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_ticks PRIVATE
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_txtdata
|
|
|
|
|
data/file.cpp
|
|
|
|
|
data/parser.cpp
|
|
|
|
|
data/record_reader.cpp
|
|
|
|
|
data/value_reader.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_txtdata PUBLIC
|
|
|
|
|
fmt::fmt
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
libdevilutionx_parse_int
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_utf8
|
|
|
|
|
utils/utf8.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_utf8 PRIVATE
|
|
|
|
|
SheenBidi::SheenBidi
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(NOSOUND)
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_sound
|
|
|
|
|
effects_stubs.cpp
|
|
|
|
|
engine/sound_stubs.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_sound PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
libdevilutionx_random
|
|
|
|
|
libdevilutionx_sdl2_to_1_2_backports
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_sound
|
|
|
|
|
effects.cpp
|
|
|
|
|
engine/sound.cpp
|
|
|
|
|
utils/soundsample.cpp
|
|
|
|
|
)
|
|
|
|
|
if(USE_SDL3)
|
|
|
|
|
target_link_dependencies(libdevilutionx_sound PUBLIC
|
|
|
|
|
SDL3_mixer::SDL3_mixer
|
|
|
|
|
)
|
|
|
|
|
else()
|
|
|
|
|
target_sources(libdevilutionx_sound PRIVATE
|
|
|
|
|
utils/push_aulib_decoder.cpp)
|
|
|
|
|
target_link_dependencies(libdevilutionx_sound PUBLIC
|
|
|
|
|
SDL_audiolib::SDL_audiolib
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
target_link_dependencies(libdevilutionx_sound PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
libdevilutionx_random
|
|
|
|
|
libdevilutionx_sdl2_to_1_2_backports
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_stores
|
|
|
|
|
stores.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_stores PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_clx_render
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
libdevilutionx_sound
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_strings
|
|
|
|
|
utils/str_cat.cpp
|
|
|
|
|
utils/str_case.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_strings PRIVATE
|
|
|
|
|
fmt::fmt)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_utils_console
|
|
|
|
|
utils/console.cpp
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_vision
|
|
|
|
|
vision.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_vision PUBLIC
|
|
|
|
|
tl
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(USE_SDL1)
|
|
|
|
|
add_devilutionx_library(libdevilutionx_sdl2_to_1_2_backports STATIC
|
|
|
|
|
utils/sdl2_to_1_2_backports.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_sdl2_to_1_2_backports PRIVATE
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
libdevilutionx_utils_console
|
|
|
|
|
)
|
|
|
|
|
target_link_libraries(DevilutionX::SDL INTERFACE
|
|
|
|
|
libdevilutionx_sdl2_to_1_2_backports
|
|
|
|
|
)
|
|
|
|
|
if(APPLE)
|
|
|
|
|
enable_language(OBJC)
|
|
|
|
|
target_sources(libdevilutionx_sdl2_to_1_2_backports PRIVATE
|
|
|
|
|
platform/macos_sdl1/SDL_filesystem.m)
|
|
|
|
|
target_link_libraries(libdevilutionx_sdl2_to_1_2_backports PRIVATE
|
|
|
|
|
"-framework Foundation")
|
|
|
|
|
endif()
|
|
|
|
|
else()
|
|
|
|
|
add_library(libdevilutionx_sdl2_to_1_2_backports INTERFACE)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(IOS)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS platform/ios/ios_paths.m)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT DISABLE_DEMOMODE)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS engine/demomode.cpp)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT NONET)
|
|
|
|
|
if(NOT DISABLE_TCP)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS
|
|
|
|
|
dvlnet/tcp_client.cpp
|
|
|
|
|
dvlnet/tcp_server.cpp)
|
|
|
|
|
endif()
|
|
|
|
|
if(NOT DISABLE_ZERO_TIER)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS
|
|
|
|
|
dvlnet/protocol_zt.cpp
|
|
|
|
|
dvlnet/zerotier_native.cpp
|
|
|
|
|
dvlnet/zerotier_lwip.cpp)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT USE_SDL1)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS
|
|
|
|
|
controls/devices/game_controller.cpp
|
|
|
|
|
controls/touch/event_handlers.cpp
|
|
|
|
|
controls/touch/gamepad.cpp
|
|
|
|
|
controls/touch/renderers.cpp)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(DISCORD_INTEGRATION)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS
|
|
|
|
|
discord/discord.cpp
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(SCREEN_READER_INTEGRATION)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS
|
|
|
|
|
utils/screen_reader.cpp
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(DEVILUTIONX_SCREENSHOT_FORMAT STREQUAL DEVILUTIONX_SCREENSHOT_FORMAT_PCX)
|
|
|
|
|
list(APPEND libdevilutionx_SRCS
|
|
|
|
|
utils/surface_to_pcx.cpp
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(DEVILUTIONX_SCREENSHOT_FORMAT STREQUAL DEVILUTIONX_SCREENSHOT_FORMAT_PNG)
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx_surface_to_png
|
|
|
|
|
utils/surface_to_png.cpp
|
|
|
|
|
)
|
|
|
|
|
target_link_dependencies(libdevilutionx_surface_to_png
|
|
|
|
|
PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
tl
|
|
|
|
|
libdevilutionx_surface
|
|
|
|
|
)
|
|
|
|
|
if(USE_SDL3)
|
|
|
|
|
target_link_dependencies(libdevilutionx_surface_to_png PUBLIC SDL3_image::SDL3_image)
|
|
|
|
|
target_compile_definitions(libdevilutionx_surface_to_png INTERFACE USE_SDL3)
|
|
|
|
|
else()
|
|
|
|
|
target_link_dependencies(libdevilutionx_surface_to_png PUBLIC SDL2::SDL2_image)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_devilutionx_object_library(libdevilutionx ${libdevilutionx_SRCS})
|
|
|
|
|
target_include_directories(libdevilutionx PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
target_link_dependencies(libdevilutionx PUBLIC
|
|
|
|
|
DevilutionX::SDL
|
|
|
|
|
fmt::fmt
|
|
|
|
|
libsmackerdec
|
|
|
|
|
${LUA_LIBRARIES}
|
|
|
|
|
magic_enum::magic_enum
|
|
|
|
|
sol2::sol2
|
|
|
|
|
tl
|
|
|
|
|
unordered_dense::unordered_dense
|
|
|
|
|
libdevilutionx_assets
|
|
|
|
|
libdevilutionx_clx_render
|
|
|
|
|
libdevilutionx_codec
|
|
|
|
|
libdevilutionx_config
|
|
|
|
|
libdevilutionx_controller_buttons
|
|
|
|
|
libdevilutionx_control_mode
|
|
|
|
|
libdevilutionx_crawl
|
|
|
|
|
libdevilutionx_direction
|
Make `dun_render` a standalone library
Does not make `dun_render_benchmark` standalone yet as that will require
more untangling.
Benchmark is neutral:
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------------
Render<LeftTriangle, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Solid, FullyLit>_mean +0.0119 +0.0120 8377 8477 8375 8475
Render<LeftTriangle, Solid, FullyLit>_median +0.0119 +0.0119 8376 8477 8375 8475
Render<LeftTriangle, Solid, FullyLit>_stddev -0.0884 -0.2462 2 1 1 1
Render<LeftTriangle, Solid, FullyLit>_cv -0.0992 -0.2551 0 0 0 0
Render<LeftTriangle, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Solid, FullyDark>_mean +0.0910 +0.0910 21174 23100 21170 23097
Render<LeftTriangle, Solid, FullyDark>_median +0.0869 +0.0869 21183 23023 21179 23019
Render<LeftTriangle, Solid, FullyDark>_stddev -0.1528 -0.1593 267 226 268 225
Render<LeftTriangle, Solid, FullyDark>_cv -0.2234 -0.2294 0 0 0 0
Render<LeftTriangle, Solid, PartiallyLit>_pvalue 0.0013 0.0013 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Solid, PartiallyLit>_mean +0.0065 +0.0065 81168 81698 81151 81680
Render<LeftTriangle, Solid, PartiallyLit>_median +0.0075 +0.0073 81143 81748 81136 81730
Render<LeftTriangle, Solid, PartiallyLit>_stddev +0.8663 +0.8787 167 311 164 307
Render<LeftTriangle, Solid, PartiallyLit>_cv +0.8542 +0.8665 0 0 0 0
Render<LeftTriangle, Transparent, FullyLit>_pvalue 0.0028 0.0017 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Transparent, FullyLit>_mean -0.0239 -0.0239 94989 92719 94973 92703
Render<LeftTriangle, Transparent, FullyLit>_median -0.0122 -0.0123 93867 92717 93856 92704
Render<LeftTriangle, Transparent, FullyLit>_stddev -0.9920 -0.9955 2370 19 2368 11
Render<LeftTriangle, Transparent, FullyLit>_cv -0.9918 -0.9954 0 0 0 0
Render<LeftTriangle, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Transparent, FullyDark>_mean -0.0841 -0.0841 76234 69821 76220 69809
Render<LeftTriangle, Transparent, FullyDark>_median -0.0831 -0.0832 76209 69877 76202 69864
Render<LeftTriangle, Transparent, FullyDark>_stddev -0.4486 -0.4538 441 243 440 241
Render<LeftTriangle, Transparent, FullyDark>_cv -0.3979 -0.4037 0 0 0 0
Render<LeftTriangle, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTriangle, Transparent, PartiallyLit>_mean +0.0022 +0.0021 128812 129091 128792 129067
Render<LeftTriangle, Transparent, PartiallyLit>_median +0.0023 +0.0023 128820 129115 128805 129096
Render<LeftTriangle, Transparent, PartiallyLit>_stddev +0.8757 +0.6866 50 93 53 90
Render<LeftTriangle, Transparent, PartiallyLit>_cv +0.8716 +0.6830 0 0 0 0
Render<RightTriangle, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Solid, FullyLit>_mean +0.0057 +0.0057 8521 8570 8520 8569
Render<RightTriangle, Solid, FullyLit>_median +0.0057 +0.0057 8522 8570 8520 8568
Render<RightTriangle, Solid, FullyLit>_stddev -0.1826 -0.0420 1 1 1 1
Render<RightTriangle, Solid, FullyLit>_cv -0.1872 -0.0475 0 0 0 0
Render<RightTriangle, Solid, FullyDark>_pvalue 0.0006 0.0006 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Solid, FullyDark>_mean -0.0303 -0.0303 22678 21991 22675 21987
Render<RightTriangle, Solid, FullyDark>_median -0.0360 -0.0359 22704 21888 22699 21883
Render<RightTriangle, Solid, FullyDark>_stddev +0.4759 +0.4648 195 288 196 287
Render<RightTriangle, Solid, FullyDark>_cv +0.5220 +0.5106 0 0 0 0
Render<RightTriangle, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Solid, PartiallyLit>_mean +0.0338 +0.0338 83355 86170 83341 86157
Render<RightTriangle, Solid, PartiallyLit>_median +0.0347 +0.0348 83248 86140 83230 86126
Render<RightTriangle, Solid, PartiallyLit>_stddev +0.3670 +0.3423 238 326 240 322
Render<RightTriangle, Solid, PartiallyLit>_cv +0.3224 +0.2985 0 0 0 0
Render<RightTriangle, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Transparent, FullyLit>_mean -0.0617 -0.0616 102726 96392 102706 96375
Render<RightTriangle, Transparent, FullyLit>_median -0.0598 -0.0597 102521 96394 102498 96375
Render<RightTriangle, Transparent, FullyLit>_stddev -0.9516 -0.9548 456 22 461 21
Render<RightTriangle, Transparent, FullyLit>_cv -0.9485 -0.9518 0 0 0 0
Render<RightTriangle, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Transparent, FullyDark>_mean -0.1377 -0.1377 84505 72865 84492 72853
Render<RightTriangle, Transparent, FullyDark>_median -0.1374 -0.1374 84339 72748 84323 72740
Render<RightTriangle, Transparent, FullyDark>_stddev -0.2760 -0.2867 526 381 528 377
Render<RightTriangle, Transparent, FullyDark>_cv -0.1604 -0.1727 0 0 0 0
Render<RightTriangle, Transparent, PartiallyLit>_pvalue 0.0036 0.0017 U Test, Repetitions: 10 vs 10
Render<RightTriangle, Transparent, PartiallyLit>_mean +0.0010 +0.0010 131672 131808 131649 131784
Render<RightTriangle, Transparent, PartiallyLit>_median +0.0010 +0.0008 131665 131797 131654 131757
Render<RightTriangle, Transparent, PartiallyLit>_stddev -0.0688 -0.0128 81 75 72 71
Render<RightTriangle, Transparent, PartiallyLit>_cv -0.0697 -0.0138 0 0 0 0
Render<TransparentSquare, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Solid, FullyLit>_mean -0.0300 -0.0300 143323 139021 143300 139000
Render<TransparentSquare, Solid, FullyLit>_median -0.0300 -0.0301 143321 139014 143310 138990
Render<TransparentSquare, Solid, FullyLit>_stddev +0.0008 -0.0820 43 43 43 39
Render<TransparentSquare, Solid, FullyLit>_cv +0.0318 -0.0536 0 0 0 0
Render<TransparentSquare, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Solid, FullyDark>_mean -0.0100 -0.0100 134939 133588 134914 133565
Render<TransparentSquare, Solid, FullyDark>_median -0.0106 -0.0108 134964 133526 134948 133497
Render<TransparentSquare, Solid, FullyDark>_stddev +1.7508 +1.8682 99 273 96 276
Render<TransparentSquare, Solid, FullyDark>_cv +1.7786 +1.8972 0 0 0 0
Render<TransparentSquare, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Solid, PartiallyLit>_mean -0.0460 -0.0460 152043 145043 152016 145020
Render<TransparentSquare, Solid, PartiallyLit>_median -0.0463 -0.0461 152012 144978 151964 144962
Render<TransparentSquare, Solid, PartiallyLit>_stddev -0.4453 -0.4334 267 148 266 151
Render<TransparentSquare, Solid, PartiallyLit>_cv -0.4185 -0.4060 0 0 0 0
Render<TransparentSquare, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Transparent, FullyLit>_mean -0.0846 -0.0846 181333 165997 181304 165969
Render<TransparentSquare, Transparent, FullyLit>_median -0.0840 -0.0839 181184 165972 181147 165945
Render<TransparentSquare, Transparent, FullyLit>_stddev -0.5808 -0.5755 319 134 320 136
Render<TransparentSquare, Transparent, FullyLit>_cv -0.5421 -0.5362 0 0 0 0
Render<TransparentSquare, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Transparent, FullyDark>_mean -0.0250 -0.0250 142232 138672 142208 138648
Render<TransparentSquare, Transparent, FullyDark>_median -0.0245 -0.0245 142144 138663 142128 138639
Render<TransparentSquare, Transparent, FullyDark>_stddev +0.1011 +0.0806 288 317 290 313
Render<TransparentSquare, Transparent, FullyDark>_cv +0.1294 +0.1084 0 0 0 0
Render<TransparentSquare, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<TransparentSquare, Transparent, PartiallyLit>_mean +0.0105 +0.0105 205439 207589 205397 207556
Render<TransparentSquare, Transparent, PartiallyLit>_median +0.0106 +0.0107 205402 207575 205355 207558
Render<TransparentSquare, Transparent, PartiallyLit>_stddev -0.4410 -0.3876 182 102 167 102
Render<TransparentSquare, Transparent, PartiallyLit>_cv -0.4468 -0.3940 0 0 0 0
Render<Square, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Solid, FullyLit>_mean -0.0010 -0.0010 11109 11098 11107 11096
Render<Square, Solid, FullyLit>_median -0.0010 -0.0010 11109 11097 11107 11095
Render<Square, Solid, FullyLit>_stddev -0.2265 +0.2791 3 2 2 2
Render<Square, Solid, FullyLit>_cv -0.2257 +0.2804 0 0 0 0
Render<Square, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Solid, FullyDark>_mean +0.0904 +0.0904 8513 9283 8512 9282
Render<Square, Solid, FullyDark>_median +0.0902 +0.0902 8521 9290 8519 9288
Render<Square, Solid, FullyDark>_stddev -0.1884 -0.1616 21 17 21 18
Render<Square, Solid, FullyDark>_cv -0.2557 -0.2311 0 0 0 0
Render<Square, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Solid, PartiallyLit>_mean +0.0038 +0.0038 163661 164289 163632 164259
Render<Square, Solid, PartiallyLit>_median +0.0038 +0.0040 163665 164290 163621 164269
Render<Square, Solid, PartiallyLit>_stddev +0.1746 +0.4412 34 40 28 40
Render<Square, Solid, PartiallyLit>_cv +0.1701 +0.4356 0 0 0 0
Render<Square, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Transparent, FullyLit>_mean -0.0029 -0.0029 197906 197340 197876 197304
Render<Square, Transparent, FullyLit>_median -0.0030 -0.0029 197929 197339 197872 197307
Render<Square, Transparent, FullyLit>_stddev -0.5965 -0.7554 61 25 62 15
Render<Square, Transparent, FullyLit>_cv -0.5953 -0.7547 0 0 0 0
Render<Square, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Transparent, FullyDark>_mean -0.0163 -0.0163 125659 123607 125641 123588
Render<Square, Transparent, FullyDark>_median -0.0163 -0.0163 125651 123609 125629 123579
Render<Square, Transparent, FullyDark>_stddev -0.7943 -0.8033 180 37 181 36
Render<Square, Transparent, FullyDark>_cv -0.7909 -0.8000 0 0 0 0
Render<Square, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<Square, Transparent, PartiallyLit>_mean +0.0182 +0.0182 278103 283157 278043 283107
Render<Square, Transparent, PartiallyLit>_median +0.0184 +0.0184 278086 283190 278017 283120
Render<Square, Transparent, PartiallyLit>_stddev +1.6051 +1.5303 81 210 82 209
Render<Square, Transparent, PartiallyLit>_cv +1.5586 +1.4850 0 0 0 0
Render<LeftTrapezoid, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Solid, FullyLit>_mean -0.0068 -0.0068 3299 3276 3298 3276
Render<LeftTrapezoid, Solid, FullyLit>_median -0.0068 -0.0068 3299 3276 3298 3276
Render<LeftTrapezoid, Solid, FullyLit>_stddev -0.4844 -0.6856 1 0 1 0
Render<LeftTrapezoid, Solid, FullyLit>_cv -0.4809 -0.6834 0 0 0 0
Render<LeftTrapezoid, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Solid, FullyDark>_mean +0.3996 +0.3997 5163 7227 5162 7226
Render<LeftTrapezoid, Solid, FullyDark>_median +0.3973 +0.3974 5174 7230 5173 7229
Render<LeftTrapezoid, Solid, FullyDark>_stddev -0.7835 -0.7789 89 19 89 20
Render<LeftTrapezoid, Solid, FullyDark>_cv -0.8453 -0.8420 0 0 0 0
Render<LeftTrapezoid, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Solid, PartiallyLit>_mean -0.1228 -0.1228 50053 43907 50044 43900
Render<LeftTrapezoid, Solid, PartiallyLit>_median -0.1228 -0.1228 50062 43916 50054 43906
Render<LeftTrapezoid, Solid, PartiallyLit>_stddev +1.3916 +1.3800 63 150 64 151
Render<LeftTrapezoid, Solid, PartiallyLit>_cv +1.7263 +1.7131 0 0 0 0
Render<LeftTrapezoid, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Transparent, FullyLit>_mean -0.1584 -0.1583 62677 52751 62665 52743
Render<LeftTrapezoid, Transparent, FullyLit>_median -0.1585 -0.1585 62670 52736 62656 52728
Render<LeftTrapezoid, Transparent, FullyLit>_stddev +1.1429 +1.4086 26 55 23 55
Render<LeftTrapezoid, Transparent, FullyLit>_cv +1.5461 +1.8617 0 0 0 0
Render<LeftTrapezoid, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Transparent, FullyDark>_mean -0.1929 -0.1929 57688 46558 57679 46551
Render<LeftTrapezoid, Transparent, FullyDark>_median -0.1943 -0.1944 57681 46473 57672 46459
Render<LeftTrapezoid, Transparent, FullyDark>_stddev +2.8190 +2.7914 62 237 63 238
Render<LeftTrapezoid, Transparent, FullyDark>_cv +3.7319 +3.6978 0 0 0 0
Render<LeftTrapezoid, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<LeftTrapezoid, Transparent, PartiallyLit>_mean -0.0054 -0.0054 70694 70313 70682 70301
Render<LeftTrapezoid, Transparent, PartiallyLit>_median -0.0050 -0.0048 70671 70319 70650 70311
Render<LeftTrapezoid, Transparent, PartiallyLit>_stddev -0.7448 -0.7617 163 42 168 40
Render<LeftTrapezoid, Transparent, PartiallyLit>_cv -0.7434 -0.7604 0 0 0 0
Render<RightTrapezoid, Solid, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Solid, FullyLit>_mean +0.0123 +0.0123 2985 3022 2984 3021
Render<RightTrapezoid, Solid, FullyLit>_median +0.0123 +0.0123 2985 3021 2984 3021
Render<RightTrapezoid, Solid, FullyLit>_stddev -0.4207 -0.4667 1 0 1 0
Render<RightTrapezoid, Solid, FullyLit>_cv -0.4277 -0.4731 0 0 0 0
Render<RightTrapezoid, Solid, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Solid, FullyDark>_mean +0.1105 +0.1105 4894 5435 4893 5434
Render<RightTrapezoid, Solid, FullyDark>_median +0.1083 +0.1082 4902 5433 4901 5432
Render<RightTrapezoid, Solid, FullyDark>_stddev -0.1973 -0.1947 45 37 45 37
Render<RightTrapezoid, Solid, FullyDark>_cv -0.2772 -0.2748 0 0 0 0
Render<RightTrapezoid, Solid, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Solid, PartiallyLit>_mean -0.0169 -0.0169 48201 47386 48192 47379
Render<RightTrapezoid, Solid, PartiallyLit>_median -0.0172 -0.0170 48184 47355 48170 47351
Render<RightTrapezoid, Solid, PartiallyLit>_stddev +0.6070 +0.5204 48 78 50 76
Render<RightTrapezoid, Solid, PartiallyLit>_cv +0.6346 +0.5465 0 0 0 0
Render<RightTrapezoid, Transparent, FullyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Transparent, FullyLit>_mean -0.0023 -0.0023 48751 48639 48742 48632
Render<RightTrapezoid, Transparent, FullyLit>_median -0.0020 -0.0018 48751 48654 48738 48651
Render<RightTrapezoid, Transparent, FullyLit>_stddev +2.4354 +2.4427 10 35 11 36
Render<RightTrapezoid, Transparent, FullyLit>_cv +2.4433 +2.4505 0 0 0 0
Render<RightTrapezoid, Transparent, FullyDark>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Transparent, FullyDark>_mean -0.2247 -0.2247 40942 31742 40936 31736
Render<RightTrapezoid, Transparent, FullyDark>_median -0.2241 -0.2240 40904 31739 40895 31734
Render<RightTrapezoid, Transparent, FullyDark>_stddev -0.3455 -0.3546 165 108 167 108
Render<RightTrapezoid, Transparent, FullyDark>_cv -0.1558 -0.1676 0 0 0 0
Render<RightTrapezoid, Transparent, PartiallyLit>_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10
Render<RightTrapezoid, Transparent, PartiallyLit>_mean -0.0908 -0.0908 74269 67523 74256 67512
Render<RightTrapezoid, Transparent, PartiallyLit>_median -0.0898 -0.0897 74196 67536 74176 67523
Render<RightTrapezoid, Transparent, PartiallyLit>_stddev -0.6590 -0.6568 147 50 146 50
Render<RightTrapezoid, Transparent, PartiallyLit>_cv -0.6250 -0.6225 0 0 0 0
BM_RenderBlackTile_pvalue 0.0539 0.0539 U Test, Repetitions: 10 vs 10
BM_RenderBlackTile_mean -0.0188 -0.0188 125 123 125 123
BM_RenderBlackTile_median -0.0263 -0.0264 126 122 125 122
BM_RenderBlackTile_stddev +1.0907 +1.0966 1 3 1 3
BM_RenderBlackTile_cv +1.1307 +1.1368 0 0 0 0
OVERALL_GEOMEAN -0.0207 -0.0207 0 0 0 0
```
7 months ago
|
|
|
libdevilutionx_dun_render
|
|
|
|
|
libdevilutionx_surface
|
|
|
|
|
libdevilutionx_file_util
|
|
|
|
|
libdevilutionx_format_int
|
|
|
|
|
libdevilutionx_game_mode
|
|
|
|
|
libdevilutionx_gendung
|
|
|
|
|
libdevilutionx_headless_mode
|
|
|
|
|
libdevilutionx_ini
|
|
|
|
|
libdevilutionx_init
|
|
|
|
|
libdevilutionx_items
|
|
|
|
|
libdevilutionx_level_objects
|
|
|
|
|
libdevilutionx_light_render
|
|
|
|
|
libdevilutionx_lighting
|
|
|
|
|
libdevilutionx_monster
|
|
|
|
|
libdevilutionx_mpq
|
|
|
|
|
libdevilutionx_multiplayer
|
|
|
|
|
libdevilutionx_options
|
|
|
|
|
libdevilutionx_padmapper
|
|
|
|
|
libdevilutionx_palette_blending
|
|
|
|
|
libdevilutionx_parse_int
|
|
|
|
|
libdevilutionx_pathfinding
|
|
|
|
|
libdevilutionx_pkware_encrypt
|
|
|
|
|
libdevilutionx_player
|
|
|
|
|
libdevilutionx_primitive_render
|
|
|
|
|
libdevilutionx_quests
|
|
|
|
|
libdevilutionx_quick_messages
|
|
|
|
|
libdevilutionx_random
|
|
|
|
|
libdevilutionx_sound
|
|
|
|
|
libdevilutionx_spells
|
|
|
|
|
libdevilutionx_stores
|
|
|
|
|
libdevilutionx_strings
|
|
|
|
|
libdevilutionx_text_render
|
|
|
|
|
libdevilutionx_txtdata
|
|
|
|
|
libdevilutionx_ticks
|
|
|
|
|
libdevilutionx_utf8
|
|
|
|
|
libdevilutionx_utils_console
|
|
|
|
|
)
|
|
|
|
|
if(NOT TARGET_PLATFORM STREQUAL "dos")
|
|
|
|
|
target_link_dependencies(libdevilutionx PUBLIC Threads::Threads)
|
|
|
|
|
endif()
|
|
|
|
|
if(DEVILUTIONX_SCREENSHOT_FORMAT STREQUAL DEVILUTIONX_SCREENSHOT_FORMAT_PNG)
|
|
|
|
|
target_link_dependencies(libdevilutionx PUBLIC libdevilutionx_surface_to_png)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# Use file GENERATE instead of configure_file because configure_file
|
|
|
|
|
# does not support generator expressions.
|
|
|
|
|
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
|
|
|
add_library(libdevilutionx_config INTERFACE)
|
|
|
|
|
if(is_multi_config)
|
|
|
|
|
set(CONFIG_PATH $<CONFIG>/config.h)
|
|
|
|
|
target_include_directories(libdevilutionx_config INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>)
|
|
|
|
|
else()
|
|
|
|
|
set(CONFIG_PATH config.h)
|
|
|
|
|
target_include_directories(libdevilutionx_config INTERFACE ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
file(GENERATE OUTPUT ${CONFIG_PATH} CONTENT
|
|
|
|
|
"#pragma once
|
|
|
|
|
#define PROJECT_NAME \"${PROJECT_NAME}\"
|
|
|
|
|
#define PROJECT_VERSION \"${PROJECT_VERSION_WITH_SUFFIX}\"
|
|
|
|
|
#define PROJECT_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}
|
|
|
|
|
#define PROJECT_VERSION_MINOR ${PROJECT_VERSION_MINOR}
|
|
|
|
|
#define PROJECT_VERSION_PATCH ${PROJECT_VERSION_PATCH}
|
|
|
|
|
")
|
|
|
|
|
|
|
|
|
|
if(DISCORD_INTEGRATION)
|
|
|
|
|
target_compile_definitions(libdevilutionx PRIVATE DISCORD)
|
|
|
|
|
target_link_libraries(libdevilutionx PRIVATE discord discord_game_sdk)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(SCREEN_READER_INTEGRATION)
|
|
|
|
|
if(WIN32)
|
|
|
|
|
target_compile_definitions(libdevilutionx PRIVATE Tolk)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC Tolk)
|
|
|
|
|
else()
|
|
|
|
|
target_include_directories(libdevilutionx PUBLIC ${Speechd_INCLUDE_DIRS})
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC speechd)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(USE_SDL1)
|
|
|
|
|
# No need for SDL_image
|
|
|
|
|
elseif(USE_SDL3)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC SDL3_image::SDL3_image)
|
|
|
|
|
else()
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC SDL2::SDL2_image)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT NONET)
|
|
|
|
|
if(NOT DISABLE_TCP)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC asio)
|
|
|
|
|
endif()
|
|
|
|
|
if(PACKET_ENCRYPTION)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC sodium)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT NOSOUND AND NOT USE_SDL3)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC SDL_audiolib::SDL_audiolib)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT NONET AND NOT DISABLE_ZERO_TIER)
|
|
|
|
|
if(NOT ANDROID)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC zt-static)
|
|
|
|
|
else()
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC zt-shared)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
foreach(path ${DEVILUTIONX_PLATFORM_SUBDIRECTORIES})
|
|
|
|
|
add_subdirectory(${path})
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
target_link_dependencies(libdevilutionx PUBLIC ${DEVILUTIONX_PLATFORM_LINK_LIBRARIES})
|
|
|
|
|
|
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9 AND NOT AMIGA)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC stdc++fs)
|
|
|
|
|
endif()
|
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
|
|
|
# Assumes libc++ (clang) is used rather than libstdc++ (gcc).
|
|
|
|
|
# This is not always true but these are ancient clang versions anyway.
|
|
|
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC c++experimental)
|
|
|
|
|
elseif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)
|
|
|
|
|
target_link_libraries(libdevilutionx PUBLIC c++fs)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|