113 lines
1.7 KiB
CMake
113 lines
1.7 KiB
CMake
if(NOT NOSTALGIA_BUILD_TYPE STREQUAL "GBA")
|
|
set(
|
|
NOSTALGIA_CORE_IMPL_SRC
|
|
glfw/clipboard.cpp
|
|
glfw/core.cpp
|
|
glfw/gfx.cpp
|
|
userland/gfx.cpp
|
|
userland/gfx_opengl.cpp
|
|
userland/media.cpp
|
|
)
|
|
set(
|
|
NOSTALGIA_CORE_IMPL_LIBS
|
|
glad
|
|
glfw
|
|
imgui
|
|
OxEvent
|
|
NostalgiaGlUtils
|
|
)
|
|
else()
|
|
enable_language(C ASM)
|
|
set_source_files_properties(core.arm.cpp irq.arm.cpp PROPERTIES COMPILE_FLAGS -marm)
|
|
set(
|
|
NOSTALGIA_CORE_IMPL_SRC
|
|
gba/bios.s
|
|
gba/core.arm.cpp
|
|
gba/core.cpp
|
|
gba/gfx.cpp
|
|
gba/irq.arm.cpp
|
|
gba/irq.s
|
|
gba/media.cpp
|
|
gba/panic.cpp
|
|
)
|
|
set(
|
|
NOSTALGIA_CORE_IMPL_LIBS
|
|
GbaStartup
|
|
OxFS
|
|
OxStd
|
|
)
|
|
endif()
|
|
|
|
add_library(
|
|
NostalgiaCore-Common OBJECT
|
|
gfx.cpp
|
|
media.cpp
|
|
typeconv.cpp
|
|
typestore.cpp
|
|
)
|
|
|
|
add_library(
|
|
NostalgiaCore
|
|
${NOSTALGIA_CORE_IMPL_SRC}
|
|
)
|
|
|
|
add_library(
|
|
NostalgiaCore-Headless
|
|
headless/core.cpp
|
|
headless/gfx.cpp
|
|
headless/media.cpp
|
|
)
|
|
|
|
if(NOT MSVC)
|
|
target_compile_options(NostalgiaCore-Common PUBLIC -Wsign-conversion)
|
|
endif()
|
|
|
|
target_link_libraries(
|
|
NostalgiaCore-Common PUBLIC
|
|
OxClaw
|
|
OxFS
|
|
)
|
|
|
|
target_link_libraries(
|
|
NostalgiaCore PUBLIC
|
|
NostalgiaCore-Common
|
|
${NOSTALGIA_CORE_IMPL_LIBS}
|
|
)
|
|
|
|
target_link_libraries(
|
|
NostalgiaCore-Headless PUBLIC
|
|
NostalgiaCore-Common
|
|
)
|
|
|
|
if(NOSTALGIA_BUILD_STUDIO)
|
|
add_subdirectory(studio)
|
|
endif()
|
|
|
|
install(
|
|
FILES
|
|
assetmanager.hpp
|
|
clipboard.hpp
|
|
color.hpp
|
|
config.hpp
|
|
consts.hpp
|
|
context.hpp
|
|
core.hpp
|
|
event.hpp
|
|
gfx.hpp
|
|
input.hpp
|
|
media.hpp
|
|
typeconv.hpp
|
|
typestore.hpp
|
|
DESTINATION
|
|
include/nostalgia/core
|
|
)
|
|
|
|
install(
|
|
TARGETS
|
|
NostalgiaCore
|
|
NostalgiaCore-Headless
|
|
DESTINATION
|
|
LIBRARY DESTINATION lib/nostalgia
|
|
ARCHIVE DESTINATION lib/nostalgia
|
|
)
|