AcademySoftwareFoundation / OpenColorIO

A color management framework for visual effects and animation.
https://opencolorio.org
BSD 3-Clause "New" or "Revised" License
1.74k stars 430 forks source link

find_package(OpenColorIO) broken under cmake 3.29.1 #1964

Open ggarra13 opened 2 months ago

ggarra13 commented 2 months ago

With the recent update of cmake to v3.29.1 (v3.29 was okay before) of GitHub Actions, OpenColorIO started failing not finding its dependencies:

CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.29.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (EXPAT) does
  not match the name of the calling package (expat).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.29.1/share/cmake/Modules/Findexpat.cmake:114 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/homebrew/Cellar/cmake/3.29.1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
  build/install/lib/cmake/OpenColorIO/OpenColorIOConfig.cmake:33 (find_dependency)
  CMakeLists.txt:163 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found EXPAT: /Users/runner/work/tlRender/tlRender/build/install/lib/libexpat.a (found version "2.5.0")
CMake Error at CMakeLists.txt:163 (find_package):
  Found package configuration file:

    /Users/runner/work/tlRender/tlRender/build/install/lib/cmake/OpenColorIO/OpenColorIOConfig.cmake

  but it set OpenColorIO_FOUND to FALSE so package "OpenColorIO" is
  considered to be NOT FOUND.  Reason given by package:

  OpenColorIO could not be found because dependency expat could not be found.

-- Configuring incomplete, errors occurred!

On macOS it fails on expat. On Linux it fails with pystring.

tamaskenezlego commented 2 months ago

I've just found the same issue with building Qt on GitHub. It's failing there with cmake 3.29.1 while 3.29.2 on my machine works fine. The problem seems to be in the configure_package_config_file module, the code it generates for @PACKAGE_INIT@ is broken.

ggarra13 commented 2 months ago

I reported the bug to Kitware. That's why they released 3.29.2. Have to wait until Github Actions updates to 3.29.2.

tamaskenezlego commented 2 months ago

Github runners have been updated now.