From a2d7181700ac64b8e7a4472ec26dfa253b38f188 Mon Sep 17 00:00:00 2001 From: Lexi Winter Date: Sat, 28 Jun 2025 19:25:55 +0100 Subject: split nihil into separate modules --- nihil.posix/CMakeLists.txt | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 nihil.posix/CMakeLists.txt (limited to 'nihil.posix/CMakeLists.txt') diff --git a/nihil.posix/CMakeLists.txt b/nihil.posix/CMakeLists.txt new file mode 100644 index 0000000..db5e5aa --- /dev/null +++ b/nihil.posix/CMakeLists.txt @@ -0,0 +1,51 @@ +# This source code is released into the public domain. + +add_library(nihil.posix STATIC) +target_link_libraries(nihil.posix PRIVATE nihil.error nihil.guard nihil.monad) + +target_sources(nihil.posix + PUBLIC FILE_SET modules TYPE CXX_MODULES FILES + nihil.posix.ccm + argv.ccm + ensure_dir.ccm + exec.ccm + fd.ccm + open.ccm + process.ccm + read_file.ccm + rename.ccm + spawn.ccm + write_file.ccm + + PRIVATE + argv.cc + ensure_dir.cc + exec.cc + getenv.cc + fd.cc + find_in_path.cc + open.cc + process.cc + rename.cc +) + +if(NIHIL_TESTS) + enable_testing() + + add_executable(nihil.posix.test + test_fd.cc + test_getenv.cc + test_spawn.cc + ) + + target_link_libraries(nihil.posix.test PRIVATE + nihil.posix + Catch2::Catch2WithMain + ) + + find_package(Catch2 REQUIRED) + + include(CTest) + include(Catch) + catch_discover_tests(nihil.posix.test) +endif() -- cgit v1.2.3