mirror of
https://github.com/pocoproject/poco.git
synced 2025-12-12 21:14:57 +01:00
Add support for modules (#4999)
* Add support for modules * Use "" for inclusion * Fix missing includes on Poco.Data module * Add PDF and SevenZip modules, and match modules to build macros * Add CI test * Add missing link libraries in CMake * Add remaining libraries DNSSD, CppParser and CppUnit. Changed some static declarations to inline to export * We also need to forward the ENABLE_NETSSL_* macros * Update CMakeLists files * Add samples as requested, with DateTime and URI test for example * Fix POCO_MODULES_INSTALL macro * chore(CMake): Combine install macro for libraries and C++ modules into one macro. * Apply testsuite changes and address include directories concerns * Restore accidentally deleted build files * Mistakenly added a file generated by CMake, removed. --------- Co-authored-by: Matej Kenda <matejken@gmail.com>
This commit is contained in:
64
modules/Poco/Dynamic.cppm
Normal file
64
modules/Poco/Dynamic.cppm
Normal file
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// Dynamic.cppm
|
||||
//
|
||||
// C++ module file
|
||||
//
|
||||
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
module;
|
||||
|
||||
#ifdef ENABLE_FOUNDATION
|
||||
#include "Poco/Dynamic/Pair.h"
|
||||
#include "Poco/Dynamic/Struct.h"
|
||||
#include "Poco/Dynamic/Var.h"
|
||||
#include "Poco/Dynamic/VarHolder.h"
|
||||
#include "Poco/Dynamic/VarIterator.h"
|
||||
#include "Poco/Dynamic/VarVisitor.h"
|
||||
#endif
|
||||
|
||||
export module Poco.Dynamic;
|
||||
|
||||
export namespace Poco::Dynamic {
|
||||
#ifdef ENABLE_FOUNDATION
|
||||
using Poco::Dynamic::Pair;
|
||||
using Poco::Dynamic::Struct;
|
||||
using Poco::Dynamic::Var;
|
||||
using Poco::Dynamic::VarHolder;
|
||||
using Poco::Dynamic::VarHolderImpl;
|
||||
using Poco::Dynamic::VarIterator;
|
||||
using Poco::Dynamic::Visitor;
|
||||
|
||||
using Poco::Dynamic::Array;
|
||||
using Poco::Dynamic::Deque;
|
||||
using Poco::Dynamic::List;
|
||||
using Poco::Dynamic::Vector;
|
||||
|
||||
using Poco::Dynamic::operator!=;
|
||||
using Poco::Dynamic::operator*;
|
||||
using Poco::Dynamic::operator*=;
|
||||
using Poco::Dynamic::operator+;
|
||||
using Poco::Dynamic::operator+=;
|
||||
using Poco::Dynamic::operator-;
|
||||
using Poco::Dynamic::operator-=;
|
||||
using Poco::Dynamic::operator/;
|
||||
using Poco::Dynamic::operator/=;
|
||||
using Poco::Dynamic::operator<;
|
||||
using Poco::Dynamic::operator<=;
|
||||
using Poco::Dynamic::operator==;
|
||||
using Poco::Dynamic::operator>;
|
||||
using Poco::Dynamic::operator>=;
|
||||
using Poco::Dynamic::structToString;
|
||||
|
||||
namespace Impl {
|
||||
using Poco::Dynamic::Impl::appendJSONKey;
|
||||
using Poco::Dynamic::Impl::appendJSONString;
|
||||
using Poco::Dynamic::Impl::appendJSONValue;
|
||||
using Poco::Dynamic::Impl::containerToJSON;
|
||||
using Poco::Dynamic::Impl::isJSONString;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user