(@abouvier we can use these edits to make Cemu build-able again until the libfmt
issue gets worked out)
Some the depends/makedepends I included were missing and are actually listed as necessary dependencies upstream:
https://github.com/cemu-project/Cemu/blob/main/BUILD.md#for-arch-and-derivatives
depends=(
'discord-rpc'
'freeglut'
'gcc-libs'
'glibc'
'hicolor-icon-theme'
'libc++abi'
'libpulse'
'libx11'
'pugixml'
'sdl2'
'systemd'
'wxwidgets-gtk3>=3.2'
'zlib'
)
makedepends=(
'boost'
'clang'
'cmake>=3.21.1'
'cubeb'
'curl'
# 'fmt>=9.1'
'git'
'glib2'
'glm'
'glslang'
'glu'
'gtk3'
'libgcrypt'
'libgl'
'libpng'
'libsecret'
'libzip'
'llvm'
'nasm'
'openssl'
'rapidjson'
'tar'
'unzip'
'vulkan-headers>=1:1.3.225'
'wayland'
'wayland-protocols'
'zarchive>=0.1.2'
'zip'
'zstd'
)
Need to pull all the submodules or vcpkg
will get mad (you might be able to refactor it to include everything besides fmt
? Probably not)
prepare() {
cd $_pkgname
git config submodule.dependencies/imgui.url ../imgui
git -c protocol.file.allow=always submodule update --init --recursive
rm -r bin/shaderCache
sed -i '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt
sed -i '/discord-rpc/d' CMakeLists.txt
sed -i '/FMT_HEADER_ONLY/d' src/Common/precompiled.h
sed -i 's/glm::glm/glm/' src/{Common,input}/CMakeLists.txt
}
The if-check to both start using vcpkg
and better account for using clang+LLVM if users have set clang in makepkg.conf
if [ "${CC} = "gcc" ] || [ "${CC} = "/usr/bin/gcc" ]; then
cmake -S $_pkgname -B build \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="/usr/bin/g++" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG" \
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
-DCMAKE_MAKE_PROGRAM="make" \
-DPORTABLE=OFF \
-Wno-dev
cmake --build build
elif [ "${CC} = "clang" ] || [ "${CC} = "/usr/bin/clang" ]; then
cmake -S $_pkgname -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="/usr/bin/clang++" \
-DCMAKE_C_FLAGS_RELEASE="${CFLAGS} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -DNDEBUG" \
-DCMAKE_EXE_LINKER_FLAGS="-lc++abi ${LDFLAGS}" \
-DCMAKE_AR="/usr/bin/llvm-ar" \
-DCMAKE_NM="/usr/bin/llvm-nm" \
-DCMAKE_AS="/usr/bin/llvm-as" \
-DCMAKE_RANLIB="/usr/bin/llvm-ranlib" \
-DCMAKE_OBJCOPY="/usr/bin/llvm-objcopy" \
-DCMAKE_MAKE_PROGRAM="make" \
-DPORTABLE=OFF \
-Wno-dev
cmake --build build
fi
Pinned Comments
abouvier commented on 2022-10-12 17:50 (UTC)
Data and config files previously stored in
~/.local/share/cemu
are now searched in~/.config/Cemu
,~/.local/share/Cemu
and~/.cache/Cemu
.