[Bf-blender-cvs] [4c1cedbbcd2] tmp_libupdate_34: fix building with 3.3 lib folder on windows

Ray Molenkamp noreply at git.blender.org
Wed Aug 17 02:36:46 CEST 2022


Commit: 4c1cedbbcd257f6e1beac3d79068c6811f984a2f
Author: Ray Molenkamp
Date:   Tue Aug 16 18:36:37 2022 -0600
Branches: tmp_libupdate_34
https://developer.blender.org/rB4c1cedbbcd257f6e1beac3d79068c6811f984a2f

fix building with 3.3 lib folder on windows

===================================================================

M	build_files/cmake/platform/platform_win32.cmake
M	intern/locale/CMakeLists.txt
M	source/creator/CMakeLists.txt

===================================================================

diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index b310b6cd33b..113f0cddd10 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -542,35 +542,44 @@ if(WITH_BOOST)
     endif()
     set(BOOST_POSTFIX "vc142-mt-x64-${BOOST_VERSION}.lib")
     set(BOOST_DEBUG_POSTFIX "vc142-mt-gyd-x64-${BOOST_VERSION}.lib")
+    set(BOOST_PREFIX "")
+    # This is file new in 3.4 if it does not exist, assume we are building against 3.3 libs
+    set(BOOST_34_TRIGGER_FILE ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_python310-${BOOST_DEBUG_POSTFIX})
+    if (NOT EXISTS ${BOOST_34_TRIGGER_FILE})
+      set(BOOST_DEBUG_POSTFIX "vc142-mt-gd-x64-${BOOST_VERSION}.lib")
+      set(BOOST_PREFIX "lib")
+    endif()
     set(BOOST_LIBRARIES
-      optimized ${BOOST_LIBPATH}/boost_date_time-${BOOST_POSTFIX}
-      optimized ${BOOST_LIBPATH}/boost_filesystem-${BOOST_POSTFIX}
-      optimized ${BOOST_LIBPATH}/boost_regex-${BOOST_POSTFIX}
-      optimized ${BOOST_LIBPATH}/boost_system-${BOOST_POSTFIX}
-      optimized ${BOOST_LIBPATH}/boost_thread-${BOOST_POSTFIX}
-      optimized ${BOOST_LIBPATH}/boost_chrono-${BOOST_POSTFIX}
-      debug ${BOOST_LIBPATH}/boost_date_time-${BOOST_DEBUG_POSTFIX}
-      debug ${BOOST_LIBPATH}/boost_filesystem-${BOOST_DEBUG_POSTFIX}
-      debug ${BOOST_LIBPATH}/boost_regex-${BOOST_DEBUG_POSTFIX}
-      debug ${BOOST_LIBPATH}/boost_system-${BOOST_DEBUG_POSTFIX}
-      debug ${BOOST_LIBPATH}/boost_thread-${BOOST_DEBUG_POSTFIX}
-      debug ${BOOST_LIBPATH}/boost_chrono-${BOOST_DEBUG_POSTFIX}
+      optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_date_time-${BOOST_POSTFIX}
+      optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_filesystem-${BOOST_POSTFIX}
+      optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_regex-${BOOST_POSTFIX}
+      optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_system-${BOOST_POSTFIX}
+      optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_thread-${BOOST_POSTFIX}
+      optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_chrono-${BOOST_POSTFIX}
+      debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_date_time-${BOOST_DEBUG_POSTFIX}
+      debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_filesystem-${BOOST_DEBUG_POSTFIX}
+      debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_regex-${BOOST_DEBUG_POSTFIX}
+      debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_system-${BOOST_DEBUG_POSTFIX}
+      debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_thread-${BOOST_DEBUG_POSTFIX}
+      debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_chrono-${BOOST_DEBUG_POSTFIX}
     )
-    if(WITH_USD)
-      set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
-        debug ${BOOST_LIBPATH}/boost_python310-${BOOST_DEBUG_POSTFIX}
-        optimized ${BOOST_LIBPATH}/boost_python310-${BOOST_POSTFIX}
-      )
+    if (EXISTS ${BOOST_34_TRIGGER_FILE})
+      if(WITH_USD)
+        set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
+          debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_python310-${BOOST_DEBUG_POSTFIX}
+          optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_python310-${BOOST_POSTFIX}
+        )
+      endif()
     endif()
     if(WITH_CYCLES AND WITH_CYCLES_OSL)
       set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
-        optimized ${BOOST_LIBPATH}/boost_wave-${BOOST_POSTFIX}
-        debug ${BOOST_LIBPATH}/boost_wave-${BOOST_DEBUG_POSTFIX})
+        optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_wave-${BOOST_POSTFIX}
+        debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_wave-${BOOST_DEBUG_POSTFIX})
     endif()
     if(WITH_INTERNATIONAL)
       set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
-        optimized ${BOOST_LIBPATH}/boost_locale-${BOOST_POSTFIX}
-        debug ${BOOST_LIBPATH}/boost_locale-${BOOST_DEBUG_POSTFIX})
+        optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_locale-${BOOST_POSTFIX}
+        debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_locale-${BOOST_DEBUG_POSTFIX})
     endif()
   else() # we found boost using find_package
     set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
@@ -849,8 +858,8 @@ if(WITH_USD)
     # not found see if the older ones exist, to ease the
     # transition period while landing libs.
     if(NOT EXISTS "${USD_RELEASE_LIB}")
