mmp / pbrt-v3

Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
http://pbrt.org
BSD 2-Clause "Simplified" License
4.91k stars 1.19k forks source link

Modification to $<CONFIGURATION> line seems to fix zlib Windows issue. #174

Closed etheory closed 6 years ago

etheory commented 6 years ago

https://github.com/mmp/pbrt-v3/blob/55a041cb07d2ce985eef07b4407d42a372285359/CMakeLists.txt#L287

Hi there!

When building fresh from the latest master branch, I get an error due to zlibstatic not being found by the build.

After much messing around on Windows 10 using CMake-3.7 and MSVC2015-x64 I found the only way I could get PBRT to compile was changing the above line from:

SET(ZLIB_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/src/ext/zlib/$<CONFIGURATION>/zlibstatic.lib") to SET(ZLIB_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/src/ext/zlib/zlibstatic.lib")

Then everything builds perfectly. Has anyone else had this issue? I've looked online and I can't find any reference to that syntax anywhere, either on MSVC or CMake help or forums.

Has anyone else had the same problem?

Regards, etheory.

mmp commented 6 years ago

FWIW I tried making a pull request with this change (https://github.com/mmp/pbrt-v3/pull/180) to get the automated builds to run: it makes the Windows builds on AppVeyor fail.

That said, it's a little weird to have that reference to zlibstatic.lib like that in the first place. I cleaned up the handling of zlib to not require that and just pushed that change. I'd be curious to hear if that works for you.