Play-/Source/ui_libretro/CMakeLists.txt

81 lines
2.1 KiB
Text
Raw Permalink Normal View History

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()
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()
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()
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)
list(APPEND UI_LIBRETRO_PROJECT_LIBS android log GLESv3 EGL)
2019-06-27 18:39:42 +01:00
elseif(TARGET_PLATFORM_IOS)
list(APPEND UI_LIBRETRO_PROJECT_LIBS "-ObjC -lsqlite3 -framework OpenGLES")
elseif(TARGET_PLATFORM_UNIX)
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()
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")
list(APPEND UI_LIBRETRO_PROJECT_LIBS "libstdc++fs.a")
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
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()
target_link_libraries(play_libretro ${UI_LIBRETRO_PROJECT_LIBS})
2019-06-25 12:24:41 +01:00
set_target_properties(play_libretro PROPERTIES PREFIX "")