testsuites that build subprojects ignore the options top level cmake was invoked with
AlexMWells opened this issue · comments
Problem
Testsuites that build subprojects ignore the options top level cmake was invoked with.
Actual behavior:
Example:
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/blob/main/testsuite/example-deformer/run.py
currently ignores any cmake options this build was invoked with, ie:
MYCC=...
MYCXX=...
LLVM_DIRECTORY=...
ILMBASE_ROOT=...
OPENEXR_ROOT=...
BOOST_ROOT=...
OpenImageIO_ROOT=...
pugixml_ROOT=...
pybind11_ROOT=...
partio_ROOT=.. \
This can cause build failures from cmake not configuring because it can't find dependency or worse if the wrong version of the dependency is found. Failed builds from API/ABI incompatibilities or undefined behavior could ensue.
Expected behavior:
Any CMAKE options that apply to testsuite subprojects would be propagated through to their cmake invocations
Steps to Reproduce
- Remove OIIO from your path or have it point to an older version.
- Build using OpenImageIO_ROOT cmake option
- build TEST target and see example-deformer fail to build.
Versions
- OSL branch/version: All
- OS: Linux
- C++ compiler: All
- LLVM version: All
- OIIO version: All