Mercurial > molko
annotate libmlk-core/CMakeLists.txt @ 639:19d19f644b5e
misc: bring back duktape
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 23 Sep 2023 21:04:16 +0200 |
parents | 3930234ab1f5 |
children | 9850089c9671 |
rev | line source |
---|---|
447 | 1 # |
2 # CMakeLists.txt -- CMake build system for Molko's Engine | |
3 # | |
581
cedfdbc0e9a7
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
522
diff
changeset
|
4 # Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> |
447 | 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(libmlk-core) | |
20 | |
21 set( | |
634
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
22 ASSETS |
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
23 ${libmlk-core_SOURCE_DIR}/assets/misc/gamecontrollerdb.txt |
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
24 ) |
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
25 |
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
26 set( |
447 | 27 SOURCES |
587
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
28 ${libmlk-core_SOURCE_DIR}/mlk/core/action-script.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
29 ${libmlk-core_SOURCE_DIR}/mlk/core/action-stack.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
30 ${libmlk-core_SOURCE_DIR}/mlk/core/action.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
31 ${libmlk-core_SOURCE_DIR}/mlk/core/alloc.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
32 ${libmlk-core_SOURCE_DIR}/mlk/core/animation.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
33 ${libmlk-core_SOURCE_DIR}/mlk/core/clock.c |
618 | 34 ${libmlk-core_SOURCE_DIR}/mlk/core/color.c |
587
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
35 ${libmlk-core_SOURCE_DIR}/mlk/core/core.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
36 ${libmlk-core_SOURCE_DIR}/mlk/core/core_p.h |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
37 ${libmlk-core_SOURCE_DIR}/mlk/core/drawable-stack.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
38 ${libmlk-core_SOURCE_DIR}/mlk/core/drawable.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
39 ${libmlk-core_SOURCE_DIR}/mlk/core/err.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
40 ${libmlk-core_SOURCE_DIR}/mlk/core/event.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
41 ${libmlk-core_SOURCE_DIR}/mlk/core/font.c |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
42 ${libmlk-core_SOURCE_DIR}/mlk/core/game.c |
587
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
43 ${libmlk-core_SOURCE_DIR}/mlk/core/gamepad.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
44 ${libmlk-core_SOURCE_DIR}/mlk/core/image.c |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
45 ${libmlk-core_SOURCE_DIR}/mlk/core/maths.c |
587
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
46 ${libmlk-core_SOURCE_DIR}/mlk/core/music.c |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
47 ${libmlk-core_SOURCE_DIR}/mlk/core/painter.c |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
48 ${libmlk-core_SOURCE_DIR}/mlk/core/panic.c |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
49 ${libmlk-core_SOURCE_DIR}/mlk/core/sound.c |
587
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
50 ${libmlk-core_SOURCE_DIR}/mlk/core/sprite.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
51 ${libmlk-core_SOURCE_DIR}/mlk/core/state.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
52 ${libmlk-core_SOURCE_DIR}/mlk/core/sys.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
53 ${libmlk-core_SOURCE_DIR}/mlk/core/texture.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
54 ${libmlk-core_SOURCE_DIR}/mlk/core/trace.c |
c027304ced27
misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents:
586
diff
changeset
|
55 ${libmlk-core_SOURCE_DIR}/mlk/core/util.c |
588
0bf939090d33
cmake: install all headers
David Demelier <markand@malikania.fr>
parents:
587
diff
changeset
|
56 ${libmlk-core_SOURCE_DIR}/mlk/core/window.c |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
57 ) |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
58 |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
59 set( |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
60 HEADERS |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
61 ${libmlk-core_SOURCE_DIR}/mlk/core/action-script.h |
450
b26dd49f69ff
core: event -> mlk_event (and friends)
David Demelier <markand@malikania.fr>
parents:
447
diff
changeset
|
62 ${libmlk-core_SOURCE_DIR}/mlk/core/action-stack.h |
447 | 63 ${libmlk-core_SOURCE_DIR}/mlk/core/action.h |
64 ${libmlk-core_SOURCE_DIR}/mlk/core/alloc.h | |
65 ${libmlk-core_SOURCE_DIR}/mlk/core/animation.h | |
66 ${libmlk-core_SOURCE_DIR}/mlk/core/clock.h | |
67 ${libmlk-core_SOURCE_DIR}/mlk/core/color.h | |
68 ${libmlk-core_SOURCE_DIR}/mlk/core/core.h | |
450
b26dd49f69ff
core: event -> mlk_event (and friends)
David Demelier <markand@malikania.fr>
parents:
447
diff
changeset
|
69 ${libmlk-core_SOURCE_DIR}/mlk/core/drawable-stack.h |
447 | 70 ${libmlk-core_SOURCE_DIR}/mlk/core/drawable.h |
450
b26dd49f69ff
core: event -> mlk_event (and friends)
David Demelier <markand@malikania.fr>
parents:
447
diff
changeset
|
71 ${libmlk-core_SOURCE_DIR}/mlk/core/err.h |
447 | 72 ${libmlk-core_SOURCE_DIR}/mlk/core/event.h |
73 ${libmlk-core_SOURCE_DIR}/mlk/core/font.h | |
74 ${libmlk-core_SOURCE_DIR}/mlk/core/game.h | |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
75 ${libmlk-core_SOURCE_DIR}/mlk/core/gamepad.h |
447 | 76 ${libmlk-core_SOURCE_DIR}/mlk/core/image.h |
77 ${libmlk-core_SOURCE_DIR}/mlk/core/key.h | |
78 ${libmlk-core_SOURCE_DIR}/mlk/core/maths.h | |
79 ${libmlk-core_SOURCE_DIR}/mlk/core/mouse.h | |
80 ${libmlk-core_SOURCE_DIR}/mlk/core/music.h | |
81 ${libmlk-core_SOURCE_DIR}/mlk/core/painter.h | |
82 ${libmlk-core_SOURCE_DIR}/mlk/core/panic.h | |
83 ${libmlk-core_SOURCE_DIR}/mlk/core/sound.h | |
84 ${libmlk-core_SOURCE_DIR}/mlk/core/sprite.h | |
85 ${libmlk-core_SOURCE_DIR}/mlk/core/state.h | |
86 ${libmlk-core_SOURCE_DIR}/mlk/core/sys.h | |
87 ${libmlk-core_SOURCE_DIR}/mlk/core/sys_p.h | |
88 ${libmlk-core_SOURCE_DIR}/mlk/core/texture.h | |
89 ${libmlk-core_SOURCE_DIR}/mlk/core/texture_p.h | |
90 ${libmlk-core_SOURCE_DIR}/mlk/core/trace.h | |
91 ${libmlk-core_SOURCE_DIR}/mlk/core/util.h | |
92 ${libmlk-core_SOURCE_DIR}/mlk/core/window.h | |
93 ${libmlk-core_SOURCE_DIR}/mlk/core/window_p.h | |
94 ) | |
95 | |
96 set( | |
97 NLS | |
98 ${libmlk-core_SOURCE_DIR}/nls/fr.po | |
99 ) | |
100 | |
101 if (MLK_WITH_NLS) | |
102 list(APPEND LIBRARIES ${Intl_LIBRARIES}) | |
103 endif () | |
104 | |
105 if (CMAKE_SYSTEM_NAME MATCHES "Windows") | |
106 list(APPEND LIBRARIES shlwapi) | |
107 endif () | |
108 | |
109 if (M_LIBRARY) | |
110 list(APPEND LIBRARIES ${M_LIBRARY}) | |
111 endif () | |
112 | |
586 | 113 if (MLK_WITH_NLS) |
114 list(APPEND LIBRARIES Intl::Intl) | |
115 endif () | |
116 | |
447 | 117 mlk_library( |
118 NAME libmlk-core | |
634
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
119 ASSETS ${ASSETS} |
588
0bf939090d33
cmake: install all headers
David Demelier <markand@malikania.fr>
parents:
587
diff
changeset
|
120 SOURCES ${SOURCES} |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
121 HEADERS ${HEADERS} |
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
122 HEADERS_DIRECTORY mlk/core |
447 | 123 LANGS ${NLS} |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
124 INSTALL |
447 | 125 LIBRARIES |
126 PUBLIC | |
127 ${LIBRARIES} | |
128 ${OPENAL_LIBRARY} | |
129 SndFile::SndFile | |
613 | 130 SDL3::SDL3 |
131 SDL3_image::SDL3_image-shared | |
132 SDL3_ttf::SDL3_ttf-shared | |
447 | 133 libmlk-util |
134 INCLUDES | |
634
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
135 PRIVATE |
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
136 $<BUILD_INTERFACE:${libmlk-core_BINARY_DIR}> |
447 | 137 PUBLIC |
584
f2737a931658
cmake: start installing
David Demelier <markand@malikania.fr>
parents:
581
diff
changeset
|
138 $<BUILD_INTERFACE:${libmlk-core_SOURCE_DIR}> |
447 | 139 ${OPENAL_INCLUDE_DIR} |
140 ) | |
141 | |
639
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
142 if (MLK_WITH_JAVASCRIPT) |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
143 set( |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
144 JS_SOURCES |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
145 ${libmlk-core_SOURCE_DIR}/mlk/core/js/js.c |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
146 ${libmlk-core_SOURCE_DIR}/mlk/core/js/js.h |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
147 ) |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
148 |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
149 mlk_library( |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
150 NAME libmlk-core-js |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
151 SOURCES ${JS_SOURCES} |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
152 INSTALL |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
153 LIBRARIES |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
154 PUBLIC |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
155 libmlk-duktape |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
156 libmlk-core |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
157 ) |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
158 |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
159 source_group(TREE ${libmlk-core_SOURCE_DIR} FILES ${JS_SOURCES}) |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
160 endif () |
19d19f644b5e
misc: bring back duktape
David Demelier <markand@malikania.fr>
parents:
634
diff
changeset
|
161 |
634
3930234ab1f5
examples: add basic gamepad
David Demelier <markand@malikania.fr>
parents:
618
diff
changeset
|
162 source_group(TREE ${libmlk-core_SOURCE_DIR} FILES ${ASSETS} ${HEADERS} ${SOURCES} ${NLS}) |