-      set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib)
-      set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib)
+      set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_m.lib)
+      set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_m_d.lib)
     endif()
     set(USD_LIBRARIES
       debug ${USD_DEBUG_LIB}
diff --git a/intern/locale/CMakeLists.txt b/intern/locale/CMakeLists.txt
index 71436d1f4b2..bdad0a0af79 100644
--- a/intern/locale/CMakeLists.txt
+++ b/intern/locale/CMakeLists.txt
@@ -18,7 +18,11 @@ set(LIB
 )
 
 if(WIN32)
-  add_definitions (-DBOOST_ALL_DYN_LINK=1)
+  # This is set in platform_win32.cmake, will exist for 3.4+ library
+  # folders which are dynamic, but not for 3.3 which will be static.
+  if (EXISTS ${BOOST_34_TRIGGER_FILE})
+    add_definitions (-DBOOST_ALL_DYN_LINK=1)
+  endif()
 endif()
 
 if(APPLE)
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 5897da0da7c..fd40d0d22b8 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -849,21 +849,27 @@ elseif(WIN32)
         DESTINATION "."
         CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
       )
-      install(
-        FILES ${LIBDIR}/openvdb/python/pyopenvdb.pyd
-        DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
-        CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
-      )
       install(
         FILES ${LIBDIR}/openvdb/bin/openvdb_d.dll
         DESTINATION "."
         CONFIGURATIONS Debug
       )
-      install(
-        FILES ${LIBDIR}/openvdb/python/pyopenvdb_d.pyd
-        DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
-        CONFIGURATIONS Debug
-      )
+
+      # This will not exist for 3.3 and earlier lib folders
+      # to ease the transition, support both 3.3 and 3.4 lib
+      # folders.
+      if(EXISTS ${LIBDIR}/openvdb/python/pyopenvdb_d.pyd)
+        install(
+          FILES ${LIBDIR}/openvdb/python/pyopenvdb_d.pyd
+          DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
+          CONFIGURATIONS Debug
+        )
+        install(
+          FILES ${LIBDIR}/openvdb/python/pyopenvdb.pyd
+          DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
+          CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
+        )
+      endif()
   endif()
 
   if(WITH_PYTHON)
@@ -939,27 +945,32 @@ elseif(WIN32)
         CONFIGURATIONS Debug
       )
 
-            if(WITH_USD)
-        install(
-          DIRECTORY ${USD_LIBRARY_DIR}/python/
-          DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
-          CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
-          PATTERN ".svn" EXCLUDE
-          PATTERN "__pycache__" EXCLUDE           # * any cache *
-          PATTERN "*.pyc" EXCLUDE                 # * any cache *
-          PATTERN "*.pyo" EXCLUDE                 # * any cache *
-        )
-
-        install(
-          DIRECTORY ${USD_LIBRARY_DIR}/debug/python/
-          DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
-          CONFIGURATIONS Debug
-          PATTERN ".svn" EXCLUDE
-          PATTERN "__pycache__" EXCLUDE           # * any cache *
-          PATTERN "*.pyc" EXCLUDE                 # * any cache *
-          PATTERN "*.pyo" EXCLUDE                 # * any cache *
-        )
-
+      if(WITH_USD)
+        # This will not exist for 3.3 and earlier lib folders
+        # to ease the transition, support both 3.3 and 3.4 lib
+        # folders.
+        if(EXISTS ${USD_LIBRARY_DIR}/python/)
+          install(
+            DIRECTORY ${USD_LIBRARY_DIR}/python/
+            DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
+            CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
+            PATTERN ".svn" EXCLUDE
+            PATTERN "__pycache__" EXCLUDE           # * any cache *
+            PATTERN "*.pyc" EXCLUDE                 # * any cache *
+            PATTERN "*.pyo" EXCLUDE                 # * any cache *
+          )
+        endif()
+        if(EXISTS ${USD_LIBRARY_DIR}/debug/python/)
+          install(
+            DIRECTORY ${USD_LIBRARY_DIR}/debug/python/
+            DESTINATION ${TARGETDIR_VER}/python/lib/site-packages
+            CONFIGURATIONS Debug
+            PATTERN ".svn" EXCLUDE
+            PATTERN "__pycache__" EXCLUDE           # * any cache *
+            PATTERN "*.pyc" EXCLUDE                 # * any cache *
+            PATTERN "*.pyo" EXCLUDE                 # * any cache *
+          )
+        endif()
       endif()
 
       if(WINDOWS_PYTHON_DEBUG)
@@ -1305,16 +1316,20 @@ if(WITH_USD)
   )
 
   if(WIN32)
-    install(FILES
-      ${LIBDIR}/usd/lib/usd_usd_ms.dll
-      DESTINATION "."
-      CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
-    )
-    install(FILES
-      ${LIBDIR}/usd/lib/usd_usd_ms_d.dll
-      DESTINATION "."
-      CONFIGURATIONS Debug
-    )
+    # If this file exists we are building against a 3.4 library folder
+    # that needs these dll's installed.
+    if(EXISTS ${LIBDIR}/usd/lib/usd_usd_ms.dll)
+      install(FILES
+        ${LIBDIR}/usd/lib/usd_usd_ms.dll
+        DESTINATION "."
+        CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
+      )
+      install(FILES
+        ${LIBDIR}/usd/lib/usd_usd_ms_d.dll
+        DESTINATION "."
+        CONFIGURATIONS Debug
+      )
+    endif()
   endif()
 endif()
 
@@ -1336,7 +1351,7 @@ if(WIN32 AND WITH_BOOST)
     PATTERN "*.lib" EXCLUDE
     PATTERN "*.pdb" EXCLUDE
     PATTERN "cmake" EXCLUDE
-    
+
   )
 endif()



More information about the Bf-blender-cvs mailing list