Mercurial > molko
comparison assets/CMakeLists.txt @ 116:0a6683615c73
cmake: change build system, continue #2487 @3h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 03 Oct 2020 18:32:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
115:3bd0d3a39e30 | 116:0a6683615c73 |
---|---|
1 # | |
2 # CMakeLists.txt -- CMake build system for assets | |
3 # | |
4 # Copyright (c) 2020 David Demelier <markand@malikania.fr> | |
5 # | |
6 # Permission to use, copy, modify, and/or distribute this software for any | |
7 # purpose with or without fee is hereby granted, provided that the above | |
8 # copyright notice and this permission notice appear in all copies. | |
9 # | |
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 # | |
18 | |
19 project(libassets) | |
20 | |
21 set( | |
22 FONTS | |
23 ComicNeue-Regular.ttf | |
24 DejaVuSans.ttf | |
25 DejaVuSansCondensed.ttf | |
26 Lato-Regular.ttf | |
27 knights-quest.ttf | |
28 pirata-one.ttf | |
29 teutonic1.ttf | |
30 ) | |
31 | |
32 set( | |
33 IMAGES | |
34 message.png | |
35 ) | |
36 | |
37 set( | |
38 MAPS | |
39 test.map | |
40 ) | |
41 | |
42 set( | |
43 SPRITES | |
44 test-walk.png | |
45 ) | |
46 | |
47 set( | |
48 TILESETS | |
49 test.png | |
50 ) | |
51 | |
52 macro (gen basedir list) | |
53 file(MAKE_DIRECTORY ${libassets_BINARY_DIR}/assets/${basedir}) | |
54 | |
55 foreach (i ${list}) | |
56 get_filename_component(basename ${i} NAME_WE) | |
57 | |
58 set(input ${libassets_SOURCE_DIR}/${basedir}/${i}) | |
59 set(output ${libassets_BINARY_DIR}/assets/${basedir}/${basename}.h) | |
60 | |
61 add_custom_command( | |
62 OUTPUT ${output} | |
63 COMMAND $<TARGET_FILE:bcc> -s ${input} ${basename} > ${output} | |
64 DEPENDS $<TARGET_FILE:bcc> | |
65 ) | |
66 | |
67 list(APPEND OUTPUTS ${output}) | |
68 endforeach () | |
69 endmacro () | |
70 | |
71 gen(fonts "${FONTS}") | |
72 gen(images "${IMAGES}") | |
73 gen(maps "${MAPS}") | |
74 gen(sprites "${SPRITES}") | |
75 gen(tilesets "${TILESETS}") | |
76 | |
77 add_library(libassets OBJECT ${OUTPUTS}) | |
78 target_include_directories( | |
79 libassets | |
80 PUBLIC | |
81 $<BUILD_INTERFACE:${libassets_BINARY_DIR}> | |
82 ) | |
83 set_target_properties(libassets PROPERTIES LINKER_LANGUAGE "C") |