cmake_minimum_required(VERSION 3.18) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/Dependencies/cmake-modules ${CMAKE_MODULE_PATH} ) project(ui_shared) if(NOT TARGET Framework_Sqlite) add_subdirectory( ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/Framework/build_cmake/FrameworkSqlite ${CMAKE_CURRENT_BINARY_DIR}/FrameworkSqlite ) endif() list(APPEND SHARED_UI_PROJECT_LIBS Framework_Sqlite) if(NOT TARGET Framework_Http) add_subdirectory( ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/Framework/build_cmake/FrameworkHttp ${CMAKE_CURRENT_BINARY_DIR}/FrameworkHttp ) endif() list(APPEND SHARED_UI_PROJECT_LIBS Framework_Http) find_package(nlohmann_json QUIET) if(NOT nlohmann_json_FOUND) MESSAGE("-- Using Provided nlohmann_json source") if(NOT TARGET nlohmann_json) add_subdirectory( ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/Dependencies/nlohmann_json ${CMAKE_CURRENT_BINARY_DIR}/nlohmann_json EXCLUDE_FROM_ALL ) endif() list(APPEND SHARED_UI_PROJECT_LIBS nlohmann_json) else() MESSAGE("-- Using System nlohmann_json source") list(APPEND SHARED_UI_PROJECT_LIBS nlohmann_json::nlohmann_json) endif() if(NOT TARGET PlayCore) add_subdirectory( ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/Source ) endif() list(APPEND SHARED_UI_PROJECT_LIBS PlayCore) set(SHARED_UI_SRC_FILES arcadedrivers/ArcadeDriver.h arcadedrivers/NamcoSys147Driver.cpp arcadedrivers/NamcoSys147Driver.h arcadedrivers/NamcoSys246Driver.cpp arcadedrivers/NamcoSys246Driver.h ArcadeDefinition.h ArcadeUtils.cpp ArcadeUtils.h BootablesDbClient.cpp BootablesDbClient.h BootablesProcesses.cpp BootablesProcesses.h BootableUtils.cpp BootableUtils.h TheGamesDbClient.cpp TheGamesDbClient.h StatsManager.cpp StatsManager.h ) if(ENABLE_AMAZON_S3) set(SHARED_UI_SRC_FILES ${SHARED_UI_SRC_FILES} AmazonS3Utils.cpp AmazonS3Utils.h ) endif() add_library(ui_shared STATIC ${SHARED_UI_SRC_FILES}) target_link_libraries(ui_shared ${SHARED_UI_PROJECT_LIBS}) target_include_directories(ui_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..)