From 448cc6505ee515695f7d1ae3b789ecc29eaddff1 Mon Sep 17 00:00:00 2001 From: Stephanie Gawroriski Date: Tue, 25 Jun 2024 17:18:28 -0400 Subject: [PATCH] Build fixes, hopefully, for RetroArch. --- CMakeLists.txt | 7 +++++++ libretroBuildSystem/CMakeLists.txt | 13 +++++++++++-- src/CMakeLists.txt | 8 +++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b4d28aa..7abaa94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,13 @@ else() set(MU_ARM ON) endif() +# RetroArch must be static +if(DJGPP OR PLATFORM_PSP OR PSP) + set(MU_LIBRETRO_OBJECT_LIB ON) +else() + set(MU_LIBRETRO_OBJECT_LIB OFF) +endif() + # Where should dynamic libraries go when output? if(NOT DEFINED MU_DYLIB_OUTPUT_DIR) set(MU_DYLIB_OUTPUT_DIR diff --git a/libretroBuildSystem/CMakeLists.txt b/libretroBuildSystem/CMakeLists.txt index 4626052..ab489fe 100644 --- a/libretroBuildSystem/CMakeLists.txt +++ b/libretroBuildSystem/CMakeLists.txt @@ -1,4 +1,11 @@ +if(MU_LIBRETRO_OBJECT_LIB) + set(MU_LIBRETRO_OBJECT_LIB_USE $) +else() + set(MU_LIBRETRO_OBJECT_LIB_USE) +endif() + add_library(mu_libretro SHARED + ${MU_LIBRETRO_OBJECT_LIB_USE} libretro.c cursors.c miniz.c @@ -15,8 +22,10 @@ add_library(mu_libretro SHARED set_target_properties(mu_libretro PROPERTIES PREFIX "") # Bring all the sub-modules as needed -target_link_libraries(mu_libretro - MuCore) +if(NOT MU_LIBRETRO_OBJECT_LIB) + target_link_libraries(mu_libretro + MuCore) +endif() # Include the required includes target_include_directories(mu_libretro PUBLIC diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a41a7f4..65ca79a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,11 @@ +if(MU_LIBRETRO_OBJECT_LIB) + set(MU_CORE_BUILD_TYPE OBJECT) +else() + set(MU_CORE_BUILD_TYPE STATIC) +endif() + # Base Mu library -add_library(MuCore STATIC +add_library(MuCore ${MU_CORE_BUILD_TYPE} ads7846.c dbvz.c emulator.c