cmake: fix sdl3.pc for Nintendo 3DS + add to test matrix
parent
fc72ee5775
commit
0a1479d58c
|
@ -0,0 +1,16 @@
|
||||||
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
project(ci_utils C CXX)
|
||||||
|
|
||||||
|
set(txt "CC=${CMAKE_C_COMPILER}
|
||||||
|
CXX=${CMAKE_CXX_COMPILER}
|
||||||
|
CFLAGS=${CMAKE_C_FLAGS}
|
||||||
|
CXXFLAGS=${CMAKE_CXX_FLAGS}
|
||||||
|
LDFLAGS=${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_C_STANDARD_LIBRARIES}
|
||||||
|
")
|
||||||
|
|
||||||
|
message("${txt}")
|
||||||
|
|
||||||
|
set(VAR_PATH "/tmp/env.txt" CACHE PATH "Where to write environment file")
|
||||||
|
message(STATUS "Writing CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS environment to ${VAR_PATH}")
|
||||||
|
|
||||||
|
file(WRITE "${VAR_PATH}" "${txt}")
|
|
@ -42,5 +42,14 @@ jobs:
|
||||||
-DCMAKE_PREFIX_PATH=${{ env.SDL3_DIR }} \
|
-DCMAKE_PREFIX_PATH=${{ env.SDL3_DIR }} \
|
||||||
-DCMAKE_BUILD_TYPE=Release
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
cmake --build cmake_config_build --verbose
|
cmake --build cmake_config_build --verbose
|
||||||
# Not running test_pkgconfig.sh and test_sdlconfig.sh
|
- name: Extract CC/CXX/CFLAGS/CXXFLAGS from CMake toolchain
|
||||||
# as invoking the compiler manually is not supported
|
run: |
|
||||||
|
cmake -S .github/cmake -B /tmp/cmake_extract \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=${DEVKITPRO}/cmake/3DS.cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DVAR_PATH=/tmp/n3ds_env.txt
|
||||||
|
cat /tmp/n3ds_env.txt >> $GITHUB_ENV
|
||||||
|
- name: Verify sdl3.pc
|
||||||
|
run: |
|
||||||
|
export PKG_CONFIG_PATH=${{ env.SDL3_DIR }}/lib/pkgconfig
|
||||||
|
cmake/test/test_pkgconfig.sh
|
||||||
|
|
|
@ -54,7 +54,7 @@ jobs:
|
||||||
- name: Verify sdl3.pc
|
- name: Verify sdl3.pc
|
||||||
run: |
|
run: |
|
||||||
export CC=mips64r5900el-ps2-elf-gcc
|
export CC=mips64r5900el-ps2-elf-gcc
|
||||||
export EXTRA_LDFLAGS="-L$PS2DEV/ps2sdk/ee/lib -L$PS2DEV/gsKit/lib -L$PS2DEV/ps2sdk/ports/lib"
|
export LDFLAGS="-L$PS2DEV/ps2sdk/ee/lib -L$PS2DEV/gsKit/lib -L$PS2DEV/ps2sdk/ports/lib"
|
||||||
export PKG_CONFIG_PATH=${{ env.SDL3_DIR }}/lib/pkgconfig
|
export PKG_CONFIG_PATH=${{ env.SDL3_DIR }}/lib/pkgconfig
|
||||||
cmake/test/test_pkgconfig.sh
|
cmake/test/test_pkgconfig.sh
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,6 @@ jobs:
|
||||||
- name: Verify sdl3.pc
|
- name: Verify sdl3.pc
|
||||||
run: |
|
run: |
|
||||||
export CC=psp-gcc
|
export CC=psp-gcc
|
||||||
|
export LDFLAGS="-L$PSPDEV/lib -L$PSPDEV/psp/lib -L$PSPDEV/psp/sdk/lib"
|
||||||
export PKG_CONFIG_PATH=${{ env.SDL3_DIR }}/lib/pkgconfig
|
export PKG_CONFIG_PATH=${{ env.SDL3_DIR }}/lib/pkgconfig
|
||||||
export EXTRA_LDFLAGS="-L$PSPDEV/lib -L$PSPDEV/psp/lib -L$PSPDEV/psp/sdk/lib"
|
|
||||||
cmake/test/test_pkgconfig.sh
|
cmake/test/test_pkgconfig.sh
|
||||||
|
|
|
@ -2721,6 +2721,13 @@ elseif(N3DS)
|
||||||
else()
|
else()
|
||||||
message_error("SDL_FILE must be enabled to build on N3DS")
|
message_error("SDL_FILE must be enabled to build on N3DS")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
foreach(lib ${CMAKE_C_STANDARD_LIBRARIES})
|
||||||
|
if(lib MATCHES "^-l")
|
||||||
|
string(SUBSTRING "${lib}" 2 -1 lib)
|
||||||
|
endif()
|
||||||
|
list(APPEND SDL_EXTRA_LIBS ${lib})
|
||||||
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_VULKAN AND NOT SDL_LOADSO)
|
if(HAVE_VULKAN AND NOT SDL_LOADSO)
|
||||||
|
|
|
@ -13,7 +13,7 @@ case "$machine" in
|
||||||
*android* )
|
*android* )
|
||||||
EXEPREFIX="lib"
|
EXEPREFIX="lib"
|
||||||
EXESUFFIX=".so"
|
EXESUFFIX=".so"
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -shared"
|
LDFLAGS="$EXTRA_LDFLAGS -shared"
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
EXEPREFIX=""
|
EXEPREFIX=""
|
||||||
|
@ -25,20 +25,20 @@ set -e
|
||||||
|
|
||||||
# Get the canonical path of the folder containing this script
|
# Get the canonical path of the folder containing this script
|
||||||
testdir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
testdir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
||||||
CFLAGS="$( pkg-config sdl3 --cflags )"
|
SDL_CFLAGS="$( pkg-config sdl3 --cflags )"
|
||||||
LDFLAGS="$( pkg-config sdl3 --libs )"
|
SDL_LDFLAGS="$( pkg-config sdl3 --libs )"
|
||||||
STATIC_LDFLAGS="$( pkg-config sdl3 --libs --static )"
|
SDL_STATIC_LDFLAGS="$( pkg-config sdl3 --libs --static )"
|
||||||
|
|
||||||
compile_cmd="$CC -c "$testdir/main_gui.c" -o main_gui_pkgconfig.c.o $CFLAGS $EXTRA_CFLAGS"
|
compile_cmd="$CC -c "$testdir/main_gui.c" -o main_gui_pkgconfig.c.o $SDL_CFLAGS $CFLAGS"
|
||||||
link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig${EXESUFFIX} $LDFLAGS $EXTRA_LDFLAGS"
|
link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig${EXESUFFIX} $SDL_LDFLAGS $LDFLAGS"
|
||||||
static_link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig_static${EXESUFFIX} $STATIC_LDFLAGS $EXTRA_LDFLAGS"
|
static_link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig_static${EXESUFFIX} $SDL_STATIC_LDFLAGS $LDFLAGS"
|
||||||
|
|
||||||
echo "-- CC: $CC"
|
echo "-- CC: $CC"
|
||||||
echo "-- CFLAGS: $CFLAGS"
|
echo "-- CFLAGS: $CFLAGS"
|
||||||
echo "-- EXTRA_CFLAGS: $EXTRA_CFLAGS"
|
echo "-- LDFLASG: $LDFLAGS"
|
||||||
echo "-- LDFLASG: $LDFLAGS"
|
echo "-- SDL_CFLAGS: $SDL_CFLAGS"
|
||||||
echo "-- STATIC_LDFLAGS: $STATIC_LDFLAGS"
|
echo "-- SDL_LDFLAGS: $SDL_LDFLAGS"
|
||||||
echo "-- EXTRA_LDFLAGS: $EXTRA_LDFLAGS"
|
echo "-- SDL_STATIC_LDFLAGS: $SDL_STATIC_LDFLAGS"
|
||||||
|
|
||||||
echo "-- COMPILE: $compile_cmd"
|
echo "-- COMPILE: $compile_cmd"
|
||||||
echo "-- LINK: $link_cmd"
|
echo "-- LINK: $link_cmd"
|
||||||
|
|
Loading…
Reference in New Issue