AcademySoftwareFoundation / openvdb

OpenVDB - Sparse volume data structure and tools
http://www.openvdb.org/
Mozilla Public License 2.0
2.62k stars 647 forks source link

[BUILD] nanovdb/util/cuda in NanoVDB 11 installs to invalid folder #1769

Open AJpon opened 7 months ago

AJpon commented 7 months ago

Environment

Operating System: Windows 10 Version nanoVDB 11 / Commit SHA: 77f28d16114949dfbe2937aa2dae1379f6d2b653 CMake Version: 3.27.7 Compiler:MSVC 2022

Describe the problem

The release notes state that the CUDA-related headers for NanoVDB have been added to nanovdb/util/cuda, but due to an incorrect CMake script, they are actually installed under nanovdb/util. This causes projects that use NanoVDB as a library to fail to build when including header files under nanovdb/util/cuda, which destroys the relative reference to nanovdb/util.

To Reproduce

Steps to reproduce the behavior:

  1. Checkout repo 'master'
  2. Run CMake and Build
    cmake -S . -B .\build -DCMAKE_INSTALL_PREFIX=D:\openvdb\build\Release -DOPENVDB_BUILD_BINARIES=OFF -DUSE_AX=OFF -DUSE_NANOVDB=ON -DOPENVDB_BUILD_NANOVDB=ON -DNANOVDB_BUILD_TOOLS=OFF -DNANOVDB_USE_CUDA=ON -DCMAKE_TOOLCHAIN_FILE='C:\Program Files\Microsoft Visual Studio\2022\Community\VC\vcpkg\scripts\buildsystems\vcpkg.cmake' -DVCPKG_TARGET_TRIPLET=x64-windows -A x64`
    cmake --build .\build --parallel 8 --config Release --target install
  3. Goto .\build\Release\include\nanovdb\util and check directory structure
AJpon commented 7 months ago

I sent a pull request (#1770 ) to fix this issue