# Requires OpenGL>=3.2, could run on powerpc64 once there is drm support
ONLY_FOR_ARCHS =	aarch64 amd64 i386

COMMENT =	open source game engine based on FreeSpace 2

V =		23.0.0
DISTNAME =	fs2open-${V}
GH_ACCOUNT =	scp-fs2open
GH_PROJECT =	fs2open.github.com
GH_TAGNAME =	release_${V:S/./_/g}

CATEGORIES =	games

MAINTAINER =	Thomas Frohwein <thfr@openbsd.org>

# Volition custom license (non-commercial, not really a license)
PERMIT_PACKAGE =	no license at all
PERMIT_DISTFILES =	no license at all

# if running with vulkan backend, dlopen's vulkan in vulkan.hpp
WANTLIB += ${COMPILER_LIBCXX} SDL2 avcodec avformat avutil c freetype
WANTLIB += jansson jpeg ${MODLUA_WANTLIB} m openal png swresample swscale
WANTLIB += vulkan z

RPAVLIK_CMAKE_MOD =	7cef9577d6fc35057ea57f46b4986a8a28aeff50
LIBROCKET =		ecd648a43aff8a9f3daf064d75ca5725237d5b38

SITES.a =	https://github.com/asarium/cmake-modules/archive/
SITES.b =	https://github.com/asarium/libRocket/archive/

DISTFILES.a =		${RPAVLIK_CMAKE_MOD}.tar.gz
DISTFILES.b = 		${LIBROCKET}.tar.gz

DIST_SUBDIR =		fs2open-${V}

# c++11
COMPILER =		base-clang ports-gcc
MODULES =		devel/cmake \
			lang/lua
LIB_DEPENDS =		audio/openal \
			devel/jansson \
			devel/sdl2 \
			graphics/ffmpeg \
			graphics/png \
			graphics/vulkan-loader

CXXFLAGS +=		-I${X11BASE}/include -I${LOCALBASE}/include
MODCMAKE_LDFLAGS =	-L${X11BASE}/lib -L${LOCALBASE}/lib

# Disable Vulkan because of build failure, since upgrade to 1.3.224.1:
# code/graphics/vulkan/VulkanRenderer.cpp:794:21: error: no viable overloaded '='
# m_graphicsPipeline = m_device->createGraphicsPipelineUnique(nullptr, pipelineInfo);
CONFIGURE_ARGS =	-DCMAKE_INSTALL_PREFIX=${LOCALBASE}/share/fs2open \
			-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=On \
			-DFSO_BUILD_WITH_VULKAN=Off

# currently not building; would be ${WRKBUILD}/bin/unittests
NO_TEST =		Yes

# remove bundled SDL
post-extract:
	rm -rf	${WRKSRC}/lib/libsdl
	rmdir	${WRKSRC}/cmake/external/rpavlik-cmake-modules
	ln -s	${WRKDIR}/cmake-modules-${RPAVLIK_CMAKE_MOD} \
		${WRKSRC}/cmake/external/rpavlik-cmake-modules
	rmdir	${WRKSRC}/lib/libRocket
	ln -s	${WRKDIR}/libRocket-${LIBROCKET} \
		${WRKSRC}/lib/libRocket

do-gen:
	${SUBST_CMD} ${WRKSRC}/CMakeLists.txt

post-install:
	${SUBST_CMD} -c -m 755 ${FILESDIR}/fs2open ${PREFIX}/bin/fs2open

.include <bsd.port.mk>
