2019-12-31 21:02:35 +01:00
|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
|
|
|
|
set(CMAKE_MODULE_PATH
|
2019-11-19 13:16:29 +00:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../../deps/Dependencies/cmake-modules
|
2019-12-31 21:02:35 +01:00
|
|
|
${CMAKE_MODULE_PATH}
|
|
|
|
)
|
|
|
|
include(Header)
|
|
|
|
|
|
|
|
project(Play_Libretro_Core)
|
|
|
|
|
|
|
|
add_definitions(-DPLAY_VERSION="${PROJECT_Version}")
|
|
|
|
|
2024-10-22 11:11:49 +01:00
|
|
|
if(NOT TARGET ui_shared)
|
|
|
|
add_subdirectory(
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../ui_shared
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/ui_shared
|
|
|
|
)
|
|
|
|
endif()
|
2025-03-11 09:06:27 -04:00
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS ui_shared)
|
2024-10-22 11:11:49 +01:00
|
|
|
|
2019-12-31 21:02:35 +01:00
|
|
|
if(NOT TARGET PlayCore)
|
|
|
|
add_subdirectory(
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/Source
|
|
|
|
)
|
|
|
|
endif()
|
2025-03-11 09:06:27 -04:00
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS PlayCore)
|
2019-12-31 21:02:35 +01:00
|
|
|
|
|
|
|
if(NOT TARGET gsh_opengl)
|
|
|
|
add_subdirectory(
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../gs/GSH_OpenGL
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/gs/GSH_OpenGL
|
|
|
|
)
|
|
|
|
endif()
|
2025-03-11 09:06:27 -04:00
|
|
|
list(INSERT UI_LIBRETRO_PROJECT_LIBS 0 gsh_opengl)
|
2019-12-31 21:02:35 +01:00
|
|
|
|
|
|
|
set(SRC
|
|
|
|
main_libretro.cpp
|
|
|
|
GSH_OpenGL_Libretro.cpp
|
|
|
|
GSH_OpenGL_Libretro.h
|
|
|
|
PH_Libretro_Input.cpp
|
|
|
|
PH_Libretro_Input.h
|
2019-06-27 18:39:42 +01:00
|
|
|
SH_LibreAudio.cpp
|
2019-12-31 21:02:35 +01:00
|
|
|
SH_LibreAudio.h
|
|
|
|
)
|
|
|
|
|
2019-06-27 18:39:42 +01:00
|
|
|
if(TARGET_PLATFORM_ANDROID)
|
2025-03-11 09:06:27 -04:00
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS android log GLESv3 EGL)
|
2019-06-27 18:39:42 +01:00
|
|
|
elseif(TARGET_PLATFORM_IOS)
|
2025-03-11 09:06:27 -04:00
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS "-ObjC -lsqlite3 -framework OpenGLES")
|
2020-03-07 14:06:55 +00:00
|
|
|
elseif(TARGET_PLATFORM_UNIX)
|
2025-03-11 09:06:27 -04:00
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS "-static-libgcc")
|
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS "-static-libstdc++")
|
2019-12-31 21:02:35 +01:00
|
|
|
endif()
|
|
|
|
|
2020-04-29 21:23:15 -07:00
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lstdc++fs")
|
2025-03-11 09:06:27 -04:00
|
|
|
list(APPEND UI_LIBRETRO_PROJECT_LIBS "libstdc++fs.a")
|
2020-04-29 21:23:15 -07:00
|
|
|
endif()
|
|
|
|
|
2019-12-31 21:02:35 +01:00
|
|
|
add_library(play_libretro SHARED ${SRC})
|
|
|
|
target_include_directories(play_libretro PRIVATE
|
|
|
|
./
|
|
|
|
../../
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
)
|
2019-06-25 12:24:41 +01:00
|
|
|
|
2019-07-05 23:13:27 +01:00
|
|
|
if(TARGET_PLATFORM_ANDROID)
|
|
|
|
set_target_properties(play_libretro PROPERTIES SUFFIX "_android.so")
|
|
|
|
endif()
|
2019-07-07 00:03:40 +01:00
|
|
|
if(TARGET_PLATFORM_IOS)
|
2024-03-07 00:53:29 -05:00
|
|
|
if(IOS_PLATFORM STREQUAL "TVOS")
|
|
|
|
set_target_properties(play_libretro PROPERTIES SUFFIX "_tvos.dylib")
|
|
|
|
else()
|
|
|
|
set_target_properties(play_libretro PROPERTIES SUFFIX "_ios.dylib")
|
|
|
|
endif()
|
2019-07-07 00:03:40 +01:00
|
|
|
endif()
|
2019-07-05 23:13:27 +01:00
|
|
|
|
2025-03-11 09:06:27 -04:00
|
|
|
target_link_libraries(play_libretro ${UI_LIBRETRO_PROJECT_LIBS})
|
2019-06-25 12:24:41 +01:00
|
|
|
set_target_properties(play_libretro PROPERTIES PREFIX "")
|