On Mon, Feb 12, 2024 at 07:12:56PM +0100, Martijn van Duren wrote: > $ cat stratagus/pkg/DESCR > Stratagus is a free cross-platform real-time strategy gaming engine. It > includes support for playing over the internet/LAN, or playing a > computer opponent. The engine is configurable and can be used to create > games with a wide-range of features specific to your needs. Stratagus is > written in C++. > > This is a dependency for war1gus and wargus, a warcraft orcs and humans, > and warcraft 2 open source reimplementation respectively (need original > assets). > > Both the changes to the CMakeLists.txt are probably wrong/not needed, > but outside the scope of my knowledge, so if someone would at least > look those over it would be appreciated.
Thanks for sharing this! I looked at it a little; this is a trickier project. The main thing I'm bumping into is that you set "USE_NINJA=No" which doesn't seem to be intended (either "yes" or "samurai"). The result is that none of the flags from MODCMAKE_BUILD_TARGET are used and instead it builds with cmake with no arguments. When I try using our regular MODCMAKE_BUILD_TARGET (by removing the USE_NINJA line), it then somehow doesn't build the vendored lua dependencies including the needed .a file before it's needed. I would have thought that this line in CMakeLists.txt should ensure that: add_dependencies(stratagus Lua51B) but that doesn't seem to be the case. Maybe someone with more cmake knowledge can better spot why this only works with empty MODCMAKE_BUILD_TARGET. Here a few other nits: - remove leading article in COMMENT - drop devel/sdl2 LDEP (is pulled in by sdl2-mixer and sdl2-image) -> same for audio/libogg - setting WRKDIST not be needed as DISTNAME already set correctly - disable doxygen? (low quality docs; don't set ENABLE_DOC) - add archivers/innoextract to RDEP? (see patches - this is used by runtime) - variables USE_OPENMP and USE_BACKTRACE are not used by cmake (see make configure output) PS: $ make show=MODCMAKE_BUILD_TARGET cd /usr/ports/pobj/stratagus-3.3.2/build-amd64 && exec /usr/bin/env -i MODCMAKE_USE_SHARED_LIBS=yes MODCMAKE_PORT_BUILD=yes PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool" PATH='/usr/ports/pobj/stratagus-3.3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin' PREFIX='/usr/local' LOCALBASE='/usr/local' X11BASE='/usr/X11R6' CFLAGS='-O2 -pipe' TRUEPREFIX='/usr/local' DESTDIR='' HOME='/stratagus-3.3.2_writes_to_HOME' PICFLAG="-fpic" BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644 DIRMODE=755 INSTALL_COPY=-c INSTALL_STRIP=-s MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/stratagus-3.3.2/bin/install -c -s -m 755" BSD_INSTALL_SCRIPT="/usr/ports/pobj/stratagus-3.3.2/bin/install -c -m 755" BSD_INSTALL_DATA="/usr/ports/pobj/stratagus-3.3.2/bin/install -c -m 644" BSD_INSTALL_MAN="/usr/ports/pobj/stratagus-3.3.2/bin/install -c -m 644" BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/stratagus-3.3.2/bin/install -d -m 755" BSD_INSTALL_SCRIPT_DIR="/usr/ports/pobj/stratagus-3.3.2/bin/install -d -m 755" BSD_INSTALL_DATA_DIR="/usr/ports/pobj/stratagus-3.3.2/bin/install -d -m 755" BSD_INSTALL_MAN_DIR="/usr/ports/pobj/stratagus-3.3.2/bin/install -d -m 755" cmake --build /usr/ports/pobj/stratagus-3.3.2/build-amd64 --verbose -j 1 > One issue is that sound doesn't play with video cut scenes and is > something that boils up from SDL2's Mix_LoadMUS or Mix_LoadMUS_RW in > stratagus' src/sound/sound_server.cpp's LoadMusic(). > > martijn@