annotate examples/CMakeLists.txt @ 254:6367b976112d

rpg: merge battle state switchers to remove number of files
author David Demelier <markand@malikania.fr>
date Thu, 03 Dec 2020 13:49:54 +0100
parents 86b71e1f9dd5
children 16be1ad3ddba
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 ${examples_SOURCE_DIR}/assets/maps/map-rebonai.json
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
31 ${examples_SOURCE_DIR}/assets/maps/map-world.json
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
32 )
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
33
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
34 set(
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
35 ASSETS_MAPS_SPRITES
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
36 ${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
37 ${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
38 )
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
39
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
40 set(
218
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
41 ASSETS_MAPS_ANIMATIONS
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
42 ${examples_SOURCE_DIR}/assets/maps/animation-water.png
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
43 )
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
44
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
45 set(
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
46 ASSETS_TILESETS
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
47 ${examples_SOURCE_DIR}/assets/maps/tileset-town.json
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
48 ${examples_SOURCE_DIR}/assets/maps/tileset-world.json
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
49 )
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 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
52 ASSETS_MUSIC
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
53 ${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
54 )
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 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
57 ASSETS_SOUNDS
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
58 ${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
59 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
60
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
61 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
62 ASSETS_SPRITES
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
63 ${examples_SOURCE_DIR}/assets/sprites/chest.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
64 ${examples_SOURCE_DIR}/assets/sprites/cursor.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
65 ${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
66 ${examples_SOURCE_DIR}/assets/sprites/john.png
230
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 218
diff changeset
67 ${examples_SOURCE_DIR}/assets/sprites/john-sword.png
86b71e1f9dd5 rpg: add movements in battle
David Demelier <markand@malikania.fr>
parents: 218
diff changeset
68 ${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
69 ${examples_SOURCE_DIR}/assets/sprites/numbers.png
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
70 ${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
71 )
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 160
diff changeset
72
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
73 set(
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
74 ASSETS
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
75 ${ASSETS_IMAGES}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
76 ${ASSETS_MUSIC}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
77 ${ASSETS_SOUNDS}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
78 ${ASSETS_SPRITES}
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
79 )
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
80
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
81 # 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
82 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
83
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
84 # These files just need to be copied.
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
85 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
86
218
71f989ae8de9 rpg: add support for animated tiles
David Demelier <markand@malikania.fr>
parents: 215
diff changeset
87 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
88 get_filename_component(basename ${s} NAME)
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
89 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
90
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
91 add_custom_command(
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
92 OUTPUT ${output}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
93 COMMENT "Copy ${basename}"
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
94 DEPENDS ${s}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
95 COMMAND ${CMAKE_COMMAND} -E copy ${s} ${output}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
96 VERBATIM
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
97 )
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
98
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
99 list(APPEND COPY_OUTPUTS ${output})
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
100 endforeach ()
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
101
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
102 molko_define_library(
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
103 TARGET libexamples
151
b19d076856d2 ui: cleanup theme module, closes #2498
David Demelier <markand@malikania.fr>
parents: 148
diff changeset
104 FOLDER examples
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
105 SOURCES
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
106 ${examples_BINARY_DIR}/none.c
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
107 ${COPY_OUTPUTS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
108 ${ASSETS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
109 ${ASSETS_MAPS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
110 ${ASSETS_TILESETS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
111 PUBLIC_FLAGS
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
112 BINDIR="${examples_BINARY_DIR}"
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
113 ASSETS ${ASSETS}
215
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
114 MAPS ${ASSETS_MAPS}
64f24b482722 rpg: implement tilesets separately, closes #2515 @4h
David Demelier <markand@malikania.fr>
parents: 210
diff changeset
115 TILESETS ${ASSETS_TILESETS}
125
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 )
d59efa737fcc cmake: add examples and fix
David Demelier <markand@malikania.fr>
parents:
diff changeset
117
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
118 add_subdirectory(example-action)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
119 add_subdirectory(example-animation)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
120 add_subdirectory(example-audio)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
121 add_subdirectory(example-battle)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
122 add_subdirectory(example-cursor)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
123 add_subdirectory(example-debug)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
124 add_subdirectory(example-drawable)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
125 add_subdirectory(example-font)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
126 add_subdirectory(example-gridmenu)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
127 add_subdirectory(example-label)
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
128 add_subdirectory(example-map)
209
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
129 add_subdirectory(example-message)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
130 add_subdirectory(example-sprite)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
131 add_subdirectory(example-trace)
23a844fdc911 examples: move all into subdirectories, closes #2513
David Demelier <markand@malikania.fr>
parents: 203
diff changeset
132 add_subdirectory(example-ui)
141
4eeeccf2b732 core: add trace/vtrace functions, closes #2493
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
133
210
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
134 source_group("assets/images" FILES ${ASSETS_IMAGES})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
135 source_group("assets/maps" FILES ${ASSETS_MAPS})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
136 source_group("assets/music" FILES ${ASSETS_MUSIC})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
137 source_group("assets/sounds" FILES ${ASSETS_SOUNDS})
70e6ed74940d rpg: attempt of collide detection in map
David Demelier <markand@malikania.fr>
parents: 209
diff changeset
138 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
139 source_group("assets/tilesets" FILES ${ASSETS_TILESETS})