-
Notifications
You must be signed in to change notification settings - Fork 219
Remove autotools #3229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Remove autotools #3229
Conversation
|
Is there anything important that needs to be added since the last year? Distribution tarballs need to be tested then and we are good to go. |
|
The Jenkins job for Player Linux (PR) must be migrated to CMake. The rest should be fine 👍 |
Right, this uses autotools for the distribution archives... |
|
Could you rebase this to the upstream branch? I currently try to adopt the Jenkins file but is hard to test because the CMake Presets in your branch are too old. Here is my current state of the Jenkins job: # Configure liblcf path
LIBLCF_PATH=$JENKINS_HOME/workspace/liblcf-linux/build/lib/pkgconfig
if [[ -v ghprbPullTitle ]]; then
LIBLCFPR=`echo "${ghprbPullTitle}" | sed -nr 's/.*liblcf\s?#([0-9]+).*/\1/p'`
if [[ "$LIBLCFPR" ]]; then
LIBLCF_PATH=$JENKINS_HOME/workspace/liblcf-linux-pr/build/pr$LIBLCFPR/lib/pkgconfig
fi
fi
# set version string
VER="(PR$ghprbPullId, $(date +%Y-%m-%d))"
# Configure build vars
export EASYRPG_BUILDSCRIPTS="$JENKINS_HOME/workspace/toolchain-linux-static"
cmake --preset linux-debug \
-DCMAKE_CXX_FLAGS="-Wall -Wextra -O0 -g3 -pipe" \
-DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_INSTALL_PREFIX="$PWD/build" \
-DCMAKE_PREFIX_PATH="$LIBLCF_PATH" \
-DPLAYER_VERSION_APPEND="$VER" \
--fresh
cmake --build --preset linux-debug
cmake --build --preset linux-debug --target install
# source dist
builds/make-dist.sh
mv easyrpg-player-*.*.tar.gz easyrpg-player-PR${ghprbPullId}.tar.gz
# separate debug information
cp -up build/linux-debug/easyrpg-player easyrpg-player
objcopy --only-keep-debug easyrpg-player easyrpg-player.debug
strip --strip-debug --strip-unneeded easyrpg-player
objcopy --add-gnu-debuglink=easyrpg-player.debug easyrpg-player
# binary dist
tar czf easyrpg-player-static-PR${ghprbPullId}.tar.gz easyrpg-player
tar czf easyrpg-player-static-PR${ghprbPullId}_dbgsym.tar.gz easyrpg-player.debugChecking the jenkins jobs (and ignoring iOS as is not being built) only the following still use autotools: |
81fb4d6 to
a6cf958
Compare
|
Rebased. Commit 0ca2920 should be cherry picked soon. |
|
I made a test build on our PR builder. It fails while executing "make-dist" because it cannot find "master": git describe --abbrev=0 --tags master
fatal: Not a valid object name master |
|
Ah, right. Jenkins uses sparse checkouts, is the version set correctly in cmake output? |
|
HEAD appears to work: |
|
@carstene1ns could you rebase again and apply this Lets get rid of the Makefile in January :) |
|
Will do in 2 days or so (when back home) |
Update CMake version finding with prepopulated information
IMO the double lines could be ignored/disabled
09b10a4 to
a2b9931
Compare
We use CMake everywhere important by now. This way we can focus on other stuff than buildsystem woes.