annotate src/libmlk-data/CMakeLists.txt @ 320:8f9937403749

misc: improve loading of data
author David Demelier <markand@malikania.fr>
date Fri, 01 Oct 2021 20:30:00 +0200
parents libmlk-data/CMakeLists.txt@d01e83210ca2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
313
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for Molko's Adventure
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
314
d01e83210ca2 misc: update years
David Demelier <markand@malikania.fr>
parents: 313
diff changeset
4 # Copyright (c) 2020-2021 David Demelier <markand@malikania.fr>
313
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 project(libmlk-data)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 set(
320
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
22 MAPS
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
23 ${libmlk-data_SOURCE_DIR}/maps/map-world.json
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
24 )
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
25
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
26 set(
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
27 TILESETS
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
28 ${libmlk-data_SOURCE_DIR}/maps/tileset-world.json
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
29 )
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
30
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
31 foreach (m ${MAPS})
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
32 cmake_path(GET m STEM name)
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
33 mlk_map(${m} ${libmlk-data_SOURCE_DIR}/maps/${name}.map)
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
34 list(APPEND maps ${libmlk-data_SOURCE_DIR}/maps/${name}.map)
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
35 endforeach ()
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
36
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
37 foreach (t ${TILESETS})
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
38 cmake_path(GET t STEM name)
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
39 mlk_tileset(${t} ${libmlk-data_SOURCE_DIR}/maps/${name}.tileset)
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
40 list(APPEND tilesets ${libmlk-data_SOURCE_DIR}/maps/${name}.tileset)
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
41 endforeach ()
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
42
8f9937403749 misc: improve loading of data
David Demelier <markand@malikania.fr>
parents: 314
diff changeset
43 set(
313
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 SOURCES
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 ${libmlk-data_SOURCE_DIR}/fonts/cubic.ttf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 ${libmlk-data_SOURCE_DIR}/fonts/lato.ttf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 ${libmlk-data_SOURCE_DIR}/fonts/pirata-one.ttf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 ${libmlk-data_SOURCE_DIR}/fonts/teutonic.ttf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 ${libmlk-data_SOURCE_DIR}/images/battle-background.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 ${libmlk-data_SOURCE_DIR}/images/black-cat.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 ${libmlk-data_SOURCE_DIR}/images/haunted-wood.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 ${libmlk-data_SOURCE_DIR}/maps/animation-water.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 ${libmlk-data_SOURCE_DIR}/maps/sprite-world.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 ${libmlk-data_SOURCE_DIR}/music/vabsounds-romance.ogg
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 ${libmlk-data_SOURCE_DIR}/sounds/fire.wav
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 ${libmlk-data_SOURCE_DIR}/sounds/potion.wav
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 ${libmlk-data_SOURCE_DIR}/sprites/chest.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 ${libmlk-data_SOURCE_DIR}/sprites/chest.xcf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 ${libmlk-data_SOURCE_DIR}/sprites/explosion.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 ${libmlk-data_SOURCE_DIR}/sprites/faces.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 ${libmlk-data_SOURCE_DIR}/sprites/john-sword.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 ${libmlk-data_SOURCE_DIR}/sprites/john-sword.xcf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 ${libmlk-data_SOURCE_DIR}/sprites/john-walk.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 ${libmlk-data_SOURCE_DIR}/sprites/john-walk.xcf
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 ${libmlk-data_SOURCE_DIR}/sprites/john.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 ${libmlk-data_SOURCE_DIR}/sprites/numbers.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 ${libmlk-data_SOURCE_DIR}/sprites/people.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 ${libmlk-data_SOURCE_DIR}/sprites/ui-cursor.png
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 )
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 add_custom_target(
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 libmlk-data
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 ALL
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 SOURCES ${SOURCES} ${maps} ${tilesets}
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 )
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 foreach (dir fonts images maps music sounds sprites)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 install(
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 DIRECTORY ${libmlk-data_SOURCE_DIR}/${dir}/
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 DESTINATION ${CMAKE_INSTALL_DATADIR}/mlk-adventure/${dir}
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 FILES_MATCHING REGEX "[.]png$|[.]ttf$|[.]wav$|[.]ogg$"
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 )
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 endforeach ()
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 # Generated maps and tilesets.
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 install(
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 FILES
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 ${maps}
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 ${tilesets}
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 DESTINATION ${CMAKE_INSTALL_DATADIR}/mlk-adventure/maps
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 )
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
92
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 source_group(TREE ${libmlk-data_SOURCE_DIR} FILES ${SOURCES})