2026-06-03 11:56:21 +02:00
2025-01-20 18:40:47 +00:00
2025-01-20 16:43:48 +00:00
2025-01-20 18:40:47 +00:00
2025-01-20 16:43:48 +00:00
2026-06-03 10:56:42 +02:00
2025-01-20 16:43:48 +00:00
2016-03-17 11:13:23 +00:00
2025-04-25 21:40:45 +00:00
2024-11-12 13:38:49 +00:00
2025-01-22 17:32:17 +00:00
2025-01-20 16:39:51 +00:00
2025-01-22 17:32:17 +00:00
2025-01-22 17:32:17 +00:00
2025-01-20 18:07:12 +00:00
2025-01-20 16:39:51 +00:00
2025-01-20 16:39:51 +00:00
2025-04-29 20:32:08 +00:00
2025-03-17 13:21:55 +00:00
2025-01-20 18:07:12 +00:00
2025-01-20 18:07:12 +00:00
2025-03-20 13:14:58 +00:00
2025-03-20 13:04:15 +00:00
2024-11-22 19:22:42 +00:00
2017-04-28 13:55:00 +00:00
2024-11-22 19:40:24 +00:00
2024-11-22 19:52:25 +00:00
2025-03-17 12:59:03 +00:00
2025-01-15 12:37:58 +00:00
2026-06-03 11:56:21 +02:00
2001-02-02 17:54:47 +00:00
2025-01-22 17:32:17 +00:00
2022-11-16 16:33:50 +00:00
2005-10-14 15:33:33 +00:00
2012-02-07 17:02:40 +00:00
2025-03-17 12:59:03 +00:00
2025-05-14 10:59:45 +00:00
2025-01-20 18:40:47 +00:00
2025-01-20 18:40:47 +00:00
2025-01-20 18:40:47 +00:00
2025-01-20 18:40:47 +00:00
2025-01-20 18:40:47 +00:00
2017-04-28 13:55:00 +00:00
2024-02-19 13:01:40 +00:00
2025-01-20 18:40:47 +00:00
2025-03-20 13:17:22 +00:00
2025-03-20 13:14:58 +00:00
2025-01-21 17:09:21 +00:00
2025-03-20 13:04:15 +00:00
2012-02-07 17:02:40 +00:00
2024-11-22 19:24:07 +00:00
2024-11-22 19:24:07 +00:00
2025-01-20 18:40:47 +00:00
2002-10-21 22:35:17 +00:00
2026-06-03 11:56:21 +02:00
2024-11-26 15:32:45 +00:00
2024-04-04 15:38:18 +00:00
2024-04-04 15:38:18 +00:00
2024-11-22 19:22:42 +00:00
2025-03-17 13:21:55 +00:00
2021-04-22 11:31:22 +00:00
2021-04-22 11:02:44 +00:00
2025-01-22 17:32:17 +00:00
2016-06-23 19:43:00 +00:00
2024-04-04 16:11:07 +00:00
2025-01-20 16:49:14 +00:00
2025-05-14 10:59:45 +00:00
2024-11-22 19:06:56 +00:00
2014-05-07 23:51:24 +00:00

libowfat

This tree keeps the original GNUmakefile build untouched and adds an optional CMake build for projects that want to consume libowfat directly with CMake.

CMake build

Out-of-tree builds are supported:

cmake -S . -B build
cmake --build build
ctest --test-dir build --output-on-failure

By default the CMake build produces the normal shared library name:

libowfat.so

A prefix can be added to the library basename. For example, this builds libnwowfat.so and, when static builds are enabled, libnwowfat.a:

cmake -S . -B build-nw \
  -DLIBOWFAT_LIBRARY_PREFIX=nw \
  -DLIBOWFAT_BUILD_STATIC=ON \
  -DLIBOWFAT_BUILD_SHARED=ON
cmake --build build-nw

The library version is read from the first line of CHANGES.

Installation

CMake installation uses GNUInstallDirs, so the library directory follows the platform and the configured prefix, for example lib or lib64:

cmake --install build --prefix /usr

Headers are installed under:

${prefix}/include/libowfat

Generated compatibility headers such as haveip6.h, havesendfile.h, haveaccept4.h, havesl.h, iopause.h, select.h, and entities.h are installed there too. This lets consumers include either libowfat/foo.h or, for legacy code that relies on the target include path, plain foo.h.

Using from another CMake project

As an installed package:

find_package(libowfat CONFIG REQUIRED)
target_link_libraries(myapp PRIVATE libowfat::libowfat)

As a subdirectory or submodule:

add_subdirectory(extern/libowfat)
target_link_libraries(myapp PRIVATE libowfat::libowfat)

The exported build-tree target includes both the source include directory and the generated header directories, so generated have*.h headers are available without copying files into the source tree.

Tests

When libowfat is built as the top-level CMake project, BUILD_TESTING=ON registers t.c as a smoke test and builds the programs under test/:

cmake -S . -B build -DBUILD_TESTING=ON
cmake --build build
ctest --test-dir build --output-on-failure

Only the non-interactive tests are registered with CTest. Network/server/demo programs and tests that need command-line input are compiled but not run by CTest.

When libowfat is used through add_subdirectory(), tests are off by default so that a parent project does not unexpectedly build the whole test tree. They can be enabled explicitly:

-DLIBOWFAT_BUILD_TEST_PROGRAMS=ON
-DLIBOWFAT_RUN_SELF_TESTS=ON
Description
libowfat fork for mars-nwe, providing libnwowfat with CMake build support and nw-prefixed library naming to avoid system libowfat conflicts.
Readme 1.5 MiB
Languages
C 59.9%
Roff 25.3%
Makefile 13.2%
CMake 1.6%