aboutsummaryrefslogtreecommitdiff
path: root/README-cmake.md
diff options
context:
space:
mode:
authorVollstrecker <werner@vollstreckernet.de>2025-01-22 17:24:17 +0100
committerMark Adler <madler@alumni.caltech.edu>2025-01-31 20:02:26 -0800
commit6c224f159e6d940f775c017b1bc354d39d74ee48 (patch)
tree8a88f9b98ce02123206f418df7c2e62df6dc9f1f /README-cmake.md
parent213998f2b0dbe21b50f18c242ddb43b34e79b75f (diff)
downloadzlib-6c224f159e6d940f775c017b1bc354d39d74ee48.tar.gz
zlib-6c224f159e6d940f775c017b1bc354d39d74ee48.tar.bz2
zlib-6c224f159e6d940f775c017b1bc354d39d74ee48.zip
CMake: Change README-cmake to README-cmake.md with formatting.
Per @ClausKlein suggestion.
Diffstat (limited to 'README-cmake.md')
-rw-r--r--README-cmake.md83
1 files changed, 83 insertions, 0 deletions
diff --git a/README-cmake.md b/README-cmake.md
new file mode 100644
index 0000000..7258f9c
--- /dev/null
+++ b/README-cmake.md
@@ -0,0 +1,83 @@
1# For building with cmake at least version 3.12 (minizip 3.12) is needed
2
3In most cases the usual
4
5 cmake -S . -B build -D CMAKE_BUILD_TYPE=Release
6
7will create everything you need, however if you want something off default you can adjust several options fit your needs.
8Every option is list below (excluding the cmake-standard options), they can be set via cmake-gui or on cmdline with
9
10 -D<option>=ON/OFF
11
12## ZLIB-options with defaults ##
13
14 ZLIB_BUILD_TESTING=ON -- Enable Zlib Examples as tests
15
16 ZLIB_BUILD_SHARED=ON -- Enable building zlib shared library
17
18 ZLIB_BUILD_STATIC=ON -- Enable building zlib static library
19
20 ZLIB_BUILD_MINIZIP=ON -- Enable building libminizip contrib library
21
22If this option is turned on, additional options are available from minizip (see below)
23
24 ZLIB_INSTALL=ON -- Enable installation of zlib
25
26 ZLIB_PREFIX=OFF -- prefix for all types and library functions, see zconf.h.in
27
28 ZLIB_INSTALL_COMPAT_DLL=ON -- Install a copy as zlib1.dll
29
30This option is only on windows available and may/will be turned off and removed somewhen in the future.
31If you rely cmake for finding and using zlib, this can be turned off, as `zlib1.dll` will never be used.
32
33## minizip-options with defaults ##
34
35 MINIZIP_BUILD_SHARED=ON -- Enable building minizip shared library
36
37 MINIZIP_BUILD_STATIC=ON -- Enable building minizip static library
38
39 MINIZIP_BUILD_TESTING=ON -- Enable testing of minizip
40
41 MINIZIP_ENABLE_BZIP2=ON -- Build minizip withj bzip2 support
42
43A usable installation of bzip2 is needed or config will fail. Turn this option of in this case.
44
45 MINIZIP_INSTALL=ON -- Enable installation of minizip
46
47 MINIZIP_INSTALL_COMPAT_DLL=ON -- Install a copy as libminizip-1.dll
48
49This option is only available on mingw as they tend to name this lib different. Maybe this will also be
50removed in the future as. If you rely cmake for finding and using zlib, this can be turned off, as
51the other file will never be used.
52
53## Using the libs ##
54
55To pull in what you need it's enough to just write
56
57 find_package(ZLIB CONFIG)
58
59or
60
61 find_package(minizip CONFIG)
62
63in your CMakeLists.txt, however it is advised to specify what you really want via:
64
65 find_package(ZLIB CONFIG COMPONENTS shared static REQUIRED)
66
67or
68
69 find_package(minizip CONFIG COMPONENTS shared static REQUIRED)
70
71As it's possible to only build the shared or the static lib, you can make sure that everything you need
72is found. If no COMPONENTS are requested, everything that is found will satisfy your request. If the
73libraries are optional in you project, you can omit the REQUIRED and check yourself if the targets you
74want to link against are created.
75
76When you search for minizip, it will search zlib for you, so only one of both is needed.
77
78## Imported targets ##
79
80When found the following targets are created for you:
81
82 ZLIB::ZLIB and ZLIB::ZLIBSTATIC -- for zlib
83 MINIZIP::minizip and MINIZIP::minizipstatic -- for minizip