deps: python 3.7.4 for windows.
[blender.git] / build_files / build_environment / CMakeLists.txt
index f177560c5f63aa58b248df8b1c6a1ca8af84b669..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
 #
 ####################################################################################################
@@ -45,6 +45,17 @@ cmake_minimum_required(VERSION 3.5)
 include(ExternalProject)
 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()
+else()
+  set(mingw_LIBDIR ${LIBDIR})
+endif()
+
 include(cmake/zlib.cmake)
 include(cmake/blendthumb.cmake)
 include(cmake/openal.cmake)
@@ -68,6 +79,9 @@ include(cmake/opencollada.cmake)
 include(cmake/opencolorio.cmake)
 include(cmake/llvm.cmake)
 include(cmake/clang.cmake)
+if(APPLE)
+  include(cmake/openmp.cmake)
+endif()
 include(cmake/openimageio.cmake)
 include(cmake/tiff.cmake)
 include(cmake/flexbison.cmake)
@@ -76,56 +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)
+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(WIN32)
-       include(cmake/hidapi.cmake)
+
+if(WITH_EMBREE)
+  include(cmake/embree.cmake)
 endif()
 
-if(ENABLE_MINGW64)
-       if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-               include(cmake/setup_mingw64.cmake)
-       else()
-               include(cmake/setup_mingw32.cmake)
-       endif()
-else()
-       set(mingw_LIBDIR ${LIBDIR})
+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)
+
 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/orc.cmake)
-               include(cmake/schroedinger.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)
-                       include(cmake/lapack.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)
+  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)