Skip to content

build(gif): Add GIF library auto-build - #4921

Merged
lgritz merged 1 commit into
AcademySoftwareFoundation:mainfrom
vangeliq:build_gif
Oct 6, 2025
Merged

build(gif): Add GIF library auto-build#4921
lgritz merged 1 commit into
AcademySoftwareFoundation:mainfrom
vangeliq:build_gif

Conversation

@vangeliq

@vangeliq vangeliq commented Oct 6, 2025

Copy link
Copy Markdown
Contributor

Description

Fixes #4387

Added build_GIF.cmake module for GIF library dependency management. Since GIFLIB does not provide a CMakeLists.txt, I created a custom one that gets added to the cloned repository.

The flow is similar to other libraries with cmake support, so I added a conditional statement in the build_dependency_with_cmake macro that, if a cmakelists.txt path is provided, will add/replace existing CMakeLists.txt files on the cloned repository.

Tests

I checked that all jobs were successful on the CI. Small side note that some jobs, like VFX2024 clang/C++17 py3.11 exr3.2 ocio2.3 / clang++ c++17 py3.11, already have GIFlib with the correct minimum version installed so the jobs pass without build_GIF being run.

Checklist:

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable. (Check if there is no
    need to update the documentation, for example if this is a bug fix that
    doesn't change the API.)
  • I have ensured that the change is tested somewhere in the testsuite
    (adding new test cases if necessary).
  • If I added or modified a C++ API call, I have also amended the
    corresponding Python bindings (and if altering ImageBufAlgo functions, also
    exposed the new functionality as oiiotool options).
  • My code follows the prevailing code style of this project. If I haven't
    already run clang-format before submitting, I definitely will look at the CI
    test that runs clang-format and fix anything that it highlights as being
    nonconforming.

@linux-foundation-easycla

linux-foundation-easycla Bot commented Oct 6, 2025

Copy link
Copy Markdown

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: vangeliq / name: Valery Angelique (0b167a7)

Added build_GIF.cmake module for GIF library dependency management.
Since GIFLIB does not provide a CMakeLists.txt, we created a custom one
that gets added to the cloned repository.

Since the flow is similar to other libraries with cmake support, I added
a conditional statement in the build_dependency_with_cmake macro that,
if a cmakelists.txt path is provided, will add/replace existing
CMakeLists.txt files on the cloned repository.

Signed-off-by: Valery Angelique <71804886+vangeliq@users.noreply.github.com>
@lgritz lgritz added build / testing / port / CI Affecting the build system, tests, platform support, porting, or continuous integration. devdays25 Dev Days 2025 labels Oct 6, 2025

@lgritz lgritz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Holy cow, this is truly above and beyond the call of duty. When I wrote the issue, I don't think I realized that it lacked any cmake support, and I would not have expected (certainly not for a Dev Days level project) you to write a working CMake build system for another project.

Well done! This is great, thanks.

@lgritz lgritz changed the title build(gif): Add GIF library build configuration build(gif): Add GIF library auto-build Oct 6, 2025
@lgritz

lgritz commented Oct 6, 2025

Copy link
Copy Markdown
Collaborator

Great job, Valery!

@lgritz
lgritz merged commit 6f25722 into AcademySoftwareFoundation:main Oct 6, 2025
62 checks passed
@vangeliq
vangeliq deleted the build_gif branch October 6, 2025 06:32
lgritz pushed a commit to lgritz/OpenImageIO that referenced this pull request Oct 7, 2025
Fixes AcademySoftwareFoundation#4387 

Added build_GIF.cmake module for GIF library dependency management.
Since GIFLIB does not provide a CMakeLists.txt, I created a custom one
that gets added to the cloned repository.

The flow is similar to other libraries with cmake support, so I added a
conditional statement in the build_dependency_with_cmake macro that, if
a cmakelists.txt path is provided, will add/replace existing
CMakeLists.txt files on the cloned repository.

Signed-off-by: Valery Angelique <71804886+vangeliq@users.noreply.github.com>
@lgritz lgritz mentioned this pull request Oct 11, 2025
4 tasks
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 2, 2026
Fixes AcademySoftwareFoundation#4387

Added build_GIF.cmake module for GIF library dependency management.
Since GIFLIB does not provide a CMakeLists.txt, I created a custom one
that gets added to the cloned repository.

The flow is similar to other libraries with cmake support, so I added a
conditional statement in the build_dependency_with_cmake macro that, if
a cmakelists.txt path is provided, will add/replace existing
CMakeLists.txt files on the cloned repository.

Signed-off-by: Valery Angelique <71804886+vangeliq@users.noreply.github.com>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
ssh4net pushed a commit to ssh4net/OpenImageIO that referenced this pull request Apr 2, 2026
Fixes AcademySoftwareFoundation#4387

Added build_GIF.cmake module for GIF library dependency management.
Since GIFLIB does not provide a CMakeLists.txt, I created a custom one
that gets added to the cloned repository.

The flow is similar to other libraries with cmake support, so I added a
conditional statement in the build_dependency_with_cmake macro that, if
a cmakelists.txt path is provided, will add/replace existing
CMakeLists.txt files on the cloned repository.

Signed-off-by: Valery Angelique <71804886+vangeliq@users.noreply.github.com>
Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
Signed-off-by: Vlad <shaamaan@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build / testing / port / CI Affecting the build system, tests, platform support, porting, or continuous integration. devdays25 Dev Days 2025

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Add self-building abilities for more dependencies

2 participants