diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-08-29 18:46:04 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-08-30 12:21:23 +0300 |
commit | cc496445518d752d2a2bdad25d7c48115cacd659 (patch) | |
tree | bc01bc14af6127b49f87c8953bb7832c5599c39f | |
parent | a771fdb5dc4b868cda4a778bfc4f2670111815bf (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.txt | 1 | ||||
-rw-r--r-- | build_files/build_environment/cmake/check_software.cmake | 53 |
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() |