deps: python 3.7.4 for windows.
[blender.git] / build_files / build_environment / CMakeLists.txt
index 512d2567754651c364c34c711b325b01e2401ddb..0dbd3b572cf06c23039f709747913be0a35a6271 100644 (file)
 ####################################################################################################
 #
 # This is a build system used by platform maintainers to build library dependencies on
-# Windows and macOS. There is some support for Linux as well, but not ready for releases.
+# Windows, macOS and Linux.
 #
-# Windows and macOS users should download the precompiled libraries in lib/, Linux users
-# should run install_deps.sh for building dependencies.
+# For users building Blender, we recommend using the precompiled libraries from lib/ on
+# Windows and macOS, and install_deps.sh on Linux.
 #
 # WINDOWS USAGE:
-#   Don't call this cmake file your self, use build_deps.cmd
+#   Don't call this cmake file yourself, use build_deps.cmd
 #   build_deps 2013 x64 / build_deps 2013 x86
 #   build_deps 2015 x64 / build_deps 2015 x86
 #
 # MAC OS X USAGE:
-#      Install with homebrew: brew install autoconf automake libtool yasm openssl xz
+#   Install with homebrew: brew install cmake autoconf automake libtool yasm nasm
 #   Run "make deps" from main Blender directory
 #
 # LINUX USAGE:
-#   Install compiler, cmake, autoconf, automake, libtool, yasm
+#   Install compiler cmake autoconf automake libtool yasm nasm tcl
 #   Run "make deps" from main Blender directory
 #
 ####################################################################################################
@@ -47,13 +47,13 @@ include(cmake/options.cmake)
 include(cmake/versions.cmake)
 
 if(ENABLE_MINGW64)
-       if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-               include(cmake/setup_mingw64.cmake)
-       else()
-               include(cmake/setup_mingw32.cmake)
-       endif()
+  if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+    include(cmake/setup_mingw64.cmake)
+  else()
+    include(cmake/setup_mingw32.cmake)
+  endif()
 else()
-       set(mingw_LIBDIR ${LIBDIR})
+  set(mingw_LIBDIR ${LIBDIR})
 endif()
 
 include(cmake/zlib.cmake)
@@ -90,58 +90,70 @@ include(cmake/tbb.cmake)
 include(cmake/openvdb.cmake)
 include(cmake/python.cmake)
 include(cmake/python_site_packages.cmake)
+include(cmake/package_python.cmake)
 include(cmake/numpy.cmake)
-include(cmake/pugixml.cmake)
+if(UNIX AND NOT APPLE)
+  # Rely on PugiXML compiled with OpenImageIO
+else()
+  include(cmake/pugixml.cmake)
+endif()
 
 if(WITH_WEBP)
-       include(cmake/webp.cmake)
+  include(cmake/webp.cmake)
+endif()
+
+if(WITH_EMBREE)
+  include(cmake/embree.cmake)
 endif()
+
 if(WIN32)
-       #hmd_branch_deps
-       include(cmake/hidapi.cmake)
-       #ocio deps
-       include(cmake/tinyxml.cmake)
-       include(cmake/yamlcpp.cmake)
-       #lcms is an ocio dep, but only if you build the apps, leaving it here for convenience
-       #include(cmake/lcms.cmake)
+  # HMD branch deps
+  include(cmake/hidapi.cmake)
+  # OCIO deps
+  include(cmake/tinyxml.cmake)
+  include(cmake/yamlcpp.cmake)
+  # LCMS is an OCIO dep, but only if you build the apps, leaving it here for convenience
+  #include(cmake/lcms.cmake)
+
 endif()
 
 if(NOT WIN32 OR ENABLE_MINGW64)
-       include(cmake/openjpeg.cmake)
-       if(BUILD_MODE STREQUAL Release)
-               if(WIN32)
-                       include(cmake/zlib_mingw.cmake)
-               endif()
-               include(cmake/lame.cmake)
-               include(cmake/ogg.cmake)
-               include(cmake/vorbis.cmake)
-               include(cmake/theora.cmake)
-               include(cmake/vpx.cmake)
-               include(cmake/x264.cmake)
-               include(cmake/xvidcore.cmake)
-               include(cmake/faad.cmake)
-               include(cmake/ffmpeg.cmake)
-               include(cmake/fftw.cmake)
-               include(cmake/sndfile.cmake)
-               if(WIN32)
-                       include(cmake/iconv.cmake)
-               endif()
-               if(UNIX)
-                       include(cmake/flac.cmake)
-                       if(NOT APPLE)
-                               include(cmake/spnav.cmake)
-                               include(cmake/jemalloc.cmake)
-                               include(cmake/xml2.cmake)
-                       endif()
-               endif()
-       endif()
+  include(cmake/openjpeg.cmake)
+  if(NOT WIN32 OR BUILD_MODE STREQUAL Release)
+    if(WIN32)
+      include(cmake/zlib_mingw.cmake)
+    endif()
+    include(cmake/lame.cmake)
+    include(cmake/ogg.cmake)
+    include(cmake/vorbis.cmake)
+    include(cmake/theora.cmake)
+    include(cmake/vpx.cmake)
+    include(cmake/x264.cmake)
+    include(cmake/xvidcore.cmake)
+    include(cmake/faad.cmake)
+    include(cmake/ffmpeg.cmake)
+    include(cmake/fftw.cmake)
+    include(cmake/sndfile.cmake)
+    if(WIN32)
+      include(cmake/iconv.cmake)
+    endif()
+    if(UNIX)
+      include(cmake/flac.cmake)
+      include(cmake/xml2.cmake)
+      if(NOT APPLE)
+        include(cmake/spnav.cmake)
+        include(cmake/jemalloc.cmake)
+      endif()
+    endif()
+  endif()
 endif()
 
-if(UNIX AND NOT APPLE)
-       include(cmake/bzip2.cmake)
-       include(cmake/lzma.cmake)
-       include(cmake/ssl.cmake)
-       include(cmake/sqlite.cmake)
+if(UNIX)
+  include(cmake/bzip2.cmake)
+  include(cmake/ffi.cmake)
+  include(cmake/lzma.cmake)
+  include(cmake/ssl.cmake)
+  include(cmake/sqlite.cmake)
 endif()
 
 include(cmake/harvest.cmake)