annotate libmlk-util/CMakeLists.txt @ 646:7e1eb7f6c049 default tip @

misc: remove .clang
author David Demelier <markand@malikania.fr>
date Sun, 04 Feb 2024 15:24:37 +0100
parents f76cada0bbb2
children
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: 570
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-util)
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
558
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
21 include(CheckFunctionExists)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
22 include(CheckIncludeFile)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
23 include(CheckSymbolExists)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
24
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 set(
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 SOURCES
570
aaf518c87628 util: introduce dir module
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
27 ${libmlk-util_SOURCE_DIR}/mlk/util/dir.c
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 ${libmlk-util_SOURCE_DIR}/mlk/util/fmemopen.c
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 ${libmlk-util_SOURCE_DIR}/mlk/util/openbsd/basename.c
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 ${libmlk-util_SOURCE_DIR}/mlk/util/openbsd/dirname.c
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 ${libmlk-util_SOURCE_DIR}/mlk/util/openbsd/getopt.c
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 ${libmlk-util_SOURCE_DIR}/mlk/util/openbsd/strlcat.c
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 ${libmlk-util_SOURCE_DIR}/mlk/util/openbsd/strlcpy.c
558
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
34 ${libmlk-util_SOURCE_DIR}/mlk/util/sysconfig.cmake.h
557
944798a59b8a util: introduce mlk_util_die
David Demelier <markand@malikania.fr>
parents: 447
diff changeset
35 ${libmlk-util_SOURCE_DIR}/mlk/util/util.c
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
36 )
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
37
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
38 set(
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
39 HEADERS
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
40 ${libmlk-util_SOURCE_DIR}/mlk/util/dir.h
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 ${libmlk-util_SOURCE_DIR}/mlk/util/util.h
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 )
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
558
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
44 check_symbol_exists("PATH_MAX" "limits.h" MLK_HAVE_PATH_MAX)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
45
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
46 check_include_file("libgen.h" MLK_HAVE_LIBGEN_H)
570
aaf518c87628 util: introduce dir module
David Demelier <markand@malikania.fr>
parents: 561
diff changeset
47 check_include_file("dirent.h" MLK_HAVE_DIRENT_H)
558
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
48
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
49 check_function_exists(basename MLK_HAVE_BASENAME)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
50 check_function_exists(dirname MLK_HAVE_DIRNAME)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
51 check_function_exists(fmemopen MLK_HAVE_FMEMOPEN)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
52 check_function_exists(strlcat MLK_HAVE_STRLCAT)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
53 check_function_exists(strlcpy MLK_HAVE_STRLCPY)
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
54
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
55 configure_file(
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
56 ${libmlk-util_SOURCE_DIR}/mlk/util/sysconfig.cmake.h
561
7732e789bcdd rpg: conditionally enable fmemopen functions
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
57 ${libmlk-util_BINARY_DIR}/mlk/util/sysconfig.h
558
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
58 )
a2443afe8a1f cmake: check for non-portable stuff
David Demelier <markand@malikania.fr>
parents: 557
diff changeset
59
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 mlk_library(
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 NAME libmlk-util
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 SOURCES ${SOURCES}
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
63 INSTALL
588
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
64 HEADERS
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
65 ${HEADERS}
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
66 ${libmlk-util_BINARY_DIR}/mlk/util/sysconfig.h
584
f2737a931658 cmake: start installing
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
67 HEADERS_DIRECTORY mlk/util
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 INCLUDES
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 PUBLIC
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 $<BUILD_INTERFACE:${libmlk-util_SOURCE_DIR}>
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 $<BUILD_INTERFACE:${libmlk-util_BINARY_DIR}>
561
7732e789bcdd rpg: conditionally enable fmemopen functions
David Demelier <markand@malikania.fr>
parents: 558
diff changeset
72 $<BUILD_INTERFACE:${libmlk-util_BINARY_DIR}/mlk/util>
447
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 )
e1fa1b867281 cmake: resurrection
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
588
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
75 source_group(TREE ${libmlk-util_SOURCE_DIR} FILES ${HEADERS} ${SOURCES})
0bf939090d33 cmake: install all headers
David Demelier <markand@malikania.fr>
parents: 584
diff changeset
76 source_group(build ${libmlk-util_BINARY_DIR}/mlk/util/sysconfig.h)