Meson or CMake based build system #5102
Replies: 9 comments 12 replies
-
And I would also be wondering if I could submit these patches to imagemagick6? |
Beta Was this translation helpful? Give feedback.
-
The developers are of course interested in a modern cmake build. Create the requisite files and post a link where we can download and test. Once proven they are a suitable replacement of the existing automake/autconf build, we would likely adopt the cmake build. Be sure to export your cmake build under the ImageMagick license. Thanks. |
Beta Was this translation helpful? Give feedback.
-
It can be really interesting to create portfile to in vcpkg !! Idealy with CMake buildsystem. |
Beta Was this translation helpful? Give feedback.
-
I adapted the work by @MarcoMartins86 in #743 to work with the latest version of ImageMagick and added some initial install support which I intend to use for making the conan package work on all platforms. Initially I'll probably just make it a patch in the conan recipe but I'll leave a link to it here if anyone else wants to help out since there is quite a lot left to do (tests, missing some dependencies, a lot of options and documentation etc) I understand that the developers want to see a complete replacement but I think the amount of stuff that has amassed in the old build scrips over the years will take a while to port over, especially if the contributor is on another platform/doesn't use the features. Maybe you could consider taking over a solution that covers at least the basics? That way it is easier to find for other people that want to contribute. Anyway here's the fork I'll be trying to polish a bit more: https://github.com/Cyriuz/ImageMagick |
Beta Was this translation helpful? Give feedback.
-
We're interested in
Once we get proper builds on Fedora, CentOS, Ubuntu, Debian, MacOS X, and Windows, we recommend creating an archive that includes build instructions that users can download and unpack into the ImageMagick source. From there, they can build with either Note a proper build includes support for building ImageMagick statically, shared, with module support, with OpenMP, with OpenCL, with PerlMagick, and with the ImageMagick unit tests. Once all these steps are complete, the ImageMagick developers would be in a better position to adopt and maintain the |
Beta Was this translation helpful? Give feedback.
-
Alright, I'll update on my progress here as I get it to build on all platforms, however I doubt I will be able to fix everything so hopefully someone else wants to help out. |
Beta Was this translation helpful? Give feedback.
-
I think I have got it working pretty solid now on most platforms and made a PR to conan to use the CMake scripts in the conan-center package as I thought that was a great way to get it used by the community before it can be accepted into ImageMagick itself. Some things are obviously missing still like the unit tests and PerlMagick so it is still in need of contributions if someone feels like helping out in the future :) |
Beta Was this translation helpful? Give feedback.
-
The CMake portable build is here and waiting for your suggestions: #7232 If anyone wants to contribute, he is more than welcome. Special kudos to @MarcoMartins86 and @Cyriuz who made this possible. As this is a very sizable PR, and especially given my particular situation, it might not be merged soon, but I am willing to continue to maintain it. I am the author/maintainer of the |
Beta Was this translation helpful? Give feedback.
-
The build instructions can be found here: https://github.com/mmomtchev/ImageMagick/blob/cmake-portable-build/README.CMake.md
|
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem? Please describe.
I'll be blunt, the current build system for imagemagick kinda sucks, at least from an end user perspective. I've been trying to fix the conan.io package for imagemagick for about a week now as it doesn't officially support windows and I've realized some stuff.
Autotools, while flexible, is clearly too much to be documented effectively as finding any documentation on the build system for imagemagick that isn't outdated is a challenge. Plus I think I goes without saying that autotools by todays standards is overly complicated.
Windows port? why is it it's own library/repo? why does it require separate build scripts? why is there no easy way to pin it at a specific version?
Describe the solution you'd like
I'd be willing to try and implement a new cmake/meson build system to try and modernize this a bit, I know some people have tried in the past but their efforts appeared to have dried up. I would have to know though if the imagemagick team would be willing to change the build system though if someone did submit a patch for it? and what exactly would this build system need to do in order for it to be merged?
Describe alternatives you've considered
Another thing I've thought about is possibly documenting the windows port better to at least tell people how to make use of the existing autotools system with cygwin to cross compile to visual studio.
Additional context
No response
Beta Was this translation helpful? Give feedback.
All reactions