annotate examples/CMakeLists.txt @ 259:16be1ad3ddba

adventure: start working on maps and teleport
author David Demelier <markand@malikania.fr>
date Sun, 06 Dec 2020 11:22:03 +0100
parents 86b71e1f9dd5
children bfde372bf152
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
125
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for molko
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 project(examples)
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
21 set(
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
22 ASSETS_IMAGES
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 218
diff changeset
23 ${examples_SOURCE_DIR}/assets/images/battle-background.png
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
24 ${examples_SOURCE_DIR}/assets/images/black-cat.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
25 ${examples_SOURCE_DIR}/assets/images/haunted-wood.png
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
26 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
27
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
28 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
29 ASSETS_MAPS
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
30 )
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
31
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
32 set(
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
33 ASSETS_MAPS_SPRITES
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
34 ${examples_SOURCE_DIR}/assets/maps/sprite-town.png
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
35 ${examples_SOURCE_DIR}/assets/maps/sprite-world.png
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
36 )
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
37
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
38 set(
218
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
39 ASSETS_MAPS_ANIMATIONS
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
40 ${examples_SOURCE_DIR}/assets/maps/animation-water.png
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
41 )
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
42
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
43 set(
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
44 ASSETS_TILESETS
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
45 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
46
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
47 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
48 ASSETS_MUSIC
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
49 ${examples_SOURCE_DIR}/assets/music/vabsounds-romance.ogg
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
50 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
51
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
52 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
53 ASSETS_SOUNDS
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
54 ${examples_SOURCE_DIR}/assets/sounds/fire.wav
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
55 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
56
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
57 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
58 ASSETS_SPRITES
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
59 ${examples_SOURCE_DIR}/assets/sprites/chest.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
60 ${examples_SOURCE_DIR}/assets/sprites/cursor.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
61 ${examples_SOURCE_DIR}/assets/sprites/explosion.png
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
62 ${examples_SOURCE_DIR}/assets/sprites/john.png
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 218
diff changeset
63 ${examples_SOURCE_DIR}/assets/sprites/john-sword.png
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 218
diff changeset
64 ${examples_SOURCE_DIR}/assets/sprites/john-walk.png
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
65 ${examples_SOURCE_DIR}/assets/sprites/numbers.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
66 ${examples_SOURCE_DIR}/assets/sprites/people.png
163
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 160
diff changeset
67 )
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 160
diff changeset
68
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
69 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
70 ASSETS
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
71 ${ASSETS_IMAGES}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
72 ${ASSETS_MUSIC}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
73 ${ASSETS_SOUNDS}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
74 ${ASSETS_SPRITES}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
75 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
76
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
77 # Can't use an interface library as examples live in subdirectories.
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
78 file(WRITE ${examples_BINARY_DIR}/none.c "void molko() {}")
154
2252f9efac9a ui: remove style from debug_report, closes #2499
David Demelier <markand@malikania.fr>
parents: 151
diff changeset
79
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
80 # These files just need to be copied.
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
81 file(MAKE_DIRECTORY ${cmake_BINARY_DIR}/assets/maps)
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
82
218
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
83 foreach (s ${ASSETS_MAPS_SPRITES} ${ASSETS_MAPS_ANIMATIONS})
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
84 get_filename_component(basename ${s} NAME)
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
85 set(output ${examples_BINARY_DIR}/assets/maps/${basename})
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
86
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
87 add_custom_command(
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
88 OUTPUT ${output}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
89 COMMENT "Copy ${basename}"
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
90 DEPENDS ${s}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
91 COMMAND ${CMAKE_COMMAND} -E copy ${s} ${output}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
92 VERBATIM
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
93 )
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
94
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
95 list(APPEND COPY_OUTPUTS ${output})
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
96 endforeach ()
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
97
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
98 molko_define_library(
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
99 TARGET libexamples
151
b19d076856d2 ui: cleanup theme module, closes #2498
David Demelier <markand@malikania.fr>
parents: 148
diff changeset
100 FOLDER examples
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
101 SOURCES
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
102 ${examples_BINARY_DIR}/none.c
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
103 ${COPY_OUTPUTS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
104 ${ASSETS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
105 ${ASSETS_MAPS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
106 ${ASSETS_TILESETS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
107 PUBLIC_FLAGS
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
108 BINDIR="${examples_BINARY_DIR}"
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
109 ASSETS ${ASSETS}
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
110 MAPS ${ASSETS_MAPS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
111 TILESETS ${ASSETS_TILESETS}
125
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 )
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
113
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
114 add_subdirectory(example-action)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
115 add_subdirectory(example-animation)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
116 add_subdirectory(example-audio)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
117 add_subdirectory(example-battle)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
118 add_subdirectory(example-cursor)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
119 add_subdirectory(example-debug)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
120 add_subdirectory(example-drawable)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
121 add_subdirectory(example-font)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
122 add_subdirectory(example-gridmenu)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
123 add_subdirectory(example-label)
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
124 add_subdirectory(example-map)
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
125 add_subdirectory(example-message)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
126 add_subdirectory(example-sprite)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
127 add_subdirectory(example-trace)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
128 add_subdirectory(example-ui)
141
4eeeccf2b732 core: add trace/vtrace functions, closes #2493
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
129
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
130 source_group("assets/images" FILES ${ASSETS_IMAGES})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
131 source_group("assets/maps" FILES ${ASSETS_MAPS})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
132 source_group("assets/music" FILES ${ASSETS_MUSIC})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
133 source_group("assets/sounds" FILES ${ASSETS_SOUNDS})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
134 source_group("assets/sprites" FILES ${ASSETS_SPRITES})
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
135 source_group("assets/tilesets" FILES ${ASSETS_TILESETS})