add_library( NostalgiaCore-Common OBJECT gfx.cpp module.cpp typestore.cpp ) add_library( NostalgiaCore-Headless headless/core.cpp headless/gfx.cpp ) add_library(NostalgiaCore) if(NOT NOSTALGIA_BUILD_TYPE STREQUAL "GBA") target_sources( NostalgiaCore PRIVATE glfw/clipboard.cpp glfw/core.cpp glfw/gfx.cpp userland/gfx.cpp userland/gfx_opengl.cpp ) target_link_libraries( NostalgiaCore PUBLIC glad glfw imgui OxEvent NostalgiaGlUtils ) else() enable_language(CXX ASM) set_source_files_properties(core.arm.cpp irq.arm.cpp PROPERTIES COMPILE_FLAGS -marm) target_sources( NostalgiaCore PRIVATE gba/bios.s gba/core.arm.cpp gba/core.cpp gba/gfx.cpp gba/irq.arm.cpp gba/irq.s gba/panic.cpp ) target_link_libraries( NostalgiaCore PUBLIC GbaStartup ) endif() if(NOT MSVC) target_compile_options(NostalgiaCore-Common PUBLIC -Wsign-conversion) endif() target_link_libraries( NostalgiaCore-Common PUBLIC NostalgiaFoundation ) target_link_libraries( NostalgiaCore PUBLIC NostalgiaCore-Common ) target_link_libraries( NostalgiaCore-Headless PUBLIC NostalgiaCore-Common ) if(NOSTALGIA_BUILD_STUDIO) add_subdirectory(studio) endif() install( FILES clipboard.hpp color.hpp config.hpp consts.hpp context.hpp core.hpp event.hpp gfx.hpp input.hpp typeconv.hpp typestore.hpp DESTINATION include/nostalgia/core ) install( TARGETS NostalgiaCore NostalgiaCore-Headless DESTINATION LIBRARY DESTINATION lib/nostalgia ARCHIVE DESTINATION lib/nostalgia )