Re: [Buildroot] [PATCH] package/poco: convert to CMake package
Yegor Yefremov via buildroot <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <CAGm1_kttXf6DXp5=7B-OTjuS-L8vPJ3uy-AzrDq6177fdM0X3Q@mail.gmail.com> |
Hi Arnout, Stefan, On Wed, Jul 1, 2026 at 3:56 PM <[email protected]> wrote: > > From: Yegor Yefremov <[email protected]> > > Currently when building with make, the cmake config files are not > generated. This leads to problems when integrating the package in an > application built with cmake. > > This patch is based on this one: > https://lists.buildroot.org/pipermail/buildroot/2026-April/801019.html > > Signed-off-by: Yegor Yefremov <[email protected]> > --- > package/poco/poco.mk | 88 ++++++++++++++------------------------------ > 1 file changed, 28 insertions(+), 60 deletions(-) > > diff --git a/package/poco/poco.mk b/package/poco/poco.mk > index 40dcc1c502..442e732e26 100644 > --- a/package/poco/poco.mk > +++ b/package/poco/poco.mk > @@ -24,78 +24,46 @@ POCO_DEPENDENCIES = \ > $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),openssl) \ > $(if $(BR2_PACKAGE_POCO_XML),expat) > > -POCO_OMIT = \ > - Data/ODBC \ > - PageCompiler \ > - $(if $(BR2_PACKAGE_POCO_ACTIVERECORD),,ActiveRecord) \ > - $(if $(BR2_PACKAGE_POCO_CPP_PARSER),,CppParser) \ > - $(if $(BR2_PACKAGE_POCO_CRYPTO),,Crypto) \ > - $(if $(BR2_PACKAGE_POCO_DATA),,Data) \ > - $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),,Data/MySQL) \ > - $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),,Data/SQLite) \ > - $(if $(BR2_PACKAGE_POCO_DATA_PGSQL),,Data/PostgreSQL) \ > - $(if $(BR2_PACKAGE_POCO_JSON),,JSON) \ > - $(if $(BR2_PACKAGE_POCO_JWT),,JWT) \ > - $(if $(BR2_PACKAGE_POCO_MONGODB),,MongoDB) \ > - $(if $(BR2_PACKAGE_POCO_NET),,Net) \ > - $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),,NetSSL_OpenSSL) \ > - $(if $(BR2_PACKAGE_POCO_PDF),,PDF) \ > - $(if $(BR2_PACKAGE_POCO_PROMETHEUS),,Prometheus) \ > - $(if $(BR2_PACKAGE_POCO_REDIS),,Redis) \ > - $(if $(BR2_PACKAGE_POCO_UTIL),,Util) \ > - $(if $(BR2_PACKAGE_POCO_XML),,XML) \ > - $(if $(BR2_PACKAGE_POCO_ZIP),,Zip) > + > +POCO_CONF_OPTS = \ > + -DENABLE_DATA_OBDC=OFF \ > + -DENABLE_PAGECOMPILER=OFF \ > + -DENABLE_ACTIVERECORD=$(if $(BR2_PACKAGE_POCO_ACTIVERECORD),ON,OFF) \ > + -DENABLE_CPPPARSER=$(if $(BR2_PACKAGE_POCO_CPP_PARSER),ON,OFF) \ > + -DENABLE_CRYPTO=$(if $(BR2_PACKAGE_POCO_CRYPTO),ON,OFF) \ > + -DENABLE_DATA=$(if $(BR2_PACKAGE_POCO_DATA),ON,OFF) \ > + -DENABLE_DATA_MYSQL=$(if $(BR2_PACKAGE_POCO_DATA_MYSQL),ON,OFF) \ > + -DENABLE_DATA_SQLITE=$(if $(BR2_PACKAGE_POCO_DATA_SQLITE),ON,OFF) \ > + -DENABLE_DATA_POSTGRESQL=$(if $(BR2_PACKAGE_POCO_DATA_PGSQL),ON,OFF) \ > + -DENABLE_JSON=$(if $(BR2_PACKAGE_POCO_JSON),ON,OFF) \ > + -DENABLE_JWT=$(if $(BR2_PACKAGE_POCO_JWT),ON,OFF) \ > + -DENABLE_MONGODB=$(if $(BR2_PACKAGE_POCO_MONGODB),ON,OFF) \ > + -DENABLE_NET=$(if $(BR2_PACKAGE_POCO_NET),ON,OFF) \ > + -DENABLE_NETSSL=$(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),ON,OFF) \ > + -DENABLE_PDF=$(if $(BR2_PACKAGE_POCO_PDF),ON,OFF) \ > + -DENABLE_PROMETHEUS=$(if $(BR2_PACKAGE_POCO_PROMETHEUS),ON,OFF) \ > + -DENABLE_REDIS=$(if $(BR2_PACKAGE_POCO_REDIS),ON,OFF) \ > + -DENABLE_UTIL=$(if $(BR2_PACKAGE_POCO_UTIL),ON,OFF) \ > + -DENABLE_XML=$(if $(BR2_PACKAGE_POCO_XML),ON,OFF) \ > + -DENABLE_ZIP=$(if $(BR2_PACKAGE_POCO_ZIP),ON,OFF) \ > + -DPOCO_UNBUNDLED=ON > > ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) > -POCO_CONF_OPTS += --no-fpenvironment --no-wstring > +POCO_CONF_OPTS += -DPOCO_NO_FPENVIRONMENT -DPOCO_NO_WSTRING > endif > > # architectures missing some FE_* in their fenv.h > ifeq ($(BR2_sh4a),y) > -POCO_CONF_OPTS += --no-fpenvironment > +POCO_CONF_OPTS += -DPOCO_NO_FPENVIRONMENT > endif > > # disable fpenvironment for soft floating point configuration > ifeq ($(BR2_SOFT_FLOAT),y) > -POCO_CONF_OPTS += --no-fpenvironment > +POCO_CONF_OPTS += -DPOCO_NO_FPENVIRONMENT > endif > > -POCO_MAKE_TARGET = shared_release > - > -POCO_LDFLAGS=$(TARGET_LDFLAGS) > ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) > -POCO_LDFLAGS += -latomic > +POCO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic > endif > > -define POCO_CONFIGURE_CMDS > - (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ > - --config=Linux \ > - --prefix=/usr \ > - --ldflags="$(POCO_LDFLAGS)" \ > - --omit="$(POCO_OMIT)" \ > - $(POCO_CONF_OPTS) \ > - --unbundled \ > - --no-tests \ > - --no-samples) > -endef > - > -define POCO_BUILD_CMDS > - $(TARGET_MAKE_ENV) $(MAKE) POCO_TARGET_OSARCH=$(ARCH) CROSS_COMPILE=$(TARGET_CROSS) \ > - POCO_MYSQL_INCLUDE=$(STAGING_DIR)/usr/include/mysql \ > - POCO_MYSQL_LIB=$(STAGING_DIR)/usr/lib/mysql \ > - POCO_PGSQL_INCLUDE=$(STAGING_DIR)/usr/include/postgresql \ > - POCO_PGSQL_LIB=$(STAGING_DIR)/usr/lib/postgresql \ > - DEFAULT_TARGET=$(POCO_MAKE_TARGET) -C $(@D) > -endef > - > -define POCO_INSTALL_STAGING_CMDS > - $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) POCO_TARGET_OSARCH=$(ARCH) \ > - DEFAULT_TARGET=$(POCO_MAKE_TARGET) install -C $(@D) > -endef > - > -define POCO_INSTALL_TARGET_CMDS > - $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) POCO_TARGET_OSARCH=$(ARCH) \ > - DEFAULT_TARGET=$(POCO_MAKE_TARGET) install -C $(@D) > -endef > - > -$(eval $(generic-package)) > +$(eval $(cmake-package)) Gentle ping, I just wanted to get this patch through before I start working on bumping the package. Thanks. Regards, Yegor _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot