From cc496445518d752d2a2bdad25d7c48115cacd659 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 29 Aug 2019 17:46:04 +0200 Subject: Build: check necessary software is installed for make deps on macOS and Linux To avoid errors deep into the build process. Fixes T69297. --- build_files/build_environment/CMakeLists.txt | 1 + .../build_environment/cmake/check_software.cmake | 53 ++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 build_files/build_environment/cmake/check_software.cmake (limited to 'build_files') 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() -- cgit v1.2.3