class Magnum < Formula desc "C++11/C++14 graphics middleware for games and data visualization" homepage "https://magnum.graphics" url "https://github.com/mosra/magnum/archive/v2020.06.tar.gz" # wget https://github.com/mosra/magnum/archive/v2020.06.tar.gz -O - | sha256sum sha256 "98dfe802e56614e4e6bf750d9b693de46a5ed0c6eb479b0268f1a20bf34268bf" head "https://github.com/mosra/magnum.git" depends_on "cmake" depends_on "corrade" depends_on "sdl2" depends_on "glfw" def install # 2020.06 has the options unprefixed, current master has them prefixed. # Options not present in 2020.06 are prefixed always. option_prefix = build.head? ? 'MAGNUM_' : '' system "mkdir build" cd "build" do system "cmake", *std_cmake_args, # Without this, ARM builds will try to look for dependencies in # /usr/local/lib and /usr/lib (which are the default locations) instead # of /opt/homebrew/lib which is dedicated for ARM binaries. Please # complain to Homebrew about this insane non-obvious filesystem layout. "-DCMAKE_INSTALL_NAME_DIR:STRING=#{lib}", # Without this, it will try to look for plugins somewhere deep in # homebrew's Cellar in per-package directories instead of in the # location everything's symlinked to, thus finding only magnum's core # plugins and not those from the magnum-plugins package. Please # complain to Homebrew about this insane filesystem layout. "-DMAGNUM_PLUGINS_DIR=#{HOMEBREW_PREFIX}/lib/magnum", "-D#{option_prefix}WITH_AUDIO=ON", "-D#{option_prefix}WITH_GLFWAPPLICATION=ON", "-D#{option_prefix}WITH_SDL2APPLICATION=ON", "-D#{option_prefix}WITH_WINDOWLESSCGLAPPLICATION=ON", "-D#{option_prefix}WITH_CGLCONTEXT=ON", "-D#{option_prefix}WITH_OPENGLTESTER=ON", "-D#{option_prefix}WITH_ANYAUDIOIMPORTER=ON", "-D#{option_prefix}WITH_ANYIMAGECONVERTER=ON", "-D#{option_prefix}WITH_ANYIMAGEIMPORTER=ON", "-D#{option_prefix}WITH_ANYSCENECONVERTER=ON", "-D#{option_prefix}WITH_ANYSCENEIMPORTER=ON", "-DMAGNUM_WITH_ANYSHADERCONVERTER=ON", "-D#{option_prefix}WITH_MAGNUMFONT=ON", "-D#{option_prefix}WITH_MAGNUMFONTCONVERTER=ON", "-D#{option_prefix}WITH_OBJIMPORTER=ON", "-D#{option_prefix}WITH_TGAIMAGECONVERTER=ON", "-D#{option_prefix}WITH_TGAIMPORTER=ON", "-D#{option_prefix}WITH_WAVAUDIOIMPORTER=ON", "-D#{option_prefix}WITH_DISTANCEFIELDCONVERTER=ON", "-D#{option_prefix}WITH_FONTCONVERTER=ON", "-D#{option_prefix}WITH_IMAGECONVERTER=ON", "-D#{option_prefix}WITH_SCENECONVERTER=ON", "-DMAGNUM_WITH_SHADERCONVERTER=ON", "-D#{option_prefix}WITH_GL_INFO=ON", "-D#{option_prefix}WITH_AL_INFO=ON", ".." system "cmake", "--build", "." system "cmake", "--build", ".", "--target", "install" end end end