annotate libmlk-core/CMakeLists.txt @ 613:f76cada0bbb2

misc: switch to SDL3
author David Demelier <markand@malikania.fr>
date Sun, 20 Aug 2023 11:14:58 +0200
parents 0bf939090d33
children 509b395171f2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for Molko's Engine
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 project(libmlk-core)
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 set(
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 SOURCES
587
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
23 ${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
24 ${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
25 ${libmlk-core_SOURCE_DIR}/mlk/core/action.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
26 ${libmlk-core_SOURCE_DIR}/mlk/core/alloc.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
27 ${libmlk-core_SOURCE_DIR}/mlk/core/animation.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
28 ${libmlk-core_SOURCE_DIR}/mlk/core/clock.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
29 ${libmlk-core_SOURCE_DIR}/mlk/core/core.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
30 ${libmlk-core_SOURCE_DIR}/mlk/core/core.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
31 ${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
32 ${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
33 ${libmlk-core_SOURCE_DIR}/mlk/core/drawable.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
34 ${libmlk-core_SOURCE_DIR}/mlk/core/err.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
35 ${libmlk-core_SOURCE_DIR}/mlk/core/event.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
36 ${libmlk-core_SOURCE_DIR}/mlk/core/font.c
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
37 ${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
38 ${libmlk-core_SOURCE_DIR}/mlk/core/gamepad.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
39 ${libmlk-core_SOURCE_DIR}/mlk/core/image.c
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
40 ${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
41 ${libmlk-core_SOURCE_DIR}/mlk/core/music.c
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
42 ${libmlk-core_SOURCE_DIR}/mlk/core/painter.c
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
43 ${libmlk-core_SOURCE_DIR}/mlk/core/panic.c
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
44 ${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
45 ${libmlk-core_SOURCE_DIR}/mlk/core/sprite.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
46 ${libmlk-core_SOURCE_DIR}/mlk/core/state.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
47 ${libmlk-core_SOURCE_DIR}/mlk/core/sys.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
48 ${libmlk-core_SOURCE_DIR}/mlk/core/texture.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
49 ${libmlk-core_SOURCE_DIR}/mlk/core/trace.c
c027304ced27 misc: add NLS for ui/rpg
David Demelier <markand@malikania.fr>
parents: 586
diff changeset
50 ${libmlk-core_SOURCE_DIR}/mlk/core/util.c
588
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 587
diff changeset
51 ${libmlk-core_SOURCE_DIR}/mlk/core/window.c
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
52 )
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
53
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
54 set(
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
55 HEADERS
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
56 ${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
57 ${libmlk-core_SOURCE_DIR}/mlk/core/action-stack.h
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 ${libmlk-core_SOURCE_DIR}/mlk/core/action.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 ${libmlk-core_SOURCE_DIR}/mlk/core/alloc.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 ${libmlk-core_SOURCE_DIR}/mlk/core/animation.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 ${libmlk-core_SOURCE_DIR}/mlk/core/clock.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 ${libmlk-core_SOURCE_DIR}/mlk/core/color.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 ${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
64 ${libmlk-core_SOURCE_DIR}/mlk/core/drawable-stack.h
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 ${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
66 ${libmlk-core_SOURCE_DIR}/mlk/core/err.h
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 ${libmlk-core_SOURCE_DIR}/mlk/core/event.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 ${libmlk-core_SOURCE_DIR}/mlk/core/font.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 ${libmlk-core_SOURCE_DIR}/mlk/core/game.h
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
70 ${libmlk-core_SOURCE_DIR}/mlk/core/gamepad.h
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 ${libmlk-core_SOURCE_DIR}/mlk/core/image.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 ${libmlk-core_SOURCE_DIR}/mlk/core/key.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 ${libmlk-core_SOURCE_DIR}/mlk/core/maths.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 ${libmlk-core_SOURCE_DIR}/mlk/core/mouse.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 ${libmlk-core_SOURCE_DIR}/mlk/core/music.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 ${libmlk-core_SOURCE_DIR}/mlk/core/painter.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 ${libmlk-core_SOURCE_DIR}/mlk/core/panic.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 ${libmlk-core_SOURCE_DIR}/mlk/core/sound.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 ${libmlk-core_SOURCE_DIR}/mlk/core/sprite.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 ${libmlk-core_SOURCE_DIR}/mlk/core/state.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 ${libmlk-core_SOURCE_DIR}/mlk/core/sys.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 ${libmlk-core_SOURCE_DIR}/mlk/core/sys_p.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 ${libmlk-core_SOURCE_DIR}/mlk/core/texture.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 ${libmlk-core_SOURCE_DIR}/mlk/core/texture_p.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 ${libmlk-core_SOURCE_DIR}/mlk/core/trace.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 ${libmlk-core_SOURCE_DIR}/mlk/core/util.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 ${libmlk-core_SOURCE_DIR}/mlk/core/window.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 ${libmlk-core_SOURCE_DIR}/mlk/core/window_p.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 )
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
90
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 set(
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 NLS
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 ${libmlk-core_SOURCE_DIR}/nls/fr.po
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 )
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
95
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 if (MLK_WITH_NLS)
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 list(APPEND LIBRARIES ${Intl_LIBRARIES})
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 endif ()
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
99
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 if (CMAKE_SYSTEM_NAME MATCHES "Windows")
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 list(APPEND LIBRARIES shlwapi)
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 endif ()
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 if (M_LIBRARY)
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 list(APPEND LIBRARIES ${M_LIBRARY})
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 endif ()
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
586
4349b591c3ac cmake: put NLS back
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
108 if (MLK_WITH_NLS)
4349b591c3ac cmake: put NLS back
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
109 list(APPEND LIBRARIES Intl::Intl)
4349b591c3ac cmake: put NLS back
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
110 endif ()
4349b591c3ac cmake: put NLS back
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
111
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 mlk_library(
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 NAME libmlk-core
588
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 587
diff changeset
114 SOURCES ${SOURCES}
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
115 HEADERS ${HEADERS}
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
116 HEADERS_DIRECTORY mlk/core
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 LANGS ${NLS}
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
118 INSTALL
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 LIBRARIES
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 PUBLIC
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 ${LIBRARIES}
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 ${OPENAL_LIBRARY}
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 SndFile::SndFile
613
f76cada0bbb2 misc: switch to SDL3
David Demelier <markand@malikania.fr>
parents: 588
diff changeset
124 SDL3::SDL3
f76cada0bbb2 misc: switch to SDL3
David Demelier <markand@malikania.fr>
parents: 588
diff changeset
125 SDL3_image::SDL3_image-shared
f76cada0bbb2 misc: switch to SDL3
David Demelier <markand@malikania.fr>
parents: 588
diff changeset
126 SDL3_ttf::SDL3_ttf-shared
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 libmlk-util
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 INCLUDES
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 PUBLIC
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
130 $<BUILD_INTERFACE:${libmlk-core_SOURCE_DIR}>
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 ${OPENAL_INCLUDE_DIR}
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 )
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
133
588
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 587
diff changeset
134 source_group(TREE ${libmlk-core_SOURCE_DIR} FILES ${HEADERS} ${SOURCES} ${NLS})