cmake_minimum_required(VERSION 3.22)
project(caligochaser CXX C)
set(CMAKE_CXX_STANDARD 20)
set(T "${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party" CACHE PATH "folder with SDL2-2.30.9, dynarmic, boost-inc (Boost headers), stb, miniz (pass e.g. -DT=C:/caligo-chaser-build/third_party)")
set(SDL_STATIC OFF CACHE BOOL "" FORCE)
set(SDL_TEST OFF CACHE BOOL "" FORCE)
add_subdirectory("${T}/SDL2-2.30.9" SDL2)
set(DYNARMIC_FRONTENDS "A32" CACHE STRING "" FORCE)
set(DYNARMIC_TESTS OFF CACHE BOOL "" FORCE)
set(DYNARMIC_USE_BUNDLED_EXTERNALS ON CACHE BOOL "" FORCE)
set(DYNARMIC_WARNINGS_AS_ERRORS OFF CACHE BOOL "" FORCE)
set(DYNARMIC_USE_PRECOMPILED_HEADERS OFF CACHE BOOL "" FORCE)
set(BOOST_ROOT "${T}/boost-inc" CACHE PATH "" FORCE)
set(Boost_INCLUDE_DIR "${T}/boost-inc" CACHE PATH "" FORCE)
add_subdirectory("${T}/dynarmic" dynarmic EXCLUDE_FROM_ALL)
add_library(main SHARED ../../../src/main.cpp "${T}/stb/stb_vorbis.c" "${T}/miniz/miniz.c")
target_include_directories(main PRIVATE ../../../src "${T}/stb" "${T}/miniz" "${T}/SDL2-2.30.9/include")
target_compile_options(main PRIVATE -O3 -fno-strict-aliasing -Wno-everything)
target_link_libraries(main SDL2 dynarmic log android)