cmake_minimum_required(VERSION 3.16) if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) if(DEFINED ENV{VITASDK}) set(CMAKE_TOOLCHAIN_FILE "$ENV{VITASDK}/share/vita.toolchain.cmake" CACHE PATH "toolchain file") else() message(FATAL_ERROR "Please define VITASDK to point to your SDK path!") endif() endif() project(subsonic) include("${VITASDK}/share/vita.cmake" REQUIRED) set(VITA_APP_NAME "subsonic") set(VITA_TITLEID "VSDK00023") set(VITA_VERSION "01.00") set(VITA_MKSFOEX_FLAGS "${VITA_MKSFOEX_FLAGS} -d PARENTAL_LEVEL=1") set(VITA_MAKE_FSELF_FLAGS "${VITA_MAKE_FSELF_FLAGS} -a 0x2F00000000000001") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-q -Wall -O3 -fno-inline") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions") find_package(CURL REQUIRED) find_package(OpenSSL REQUIRED) find_package(SDL2 REQUIRED) add_executable(${PROJECT_NAME} src/main.cpp src/lib/debug/debugScreen.c src/subsonic.hpp src/settings.hpp src/lib/dr_mp3.h src/lib/dr_flac.h src/lib/audio.cpp ) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) target_link_libraries(${PROJECT_NAME} SceLibKernel_stub SceDisplay_stub SceAudio_stub SceTouch_stub SceIme_stub ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} c m z jsoncpp SDL2::SDL2 SDL2_ttf SDL2_image webpdemux webp freetype bz2 png pthread ) vita_create_self(subsonic.self ${PROJECT_NAME}) vita_create_vpk(${PROJECT_NAME}.vpk ${VITA_TITLEID} subsonic.self VERSION ${VITA_VERSION} NAME ${VITA_APP_NAME} FILE vpk/Roboto-Regular.ttf Roboto-Regular.ttf FILE vpk/album.jpg album.jpg FILE sce_sys/icon0.png sce_sys/icon0.png FILE sce_sys/livearea/contents/bg.png sce_sys/livearea/contents/bg.png FILE sce_sys/livearea/contents/startup.png sce_sys/livearea/contents/startup.png FILE sce_sys/livearea/contents/template.xml sce_sys/livearea/contents/template.xml )