`pxr/external` `PXR_PACKAGE` names

Hello. I wanted to ask about the naming of packages in pxr/external. The choice of boost and python as the package names yields libraries named boost and python in the downstream pxrTargets.cmake and pxrConfig.cmake files.

For example,

set_target_properties(gf PROPERTIES
  INTERFACE_LINK_LIBRARIES "arch;tf;python;Python3::Python"
)

python in the INTERFACE_LINK_LIBRARIES in this case refers to the internalized boost python package produced by pxr/external/boost/python while Python3::Python refers to python3.x.

While not packages in the same way, elsewhere in OpenUSD, dependencies like CLI11 are exposed as pxrCLI11. Would there be clarifying value in exposing these packages as pxrBoostPython and pxrBoost instead?

This note likely applies to the pegtl library as well which currently resides in pxr/base.

1 Like

It’s worth noting that this choice of package name also generates a .so named <prefix>_python.so which could easily be confused for the python bindings of usd or python instead of BoostPython.