Files
ox/src/nostalgia/core/CMakeLists.txt
T
2022-07-09 21:42:26 -05:00

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
)