From 675a7b73639e4fa4247735d804ecba5e09bdda6a Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Wed, 27 Nov 2019 20:52:28 +0000 Subject: [PATCH] Move RG350/RetroFW/Switch defs to CMake --- .circleci/config.yml | 2 +- CMake/retrofw_defs.cmake | 17 ++++++++ CMake/rg350_defs.cmake | 30 ++++++++++++++ CMake/switch/switch_defs.cmake | 6 +++ CMakeLists.txt | 14 +++++-- Packaging/OpenDingux/build.sh | 53 ++----------------------- Packaging/switch/build.sh | 9 +---- SourceX/controls/devices/kbcontroller.h | 4 -- 8 files changed, 69 insertions(+), 66 deletions(-) create mode 100644 CMake/retrofw_defs.cmake create mode 100644 CMake/rg350_defs.cmake create mode 100644 CMake/switch/switch_defs.cmake diff --git a/.circleci/config.yml b/.circleci/config.yml index fa8de0033..bfa6c23ab 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -69,7 +69,7 @@ jobs: - run: dkp-pacman -Syu --noconfirm # Install cmake files (https://github.com/devkitPro/docker/issues/3) - run: dkp-pacman -S --needed --noconfirm --quiet devkitpro-pkgbuild-helpers - - run: cd build && cmake .. -DBINARY_RELEASE=ON -DNONET=ON -DPREFILL_PLAYER_NAME=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/switch/devkita64-libnx.cmake + - run: cd build && cmake .. -DBINARY_RELEASE=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/switch/devkita64-libnx.cmake - run: cd build && cmake --build . -j $(nproc) - store_artifacts: {path: ./build/devilutionx.nro, destination: devilutionx.nro} diff --git a/CMake/retrofw_defs.cmake b/CMake/retrofw_defs.cmake new file mode 100644 index 000000000..cf99b54be --- /dev/null +++ b/CMake/retrofw_defs.cmake @@ -0,0 +1,17 @@ +set(sodium_USE_STATIC_LIBS ON) +set(USE_SDL1 ON) +set(HAS_KBCTRL 1) +set(KBCTRL_BUTTON_DPAD_LEFT SDLK_LEFT) +set(KBCTRL_BUTTON_DPAD_RIGHT SDLK_RIGHT) +set(KBCTRL_BUTTON_DPAD_UP SDLK_UP) +set(KBCTRL_BUTTON_DPAD_DOWN SDLK_DOWN) +set(KBCTRL_BUTTON_B SDLK_LCTRL) +set(KBCTRL_BUTTON_A SDLK_LALT) +set(KBCTRL_BUTTON_Y SDLK_SPACE) +set(KBCTRL_BUTTON_X SDLK_LSHIFT) +set(KBCTRL_BUTTON_RIGHTSHOULDER SDLK_BACKSPACE) +set(KBCTRL_BUTTON_LEFTSHOULDER SDLK_TAB) +set(KBCTRL_BUTTON_START SDLK_RETURN) +set(KBCTRL_BUTTON_LEFTSTICK SDLK_END) # Suspend +set(KBCTRL_MODIFIER_KEY SDLK_ESCAPE) # Select +set(KBCTRL_IGNORE_1 SDLK_3) # Backlight diff --git a/CMake/rg350_defs.cmake b/CMake/rg350_defs.cmake new file mode 100644 index 000000000..0ffceb19d --- /dev/null +++ b/CMake/rg350_defs.cmake @@ -0,0 +1,30 @@ +set(sodium_USE_STATIC_LIBS ON) +set(NONET ON) +set(USE_SDL1 ON) +set(SDL1_VIDEO_MODE_BPP 15) # BGR +set(SDL1_VIDEO_MODE_FLAGS SDL_HWSURFACE) +set(PREFILL_PLAYER_NAME ON) +set(JOY_AXIS_LEFTX 0) +set(JOY_AXIS_LEFTY 1) +set(JOY_AXIS_RIGHTX 2) +set(JOY_AXIS_RIGHTY 3) +set(JOY_HAT_DPAD_UP_HAT 0) +set(JOY_HAT_DPAD_UP 1) +set(JOY_HAT_DPAD_DOWN_HAT 0) +set(JOY_HAT_DPAD_DOWN 4) +set(JOY_HAT_DPAD_LEFT_HAT 0) +set(JOY_HAT_DPAD_LEFT 8) +set(JOY_HAT_DPAD_RIGHT_HAT 0) +set(JOY_HAT_DPAD_RIGHT 2) +set(JOY_BUTTON_A 0) +set(JOY_BUTTON_B 1) +set(JOY_BUTTON_Y 2) +set(JOY_BUTTON_X 3) +set(JOY_BUTTON_LEFTSTICK 10) +set(JOY_BUTTON_RIGHTSTICK 11) +set(JOY_BUTTON_RIGHTSHOULDER 5) +set(JOY_BUTTON_LEFTSHOULDER 4) +set(JOY_BUTTON_TRIGGERLEFT 6) +set(JOY_BUTTON_TRIGGERRIGHT 7) +set(JOY_BUTTON_START 9) +set(JOY_BUTTON_BACK 8) diff --git a/CMake/switch/switch_defs.cmake b/CMake/switch/switch_defs.cmake new file mode 100644 index 000000000..2f1b1a86b --- /dev/null +++ b/CMake/switch/switch_defs.cmake @@ -0,0 +1,6 @@ +set(NONET ON) +set(PREFILL_PLAYER_NAME ON) +set(JOY_BUTTON_DPAD_LEFT 16) +set(JOY_BUTTON_DPAD_UP 17) +set(JOY_BUTTON_DPAD_RIGHT 18) +set(JOY_BUTTON_DPAD_DOWN 19) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3deceadac..085b4c49c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,15 @@ if(SWITCH) list(APPEND CMAKE_MODULE_PATH "${DevilutionX_SOURCE_DIR}/CMake/switch") find_package(LIBNX REQUIRED) + include(switch_defs) +endif() + +if(RG350) + include(rg350_defs) +endif() + +if(RETROFW) + include(retrofw_defs) endif() if(${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD OR ${CMAKE_SYSTEM_NAME} STREQUAL OpenBSD) @@ -89,7 +98,7 @@ if(HAIKU) set(ASAN OFF) endif() -if(DIST OR DINGUX) +if(DIST) set(sodium_USE_STATIC_LIBS ON) endif() @@ -323,7 +332,6 @@ foreach( def_name SPAWN NONET - DINGUX RETROFW PREFILL_PLAYER_NAME ) @@ -513,6 +521,6 @@ if(SWITCH) build_switch_binaries(${BIN_TARGET}) endif() -if(DINGUX) +if(RETROFW OR RG350) set_target_properties(${BIN_TARGET} PROPERTIES OUTPUT_NAME "devilutionx.dge") endif() diff --git a/Packaging/OpenDingux/build.sh b/Packaging/OpenDingux/build.sh index 668abc620..3287c899d 100755 --- a/Packaging/OpenDingux/build.sh +++ b/Packaging/OpenDingux/build.sh @@ -78,58 +78,11 @@ build() { cd ../../build rm -f CMakeCache.txt - local -a defs=(-DDINGUX=ON -DBINARY_RELEASE=ON -DPREFILL_PLAYER_NAME=ON) + local -a defs=(-DBINARY_RELEASE=ON) if [[ "$TARGET" == "rg350" ]]; then - defs+=( - -DNONET=ON - -DUSE_SDL1=1 - -DSDL1_VIDEO_MODE_BPP=15 # BGR - -DSDL1_VIDEO_MODE_FLAGS=SDL_HWSURFACE - -DJOY_AXIS_LEFTX=0 - -DJOY_AXIS_LEFTY=1 - -DJOY_AXIS_RIGHTX=2 - -DJOY_AXIS_RIGHTY=3 - -DJOY_HAT_DPAD_UP_HAT=0 - -DJOY_HAT_DPAD_UP=1 - -DJOY_HAT_DPAD_DOWN_HAT=0 - -DJOY_HAT_DPAD_DOWN=4 - -DJOY_HAT_DPAD_LEFT_HAT=0 - -DJOY_HAT_DPAD_LEFT=8 - -DJOY_HAT_DPAD_RIGHT_HAT=0 - -DJOY_HAT_DPAD_RIGHT=2 - -DJOY_BUTTON_A=0 - -DJOY_BUTTON_B=1 - -DJOY_BUTTON_Y=2 - -DJOY_BUTTON_X=3 - -DJOY_BUTTON_LEFTSTICK=10 - -DJOY_BUTTON_RIGHTSTICK=11 - -DJOY_BUTTON_RIGHTSHOULDER=5 - -DJOY_BUTTON_LEFTSHOULDER=4 - -DJOY_BUTTON_TRIGGERLEFT=6 - -DJOY_BUTTON_TRIGGERRIGHT=7 - -DJOY_BUTTON_START=9 - -DJOY_BUTTON_BACK=8 - ) + defs+=(-DRG350=ON) else # retrofw - defs+=( - -DUSE_SDL1=ON - -DRETROFW=ON - -DHAS_KBCTRL=1 - -DKBCTRL_BUTTON_DPAD_LEFT=SDLK_LEFT - -DKBCTRL_BUTTON_DPAD_RIGHT=SDLK_RIGHT - -DKBCTRL_BUTTON_DPAD_UP=SDLK_UP - -DKBCTRL_BUTTON_DPAD_DOWN=SDLK_DOWN - -DKBCTRL_BUTTON_B=SDLK_LCTRL - -DKBCTRL_BUTTON_A=SDLK_LALT - -DKBCTRL_BUTTON_Y=SDLK_SPACE - -DKBCTRL_BUTTON_X=SDLK_LSHIFT - -DKBCTRL_BUTTON_RIGHTSHOULDER=SDLK_BACKSPACE - -DKBCTRL_BUTTON_LEFTSHOULDER=SDLK_TAB - -DKBCTRL_BUTTON_START=SDLK_RETURN - -DKBCTRL_BUTTON_LEFTSTICK=SDLK_END # Suspend - -DKBCTRL_MODIFIER_KEY=SDLK_ESCAPE # Select - -DKBCTRL_IGNORE_1=SDLK_3 # Backlight - ) + defs+=(-DRETROFW=ON) fi cmake .. ${defs[@]} \ -DCMAKE_TOOLCHAIN_FILE="$BUILDROOT/output/host/usr/share/buildroot/toolchainfile.cmake" diff --git a/Packaging/switch/build.sh b/Packaging/switch/build.sh index c60fd1f17..38f19b5cf 100755 --- a/Packaging/switch/build.sh +++ b/Packaging/switch/build.sh @@ -18,14 +18,7 @@ build() { mkdir -p ../../build cd ../../build rm -f CMakeCache.txt - DEVKITPRO="$DEVKITPRO" cmake .. \ - -DJOY_BUTTON_DPAD_LEFT=16 \ - -DJOY_BUTTON_DPAD_UP=17 \ - -DJOY_BUTTON_DPAD_RIGHT=18 \ - -DJOY_BUTTON_DPAD_DOWN=19 \ - -DBINARY_RELEASE=ON \ - -DNONET=ON \ - -DPREFILL_PLAYER_NAME=ON \ + DEVKITPRO="$DEVKITPRO" cmake .. -DBINARY_RELEASE=ON \ -DCMAKE_TOOLCHAIN_FILE=../CMake/switch/devkita64-libnx.cmake DEVKITPRO="$DEVKITPRO" make -j "$(getconf _NPROCESSORS_ONLN)" cd - diff --git a/SourceX/controls/devices/kbcontroller.h b/SourceX/controls/devices/kbcontroller.h index 7bf75c9f5..0c38fd9b3 100644 --- a/SourceX/controls/devices/kbcontroller.h +++ b/SourceX/controls/devices/kbcontroller.h @@ -5,10 +5,6 @@ #define HAS_KBCTRL 0 #endif -#if defined(RETROFW) -#define HAS_KBCTRL 1 -#endif - #if HAS_KBCTRL == 1 #include #include "controls/controller_buttons.h"