Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake portable build #7232

Open
wants to merge 51 commits into
base: main
Choose a base branch
from

Commits on May 6, 2024

  1. Basic CMake support

    Compile coders, filters, Magick++, MagickCore and MagickWand as static libraries using CMake
    MarcoMartins86 authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    5fdd9f1 View commit details
    Browse the repository at this point in the history
  2. -Integrated coders and filters source files into MagickCore

    -Added magick project from utilities
    -Added some options to cmake-gui where static or shared build option being the most relevant
    MarcoMartins86 authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    a119239 View commit details
    Browse the repository at this point in the history
  3. Added license headers and ImageMagick.rc file to projects build

    MarcoMartins86 authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    85a3601 View commit details
    Browse the repository at this point in the history
  4. Parsed the PACKAGE_RELEASE_DATE from last ChangeLog file entry

    MarcoMartins86 authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    9d513ec View commit details
    Browse the repository at this point in the history
  5. Changed binaries name to match version and quantum bitness, also link…

    …ed missing delegates libs
    MarcoMartins86 authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    62c76ab View commit details
    Browse the repository at this point in the history
  6. Add opencl build support

    Wasim Abbas authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    3f26bf5 View commit details
    Browse the repository at this point in the history
  7. Adapted @MarcoMartins86 CMake work to the latest version (7.1.0-21)

    + Added cmake install support
    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    57603a8 View commit details
    Browse the repository at this point in the history
  8. CMake: Add missing SIZEOF_VOID_P to the cmake config.h

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    7e443b6 View commit details
    Browse the repository at this point in the history
  9. CMake: Install generated headers properly.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    fe02242 View commit details
    Browse the repository at this point in the history
  10. CMake: Expose HDRI option and add it to the binary names.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    edf069b View commit details
    Browse the repository at this point in the history
  11. CMake: General cleanup and reordering.

    - Added a macro for finding delegates.
    - Separated environment tests to its own cmake file.
    - Use lower case cmake functions since it is recommended nowadays and it was already mixed.
    - Added missing JXL delegate.
    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    bc32fe5 View commit details
    Browse the repository at this point in the history
  12. CMake: Simplified and organized the compile time options.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    184e804 View commit details
    Browse the repository at this point in the history
  13. CMake: Tweaks to make it build properly with found delegates.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    7ddf2bc View commit details
    Browse the repository at this point in the history
  14. CMake: Also install license files.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    42f2fae View commit details
    Browse the repository at this point in the history
  15. CMake: Use find package for OpenCL too.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    fea5fe7 View commit details
    Browse the repository at this point in the history
  16. CMake: Fix some delegate include dirs missing.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    d5459fb View commit details
    Browse the repository at this point in the history
  17. CMake: Allow specifying target names of delegates.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    ad4ac58 View commit details
    Browse the repository at this point in the history
  18. CMake: Fix util install on mac.

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    d7af83f View commit details
    Browse the repository at this point in the history
  19. CMake: Remove outdated copyright notice

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    e5d04b5 View commit details
    Browse the repository at this point in the history
  20. CMake: Update to work with 7.1.0-28

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    837636b View commit details
    Browse the repository at this point in the history
  21. CMake: Fix finding of print functions on Windows

    check_function_exists fails to find them so we have to use check_symbol_exists
    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    82b65d0 View commit details
    Browse the repository at this point in the history
  22. CMake: Fix mac build after previous windows build fix...

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    634181f View commit details
    Browse the repository at this point in the history
  23. CMake: Update to support latest (7.1.0-57)

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    f264107 View commit details
    Browse the repository at this point in the history
  24. CMake: Expose option for zero configuration

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    1f2ac98 View commit details
    Browse the repository at this point in the history
  25. CMake: Make sure to link c++ when using the openexr delegate

    It seems to be missing from its exported dependencies in v3+
    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    f11ee3e View commit details
    Browse the repository at this point in the history
  26. CMake: Make sure SETJMP_IS_THREAD_SAFE is set for png to support thre…

    …aded loading
    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    4c8484a View commit details
    Browse the repository at this point in the history
  27. CMake: Fix find jxl library name

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    86dd168 View commit details
    Browse the repository at this point in the history
  28. CMake: Add missing file after updating to 7.1.1-4

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    04630f4 View commit details
    Browse the repository at this point in the history
  29. CMake: Fix building without hdri support

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    50f38ee View commit details
    Browse the repository at this point in the history
  30. CMake: Fix threaded load of pngs since the define was renamed

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    64a6df9 View commit details
    Browse the repository at this point in the history
  31. CMake: Correct install directory for libs

    Cyriuz authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    809d90f View commit details
    Browse the repository at this point in the history
  32. CMake portable build

    * Finish and polish the CMake build
    * Add conan integration
    * Add build testing in different configurations
    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    19822c6 View commit details
    Browse the repository at this point in the history
  33. add HAVE_LIBHEIF_LIBHEIF_H to configure

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    70562c8 View commit details
    Browse the repository at this point in the history
  34. explain what everyone is missing

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    0063b19 View commit details
    Browse the repository at this point in the history
  35. add the missing HAVE_LIBHEIF_LIBHEIF_H define

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    8df1caa View commit details
    Browse the repository at this point in the history
  36. support files installation (#1)

    * fix many builtin paths
    
    * add a zeroconf build
    
    * move the quotes
    
    * use macOS 13 for now
    
    * do not share caches between jobs
    
    * no need for shared zeroconf builds
    
    * run a single workflow at a time
    
    * build all conan artifacts only once
    
    * checkout the conanfile
    
    * go back to cairo 1.17.8
    
    * schedule a regular Sunday Mass
    
    * extra builds are now much cheaper
    
    * reduce the number of debug builds
    
    * drop the windows debug build with conan
    
    * windows / pkgconf is not a supported build
    
    * add the conan pkg-config name of openjpeg
    
    * zstd should be expected
    
    * add zstd pkgconfig name
    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    cbd6c35 View commit details
    Browse the repository at this point in the history
  37. enable 64 bit file access for WASM (#2)

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    a607642 View commit details
    Browse the repository at this point in the history
  38. this does not have to run everyday

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    3ca674f View commit details
    Browse the repository at this point in the history
  39. completely disable release

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    9a527ad View commit details
    Browse the repository at this point in the history
  40. implement a proper libheif/heif.h detection in configure (#3)

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    df2db57 View commit details
    Browse the repository at this point in the history
  41. always run 'daily' on PR

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    472d0be View commit details
    Browse the repository at this point in the history
  42. allow manual setting of INSTALLED_SUPPORT (#4)

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    9f7754f View commit details
    Browse the repository at this point in the history
  43. meson compatibility for emf.c (#5)

    * include this unusual solution for meson compatibility
    
    * compatibility with the VStudio CMake generator
    
    ---------
    
    Co-authored-by: Momtchil Momtchev <momtchil@motmchev.com>
    mmomtchev and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    c0cbb20 View commit details
    Browse the repository at this point in the history
  44. always run daily on PR

    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    3067411 View commit details
    Browse the repository at this point in the history
  45. if building a static lib, prefer static pkgconfig settings (#6)

    * prefer static pkg-config settings when building a static lib
    
    * show the required dynamic libraries
    
    * add a kludge for macOS frameworks in pkgconfig files
    
    * slightly cleaner solution
    mmomtchev authored and Momtchil Momtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    5b82da0 View commit details
    Browse the repository at this point in the history
  46. update the README

    mmomtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    8061934 View commit details
    Browse the repository at this point in the history
  47. ability to disable select delegates (#7)

    * ability to disable select delegates
    
    * fix the conan logic
    
    * fix fallback to pkgconfig when cmake module is found but does not have the target
    
    * handle X11 on Windows
    mmomtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    f9d620e View commit details
    Browse the repository at this point in the history
  48. switch jemalloc to opt-in and test enabling/disabling of delegates (#8

    )
    
    * disable jemalloc by default and test disabling/enabling
    
    * add the CUSTOM_DELEGATES var to the CMake command
    
    * replace the expected delegates
    mmomtchev committed May 6, 2024
    Configuration menu
    Copy the full SHA
    26776cb View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. use POSIX file structure on Windows (#9)

    * use POSIX file structure on Windows
    
    * restore line ident
    
    * restore formatting
    
    * add missing config defines
    
    ---------
    
    Co-authored-by: Momtchil Momtchev <momtchil@motmchev.com>
    mmomtchev and Momtchil Momtchev committed May 7, 2024
    Configuration menu
    Copy the full SHA
    5b26af1 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. Configuration menu
    Copy the full SHA
    4b5c05e View commit details
    Browse the repository at this point in the history

Commits on May 21, 2024

  1. Configuration menu
    Copy the full SHA
    4d5c7b9 View commit details
    Browse the repository at this point in the history