Giter Site home page Giter Site logo

Regarding Poco build system about poco HOT 12 CLOSED

pocoproject avatar pocoproject commented on March 29, 2024
Regarding Poco build system

from poco.

Comments (12)

aleks-f avatar aleks-f commented on March 29, 2024

Contributing to CMake is welcome and encouraged, we want someone to own it and take good care of it. However, not everyone uses CMake; we want to build "out of the box", supporting what is already present on most systems and that is gmake/VS. So, gmake and Visual Studio support will remain; contributions there are welcome as well. In fact, we've been looking for the build system maintainer for a long time but nobody stepped up and stuck around yet.

I would not agree that our makefiles are "outdated". You could be referring to the fact that, on different platforms, libraries (e.g. ODBC, MySQL) may be in different locations but there is a remedy for that through configure script.

At any rate, we want someone to own the build system; if you want to contribute toward either CMake or gmake/VS build systems, please do.

from poco.

 avatar commented on March 29, 2024

I would like to contribute to the build system, but I have a few questions before doing any work:

  • Can Poco use a script generated UCD instead using PCRE just for Unicode support?
  • Why are there the source code of V8's BigNum implementation floating around on Foundation folder?
  • Is a good idea moving the third-parties to specific folder (zlib, expat, libharu)?
  • What platforms Poco mainly support, so I can be sure it will compile out of the box without too much trouble?

from poco.

 avatar commented on March 29, 2024

Why are there the source code of V8's BigNum implementation floating around on Foundation folder?

Found out it's for NumericString implementation. Sorry.

from poco.

aleks-f avatar aleks-f commented on March 29, 2024

I'll leave the UCD/PCRE answer to Günter.

Why are there the source code of V8's BigNum implementation floating around on Foundation folder?

No particular reason other than that's how it's been done with 3rd party embedded code from the start. No need for additional include directories would be the only benefit I can think of.

Is a good idea moving the third-parties to specific folder (zlib, expat, libharu)?

Possibly. I though about it myself before but never had time to dedicate to it.

What platforms Poco mainly support, so I can be sure it will compile out of the box without too much trouble?

See http://pocoproject.org/features.html
Most of our users are on one of the big three - Linux, Mac, Windows.

from poco.

aleks-f avatar aleks-f commented on March 29, 2024

Note that I've embedded the V8 double-conversion differently from how embedding 3rd party libs was done before; I included *.cc files directly from the sources, so the build system does not have to worry about them. It would have to be elaborated on to support the "unbundled" feature.

from poco.

patrickjwhite avatar patrickjwhite commented on March 29, 2024

I personally am a big fan of cmake. I totally understand the build out of the box thing though. I have seen a solution a few times where a released cmake source is part of the 3rdParty directory, and a bootstrap script would create the cmake binaries, and put the 3rdParty/cmake/bin/cmake into an environment variable which would then be used.

Just an option, but supporting a very basic script, and cmake would be much easier than to support so many different options.

from poco.

aleks-f avatar aleks-f commented on March 29, 2024

Any contribution is welcome as long as it makes sense (and if large someone steps up to own it). I've been through many pains with our build system and I'd be the biggest proponent of a system that would (a) build out of the box (ie. no external deps) and (b) produce VS solutions/projects versions 2003-2012 with filters as we need them. There's been many discussions and proposals; they boiled down to CMake and Premake but (a) neither had all the capabilities at the time and (b) nobody really stepped up to own* the build system so far. Things may have changed; by all means, fork, do the work and send pull request.

  • When I say "own", I mean someone actually being there we can count on to do the work for releases. Over years, we've seen people come, contribute code, and disappear. Contributions are certainly welcome, but the big ones are also additional maintenance baggage we end up carrying as we are moving on.

from poco.

 avatar commented on March 29, 2024

Today CMake can bootstrap, download and build external dependencies, generate IDE solutions and makefiles as well, and take care of the entire packaging process. It would not be that hard to wipe the actual build system and put on based on CMake.

I hope to contribute always when possible but I'm still waiting feedback on the UCD thing, mentioned here #29 (comment).

from poco.

aleks-f avatar aleks-f commented on March 29, 2024

We're getting ready to release next week so it's a bit hectic time for accepting contribs ... regarding UCD, PCRE is used for Poco::RegularExpression so generating our own UCD would not help to remove that dependency. Once we move to C++11, we'll be able to do that.

from poco.

aleks-f avatar aleks-f commented on March 29, 2024

It would not be that hard to wipe the actual build system and put on based on CMake.

Specific showstoppers I remember from some time ago:

  1. Requirement to have CMake installed on target machine
  2. no way to generate VS project filters for POCO
  3. generated VS project files couldn't be moved (include/lib dirs were not relative, this was needed to alleviate 1)

At any rate, the best route at tis time is to keep the existing build system and work on CMake.

from poco.

RangelReale avatar RangelReale commented on March 29, 2024

Em 15/12/2012 18:13, "Aleksandar Fabijanic" [email protected]
escreveu:

Any contribution is welcome as long as it makes sense (and if large
someone steps up to own it). I've been through many pains with our build
system and I'd be the biggest proponent of a system that would (a) build
out of the box (ie. no external deps) and (b) produce VS solutions/projects
versions 2003-2012 with filters as we need them. There's been many
discussions and proposals; they boiled down to CMake and Premake but (a)
neither had all the capabilities at the time and (b) nobody really stepped
up to own* the build system so far. Things may have changed; by all means,
fork, do the work and send pull request.

When I say "own", I mean someone actually being there we can count on to
do the work for releases. Over years, we've seen people come, contribute
code, and disappear. Contributions are certainly welcome, but the big ones
are also additional maintenance baggage we end up carrying as we are moving
on.


Reply to this email directly or view it on GitHub.

from poco.

aleks-f avatar aleks-f commented on March 29, 2024

idle, closing

from poco.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.