daid / EmptyEpsilon

Open source bridge simulator. Build with the SeriousProton engine.
https://daid.github.io/EmptyEpsilon/
GNU General Public License v2.0
530 stars 181 forks source link

compilation issue with ninja package using the wiki instructions. #2210

Open gwaland opened 4 hours ago

gwaland commented 4 hours ago

While attempting to build a Debian package using the ninja package command from the wiki I've run into this error:

`~/buildtest/EmptyEpsilon/_build$ ninja package [0/1] Run CPack packaging tool... CPack: Create package using DEB CPack: Install projects CPack: - Install project: EmptyEpsilon [] CMake Error at /home/gwaland/buildtest/EmptyEpsilon/_build/cmake_install.cmake:82 (file): file INSTALL cannot find "/home/gwaland/buildtest/EmptyEpsilon/io.github.daid.EmptyEpsilon.metainfo.xml": No such file or directory.

CPack Error: Error when generating package: EmptyEpsilon FAILED: CMakeFiles/package.util cd /home/gwaland/buildtest/EmptyEpsilon/_build && /usr/bin/cpack --config ./CPackConfig.cmake ninja: build stopped: subcommand failed.`

I can work around this by making a symlink to the xml file that's created in the _build directory to the root of the codebase: ln -sf io.github.daid.EmptyEpsilon.metainfo.xml ../io.github.daid.EmptyEpsilon.metainfo.xml

I'm thinking there may be something in the cmake.list changes made for the flatpack packaging that is causing this.

gwaland commented 3 hours ago

I'm pretty sure this line is the culprit. https://github.com/daid/EmptyEpsilon/blob/b9223f90171a8ef150b94150222d8ed0747e1165/CMakeLists.txt#L750

I'm testing modifying it to this: configure_file(io.github.daid.EmptyEpsilon.metainfo.xml.in ${PROJECT_SOURCE_DIR}/io.github.daid.EmptyEpsilon.metainfo.xml)

I think this will allow it to build the way I'm expecting and also allow for people to build in the root path which is what the configuration apppears to expect.