From c8b946bc97f77892226e499821784dea1f7198d0 Mon Sep 17 00:00:00 2001 From: Patrick Mours Date: Mon, 21 Mar 2022 16:47:20 +0100 Subject: Fix Windows build to use existing "WITH_WINDOWS_FIND_MODULES" CMake option --- build_files/cmake/Modules/FindUSD.cmake | 83 +++++++++++-------------- build_files/cmake/platform/platform_win32.cmake | 63 ++++++++----------- intern/cycles/CMakeLists.txt | 2 +- 3 files changed, 65 insertions(+), 83 deletions(-) diff --git a/build_files/cmake/Modules/FindUSD.cmake b/build_files/cmake/Modules/FindUSD.cmake index c8c1f043b63..3d31228bf02 100644 --- a/build_files/cmake/Modules/FindUSD.cmake +++ b/build_files/cmake/Modules/FindUSD.cmake @@ -17,60 +17,51 @@ IF(NOT USD_ROOT_DIR AND NOT $ENV{USD_ROOT_DIR} STREQUAL "") SET(USD_ROOT_DIR $ENV{USD_ROOT_DIR}) ENDIF() -find_package(pxr REQUIRED OFF) - -if (NOT pxr_FOUND) - - SET(_usd_SEARCH_DIRS - ${USD_ROOT_DIR} - /opt/lib/usd - ) +SET(_usd_SEARCH_DIRS + ${USD_ROOT_DIR} + /opt/lib/usd +) - FIND_PATH(USD_INCLUDE_DIR - NAMES - pxr/usd/usd/api.h - HINTS - ${_usd_SEARCH_DIRS} - PATH_SUFFIXES - include - DOC "Universal Scene Description (USD) header files" - ) +FIND_PATH(USD_INCLUDE_DIR + NAMES + pxr/usd/usd/api.h + HINTS + ${_usd_SEARCH_DIRS} + PATH_SUFFIXES + include + DOC "Universal Scene Description (USD) header files" + NO_CMAKE_PATH +) - FIND_LIBRARY(USD_LIBRARY - NAMES - usd_m usd_ms - NAMES_PER_DIR - HINTS - ${_usd_SEARCH_DIRS} - PATH_SUFFIXES - lib64 lib lib/static - DOC "Universal Scene Description (USD) monolithic library" - ) +FIND_LIBRARY(USD_LIBRARY + NAMES + usd_m usd_ms ${USD_LIBRARY_PREFIX}usd + NAMES_PER_DIR + HINTS + ${_usd_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib lib/static + DOC "Universal Scene Description (USD) library" +) - IF(${USD_LIBRARY_NOTFOUND}) - set(USD_FOUND FALSE) - ELSE() - # handle the QUIETLY and REQUIRED arguments and set USD_FOUND to TRUE if - # all listed variables are TRUE - INCLUDE(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(USD DEFAULT_MSG USD_LIBRARY USD_INCLUDE_DIR) +IF(${USD_LIBRARY_NOTFOUND}) + set(USD_FOUND FALSE) +ELSE() + # handle the QUIETLY and REQUIRED arguments and set USD_FOUND to TRUE if + # all listed variables are TRUE + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(USD DEFAULT_MSG USD_LIBRARY USD_INCLUDE_DIR) - IF(USD_FOUND) - get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY) - SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR}) - set(USD_LIBRARIES ${USD_LIBRARY}) - ENDIF() + IF(USD_FOUND) + get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY) + SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR}) + set(USD_LIBRARIES ${USD_LIBRARY}) ENDIF() - - UNSET(_usd_SEARCH_DIRS) - -ELSE() - SET(USD_FOUND ON) - SET(USD_INCLUDE_DIR ${PXR_INCLUDE_DIRS}) - SET(USD_LIBRARIES ${PXR_LIBRARIES}) ENDIF() MARK_AS_ADVANCED( USD_INCLUDE_DIR USD_LIBRARY_DIR ) + +UNSET(_usd_SEARCH_DIRS) diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index ec0c83195e9..edbccee6152 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -255,9 +255,6 @@ if(NOT DEFINED LIBDIR) elseif(MSVC_VERSION GREATER 1909) message(STATUS "Visual Studio 2017 detected.") set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15) - elseif(MSVC_VERSION EQUAL 1900) - message(STATUS "Visual Studio 2015 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15) endif() else() message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") @@ -306,8 +303,8 @@ set(ZLIB_INCLUDE_DIR ${LIBDIR}/zlib/include) set(ZLIB_LIBRARY ${LIBDIR}/zlib/lib/libz_st.lib) set(ZLIB_DIR ${LIBDIR}/zlib) -windows_find_package(zlib) # we want to find before finding things that depend on it like png -windows_find_package(png) +windows_find_package(ZLIB) # we want to find before finding things that depend on it like png +windows_find_package(PNG) if(NOT PNG_FOUND) warn_hardcoded_paths(libpng) @@ -319,9 +316,9 @@ if(NOT PNG_FOUND) endif() set(JPEG_NAMES ${JPEG_NAMES} libjpeg) -windows_find_package(jpeg REQUIRED) +windows_find_package(JPEG REQUIRED) if(NOT JPEG_FOUND) - warn_hardcoded_paths(jpeg) + warn_hardcoded_paths(JPEG) set(JPEG_INCLUDE_DIR ${LIBDIR}/jpeg/include) set(JPEG_LIBRARIES ${LIBDIR}/jpeg/lib/libjpeg.lib) endif() @@ -339,7 +336,7 @@ set(FREETYPE_LIBRARIES ${LIBDIR}/brotli/lib/brotlidec-static.lib ${LIBDIR}/brotli/lib/brotlicommon-static.lib ) -windows_find_package(freetype REQUIRED) +windows_find_package(Freetype REQUIRED) if(WITH_FFTW3) set(FFTW3 ${LIBDIR}/fftw3) @@ -395,9 +392,9 @@ if(WITH_CODEC_FFMPEG) ${LIBDIR}/ffmpeg/include ${LIBDIR}/ffmpeg/include/msvc ) - windows_find_package(FFMPEG) + windows_find_package(FFmpeg) if(NOT FFMPEG_FOUND) - warn_hardcoded_paths(ffmpeg) + warn_hardcoded_paths(FFmpeg) set(FFMPEG_LIBRARIES ${LIBDIR}/ffmpeg/lib/avcodec.lib ${LIBDIR}/ffmpeg/lib/avformat.lib @@ -409,7 +406,7 @@ if(WITH_CODEC_FFMPEG) endif() if(WITH_IMAGE_OPENEXR) - windows_find_package(OPENEXR REQUIRED) + windows_find_package(OpenEXR REQUIRED) if(NOT OPENEXR_FOUND) set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr) set(OPENEXR_VERSION "2.1") @@ -468,17 +465,15 @@ if(WITH_PYTHON) endif() if(WITH_BOOST) - if(WITH_CYCLES_OSL) + if(WITH_CYCLES AND WITH_CYCLES_OSL) set(boost_extra_libs wave) endif() - if(WITH_BLENDER) - if(WITH_INTERNATIONAL) - list(APPEND boost_extra_libs locale) - endif() - set(Boost_USE_STATIC_RUNTIME ON) # prefix lib - set(Boost_USE_MULTITHREADED ON) # suffix -mt - set(Boost_USE_STATIC_LIBS ON) # suffix -s + if(WITH_INTERNATIONAL) + list(APPEND boost_extra_libs locale) endif() + set(Boost_USE_STATIC_RUNTIME ON) # prefix lib + set(Boost_USE_MULTITHREADED ON) # suffix -mt + set(Boost_USE_STATIC_LIBS ON) # suffix -s if(WITH_WINDOWS_FIND_MODULES) find_package(Boost COMPONENTS date_time filesystem thread regex system ${boost_extra_libs}) endif() @@ -513,7 +508,7 @@ if(WITH_BOOST) debug ${BOOST_LIBPATH}/libboost_thread-${BOOST_DEBUG_POSTFIX} debug ${BOOST_LIBPATH}/libboost_chrono-${BOOST_DEBUG_POSTFIX} ) - if(WITH_CYCLES_OSL) + if(WITH_CYCLES AND WITH_CYCLES_OSL) set(BOOST_LIBRARIES ${BOOST_LIBRARIES} optimized ${BOOST_LIBPATH}/libboost_wave-${BOOST_POSTFIX} debug ${BOOST_LIBPATH}/libboost_wave-${BOOST_DEBUG_POSTFIX}) @@ -706,7 +701,7 @@ if(WITH_CODEC_SNDFILE) set(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBPATH}/libsndfile-1.lib) endif() -if(WITH_CYCLES_OSL) +if(WITH_CYCLES AND WITH_CYCLES_OSL) set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation") set(OSL_SHADER_DIR ${CYCLES_OSL}/shaders) # Shaders have moved around a bit between OSL versions, check multiple locations @@ -739,7 +734,7 @@ if(WITH_CYCLES_OSL) endif() endif() -if(WITH_CYCLES_EMBREE) +if(WITH_CYCLES AND WITH_CYCLES_EMBREE) windows_find_package(Embree) if(NOT EMBREE_FOUND) set(EMBREE_INCLUDE_DIRS ${LIBDIR}/embree/include) @@ -767,21 +762,17 @@ if(WITH_CYCLES_EMBREE) endif() if(WITH_USD) - if(USD_INCLUDE_DIRS AND USD_LIBRARY_DIR) + windows_find_package(USD) + if(NOT USD_FOUND) set(USD_FOUND ON) - else() - windows_find_package(USD) - if(NOT USD_FOUND) - set(USD_FOUND ON) - set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include) - set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib) - set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib) - set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib) - set(USD_LIBRARIES - debug ${USD_DEBUG_LIB} - optimized ${USD_RELEASE_LIB} - ) - endif() + set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include) + set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib) + set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib) + set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib) + set(USD_LIBRARIES + debug ${USD_DEBUG_LIB} + optimized ${USD_RELEASE_LIB} + ) endif() endif() diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 4157693b6cb..1f8f8fefaf6 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -339,7 +339,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID MATCHES "Clang") unset(_has_no_error_unused_macros) endif() -if(WITH_CYCLES_HYDRA_RENDER_DELEGATE AND NOT USD_FOUND) +if(WITH_CYCLES_HYDRA_RENDER_DELEGATE AND NOT WITH_USD) message(STATUS "USD not found, disabling WITH_CYCLES_HYDRA_RENDER_DELEGATE") set(WITH_CYCLES_HYDRA_RENDER_DELEGATE OFF) endif() -- cgit v1.2.3