AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb

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

Open
#1,769 1 comment 0 reactions 0 assignees View on GitHub
nanovdb
Dominant language
C++
Stars
3.4k
Forks
774
Avg merge
3d 9h
Merged PRs (30d)
34

Description

### 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](https://www.openvdb.org/documentation/doxygen/changes.html#:~:text=by%C2%A0Matthias%C2%A0Ueberheide%5D-,NanoVDB,-%3A) 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
```PowerShell
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

Contributor guide

Open the contributing guide

Research direction

Reproduce the Windows installation with the provided CMake configure and build commands, then inspect the CMake install rules responsible for NanoVDB headers under nanovdb/util/cuda. Done means the CUDA-related headers install under nanovdb/util/cuda so projects including those paths build successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.