openvdb icon indicating copy to clipboard operation
openvdb copied to clipboard

[BUILD] Please provide an `openvdb-config.cmake` file instead of FindOpenVDB

Open mathstuf opened this issue 4 years ago • 5 comments

Environment

Operating System: any Version / Commit SHA: master CMake Version: any Compiler: irrelevant

Describe the problem

OpenVDB provides its own FindOpenVDB file. Instead, it should provide an openvdb-config.cmake (or OpenVDBConfig.cmake) file which just provides the information directly. OpenVDB's install tree already knows where everything is and having to re-find it is unnecessary work.

Please just export the targets and include them from the config file (which can do the necessary component work to only include the targets that are requested).

Additionally, there are issues related to policy scope. Performing cmake_minimum_required in an included file leaks the policy settings from it to the caller. Such calls should instead be:

cmake_policy(PUSH)
cmake_policy(VERSION 3.12)

# Rest of the script.

cmake_policy(POP)

so that the settings don't "leak" out.

mathstuf avatar Aug 24 '21 14:08 mathstuf

Thanks @mathstuf, this is indeed sorely needed! Would you be able to or consider contributing any of these changes?

Idclip avatar Aug 31 '21 10:08 Idclip

I looked at it before filing the issue, but it didn't fit into the time I had available then. I can certainly help review if someone gets to it sooner, but I don't know when I'll get the time to work on it as of right now.

mathstuf avatar Aug 31 '21 11:08 mathstuf

Pinning this as we very much still need a solution

Idclip avatar Nov 03 '22 15:11 Idclip

Any news on this ?

mwestphal avatar Dec 06 '23 16:12 mwestphal

Wouldn't using configure_package_config_file be the appropriate solution here?

I came across this issue while trying to figure out how to build against OpenVDB 5 on Ubuntu 18.04 installed via the available Debian package.

MattCsencsits avatar Mar 21 '24 23:03 MattCsencsits