Files
ox/src/nostalgia/core/CMakeLists.txt
T

100 lines
1.5 KiB
CMake

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
)