tangent-opensource / hdBlackbird

Blackbird Hydra Delegate
Apache License 2.0
298 stars 36 forks source link

Windows Compilation Issue (Boost Related) #265

Open SimonCSmith opened 2 years ago

SimonCSmith commented 2 years ago

I've compiled the core Blackbird library (1.1.1), USD (21.11) and all dependencies (including static Boost 1.77.0) for these under VS2019 using CMake. With everything in place I am trying to build hdBlackbird and i'm having issues with CMakeGUI generating the project file.

I am getting a slew of Target "xxxCycles" links to target "Boost::xxxx" but the target was not found (usdCycles, ndrCycles etc).

Am I missing something, or is something missing from the CMake setup to locate Boost? I tried adding BOOST_DIR but that did not help - I'm sure it just needs to knowe where to find them, but i'm no export with CMake i'm afraid.

bareya commented 2 years ago

It has been a while, but CMake included in this project does not locate boost. Usd exports configuration file and then cmake searches for it here.

SimonCSmith commented 2 years ago

Ah, so there must be something wrong with the latest Pixar USD builds regarding exported cmake configuration files maybe. It finds the USD install OK once USD_ROOT is set (it locates the isdGenSchema and pxr_DIR variables OK). The configure step works just fine, but it's the Generate that is failing.

The cmake line that causes the error is: add_library(usdCycles SHARED ${USD_CYCLES_SCHEMA_SOURCE_OUTPUT})

I've also added BOOST_USE_STATIC_LIBS as well (as that's how I have boost built) but that did not help either (along with BOOST_DIR).

Is there any way to force cmake to generate the Blackbird project files anyway so that I can get some vcxproj files out that I can manually fix linkage for in Visual Studio? When CMake goes wrong it's seems such a dark art to get working ... so very frustrating every time it happens!