cmake_minimum_required(VERSION 3.19) set(CMAKE_POLICY_DEFAULT_CMP0110 NEW) # requires CMake 3.19 if(BUILDCORE_TARGET STREQUAL "gba") project(nostalgia ASM CXX) elseif(APPLE) project(nostalgia C CXX OBJC OBJCXX) else() project(nostalgia C CXX) endif() include(deps/buildcore/base.cmake) set(NOSTALGIA_BUILD_PLAYER ON CACHE BOOL "Build Player") set(NOSTALGIA_BUILD_STUDIO ON CACHE BOOL "Build Studio") set(OX_ENABLE_TRACEHOOK OFF CACHE BOOL "Generate OxTraceHook shared library for uprobes") if(BUILDCORE_TARGET STREQUAL "gba") set(NOSTALGIA_BUILD_STUDIO OFF) set(TURBINE_BUILD_TYPE "GBA") include(deps/gbabuildcore/base.cmake) else() set(TURBINE_BUILD_TYPE "Native") set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) if(APPLE) set(CMAKE_MACOSX_RPATH OFF) set(CMAKE_INSTALL_NAME_DIR "@executable_path/../Library/nostalgia") set(NOSTALGIA_DIST_BIN nostalgia-studio.app/Contents/MacOS) set(NOSTALGIA_DIST_LIB nostalgia-studio.app/Contents/Library) set(NOSTALGIA_DIST_MODULE nostalgia-studio.app/Contents/Plugins) set(NOSTALGIA_DIST_RESOURCES nostalgia-studio.app/Contents/Resources) set(NOSTALGIA_DIST_MAC_APP_CONTENTS nostalgia-studio.app/Contents) else() if(UNIX) set(BUILD_SHARED_LIBS ON) endif() set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib") set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) set(NOSTALGIA_DIST_BIN bin) set(NOSTALGIA_DIST_LIB lib) set(NOSTALGIA_DIST_MODULE lib) set(NOSTALGIA_DIST_RESOURCES share) endif() add_subdirectory(deps/ox) include_directories( deps/ox/src ) add_subdirectory(deps/teagba) if(NOT BUILDCORE_TARGET STREQUAL "gba") include_directories( SYSTEM deps/glfw/deps deps/glfw/include deps/imgui deps/imgui/backends deps/nfde/src/include /usr/local/include ) add_subdirectory(deps/glad) set(GLFW_BUILD_EXAMPLES OFF) set(GLFW_BUILD_TESTS OFF) set(GLFW_BUILD_DOCS OFF) add_subdirectory(deps/glfw) add_subdirectory(deps/imgui) add_subdirectory(deps/lodepng) add_subdirectory(deps/nfde) endif() add_subdirectory(src)