Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-08-29 18:46:04 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-08-30 12:21:23 +0300
commitcc496445518d752d2a2bdad25d7c48115cacd659 (patch)
treebc01bc14af6127b49f87c8953bb7832c5599c39f
parenta771fdb5dc4b868cda4a778bfc4f2670111815bf (diff)
Build: check necessary software is installed for make deps on macOS and Linux
To avoid errors deep into the build process. Fixes T69297.
-rw-r--r--build_files/build_environment/CMakeLists.txt1
-rw-r--r--build_files/build_environment/cmake/check_software.cmake53
2 files changed, 54 insertions, 0 deletions
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 1b387cb86a2..d904ba27abc 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -43,6 +43,7 @@ project("BlenderDependencies")
cmake_minimum_required(VERSION 3.5)
include(ExternalProject)
+include(cmake/check_software.cmake)
include(cmake/options.cmake)
include(cmake/versions.cmake)
diff --git a/build_files/build_environment/cmake/check_software.cmake b/build_files/build_environment/cmake/check_software.cmake
new file mode 100644
index 00000000000..30dea754e20
--- /dev/null
+++ b/build_files/build_environment/cmake/check_software.cmake
@@ -0,0 +1,53 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+if(UNIX)
+ set(_required_software
+ autoconf
+ automake
+ libtoolize
+ nasm
+ yasm
+ tclsh
+ )
+
+ foreach(_software ${_required_software})
+ find_program(_software_find NAMES ${_software})
+ if(NOT _software_find)
+ set(_software_missing "${_software_missing}${_software} ")
+ endif()
+ unset(_software_find CACHE)
+ endforeach()
+
+ if(_software_missing)
+ message(
+ "\n"
+ "Missing software for building Blender dependencies:\n"
+ " ${_software_missing}\n"
+ "\n"
+ "On Debian and Ubuntu:\n"
+ " apt install autoconf automake libtool yasm nasm tcl\n"
+ "\n"
+ "On macOS (with homebrew):\n"
+ " brew install cmake autoconf automake libtool yasm nasm\n"
+ "\n"
+ "Other platforms:\n"
+ " Install equivalent packages.\n")
+ message(FATAL_ERROR "Install missing software before continuing")
+ endif()
+endif()