Opened 5 years ago
Closed 4 years ago
#60129 closed defect (fixed)
poco, where are the cmake files
Reported by: | gaming-hacker (G Alexander) | Owned by: | arjanvandervelde (Arjan van der Velde) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | toffyrn, ryandesign (Ryan Carsten Schmidt) | |
Port: | poco |
Description (last modified by gaming-hacker (G Alexander))
Hello,
I built this library from poco repo with version 1.10.1 and installed to a private location.
Normally poco installs cmake files under $prefix/lib/cmake/Poco like PocoConfig.cmake, etc.
I installed the macports version 1.8 and looked for the cmake files. These files are no where to be found. I searched the entire /opt and /usr/local and subdirectories.
Thanks
Change History (9)
comment:1 Changed 5 years ago by gaming-hacker (G Alexander)
Description: | modified (diff) |
---|
comment:2 Changed 5 years ago by jmroot (Joshua Root)
Keywords: | arjanvandervelde removed |
---|---|
Owner: | set to arjanvandervelde |
Status: | new → assigned |
comment:3 follow-up: 8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Presumably the cmake files would be installed if poco used cmake to build. It doesn't; it uses autotools.
We could switch the port to use cmake, but switching build systems is not something that should be done lightly. One would need to verify the set of files installed before and after the change and confirm that one is ok with any differences. As one example, one would want to ascertain whether the library major or minor versions changed, since that would have implications for the ports that depend on this one.
comment:4 Changed 4 years ago by toffyrn
Cc: | toffyrn added |
---|
comment:5 follow-up: 6 Changed 4 years ago by gaming-hacker (G Alexander)
poco has been building with cmake for a while
https://github.com/pocoproject/poco/
Building with CMake (Linux, macOS, Windows)
CMake (version 3.5 or newer) is the recommended build system for building the POCO C++ Libraries.
$ git clone -b master https://github.com/pocoproject/poco.git $ cd poco $ mkdir cmake-build $ cd cmake-build $ cmake .. $ cmake --build . --config Release
comment:6 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to gaming-hacker:
poco has been building with cmake for a while
poco in MacPorts does not use cmake. We could change it to use cmake, but what I said in comment:3 applies.
comment:7 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Turns out I need this myself now so I'll look into it.
comment:8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|
Replying to ryandesign:
One would need to verify the set of files installed before and after the change and confirm that one is ok with any differences.
Building with cmake, we only get either dynamic or static libraries, not both as we got with autotools. That's ok; I think we can live with just dynamic.
Looks like the autotools system also built and installed both regular and debug (suffixed with "d") versions of the programs and libraries and with cmake we only get the non-debug versions, which seems more normal and is ok with me provided the Pothos* ports (which are the only ones currently depending on poco) don't need those debug libraries, but my guess is they probably don't.
The library names and major versions and install_names stay the same, which is good and should mean that we won't need to revbump the dependents. The library minor versions have increased from 0 to 71, which shouldn't be a problem (but might require a revbump if we wanted to switch back from cmake to autotools).
The way that tests are run under cmake is simpler than the hoops we have to jump through for the autotools build in this port, provided that the tests work under cmake, which they don't here, but I have a patch for that.
So all in all I am ok with the differences and plan to commit this switch to cmake.
comment:9 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
added