11
22## General information
33
4- There are 2 buildsystems that can be used - CMake and autotools (links below).
4+ There are 2 buildsystems that can be used - [ CMake] ( https://cmake.org/ ) and
5+ [ GNU Autotools] ( https://en.wikipedia.org/wiki/GNU_Autotools ) .
56Obviously, a requirement for building is installation of the chosen one.
67
7- Testing require also the Check testing framework for C (link below).
8+ Testing requires also
9+ [ the Check testing framework for C] ( https://libcheck.github.io/check/ ) .
810
9- Building deb packages require typical tools for that (ie. helper script uses
11+ Building deb packages requires typical tools for that (ie. helper script uses
1012debuild from devscripts).
1113
1214
13- ## Building with CMake
15+ ## Building
16+
17+ The project was mostly compiled and tested with ` gcc ` (Linux, CygWin, Mingw),
18+ ` clang ` (MacOS) and ` msvc ` (Visual Studio on Windows), but other compilers
19+ might be also fine (as long as they are C99 compliant).
20+
21+
22+ ### Building with CMake
1423
1524There are helper scripts in the ` util/ ` directory, which should help doing quick
1625builds. For instance, to build a release version (both static and binary lib.):
@@ -45,7 +54,7 @@ and build with or without the address sanitizer (normally used only for
4554debugging/sanitizing memory problems): ` ADFLIB_ENABLE_ADDRESS_SANITIZER `
4655
4756
48- ## Building with Autotools
57+ ### Building with Autotools
4958
5059Standard way:
5160```
@@ -71,7 +80,7 @@ to experiment with it (with caution!), the driver must be enabled
7180in the code.
7281
7382
74- ## Building with Visual Studio
83+ ### Building with Visual Studio
7584
7685Existing CMake configuration should allow to build with VS. Just open
7786the directory with the project (or possibly clone the repo with VS).
@@ -82,7 +91,7 @@ a static or a shared (DLL) library. All use MSVC compiler (but this can be
8291changed easily in CMake settings, eg. to ` clang ` ).
8392
8493
85- ## Building Debian packages
94+ ### Building Debian packages
8695
8796To build a ` .deb ` package for Debian (or any derivative), use the helper
8897script:
@@ -120,23 +129,23 @@ Note that:
120129
121130 (see also [ a related Stack overflow post] ( https://stackoverflow.com/questions/66531482/application-crashes-when-using-address-sanitizer-with-msvc ) )
122131
123- ## Testing with CMake
132+ ### Testing with CMake
124133
125134After successful building (see above), automatic tests can be started with:
126135- ` $ util/cmake_debug_test ` (to test debug version)
127136- ` $ util/cmake_shared_test ` (for the shared library version)
128137- ` $ util/cmake_static_test ` (for the static library version)
129138
130139
131- ## Testing with Autotools
140+ ### Testing with Autotools
132141
133142After successful building (see above), automatic tests can be build
134143and started with:
135144```
136145 $ make check
137146```
138147
139- ## Testing with Visual Studio
148+ ### Testing with Visual Studio
140149
141150"Run CTests".
142151
@@ -155,7 +164,7 @@ Basic checks are done by the CI system for CMake and autotools on Linux
155164(Debian and Ubuntu) and MacOS, so those _ should_ work fine.
156165
157166
158- ## Installation with CMake
167+ ### Installation with CMake
159168
160169(Note that this was not much used / tested!)
161170
@@ -175,7 +184,7 @@ $ util/cmake_shared_install
175184$ util/cmake_static_install
176185```
177186
178- ## Installation with autotools
187+ ### Installation with autotools
179188
180189To a configured location:
181190```
@@ -189,15 +198,15 @@ $ ./configure --help
189198and look for prefix options.
190199
191200
192- ## Installation with Visual Studio
201+ ### Installation with Visual Studio
193202
194203Find produced DLL and EXE and copy wherever you want...
195204(btw. not sure what CMake install does on Windows...)
196205
197206
198207## Cross-compilation examples
199208
200- 1 . With CMake:
209+ ### With CMake:
201210
202211Building for Windows can be done cross-compiling eg. on Linux with MinGW:
203212```
@@ -227,17 +236,11 @@ require eg. configuring Windows CMake or tinkering test configuration to use
227236Wine for execution etc...
228237It should rather be tested and used on the native target system.
229238
230- 2 . With autotools:
239+ ### With autotools:
231240```
232241 $ ./autogen.sh
233242 $ mkdir build
234243 $ cd build
235244 $ ../configure --host=x86_64-w64-mingw32
236245 $ make
237246```
238-
239- Links
240- ------
241- - [ CMake] ( https://cmake.org/ )
242- - [ GNU Autotools] ( https://en.wikipedia.org/wiki/GNU_Autotools ) (and links there)
243- - [ Check testing framework] ( https://libcheck.github.io/check/ )
0 commit comments