quark/quark/CMakeLists.txt
2025-01-03 19:00:43 +01:00

52 lines
901 B
CMake

project(quark CXX)
FetchContent_MakeAvailable(spdlog)
FetchContent_MakeAvailable(glfw3)
add_library(quark SHARED)
target_sources(quark
PRIVATE
src/quark/Entrypoint.cpp
src/quark/Application.cpp
src/quark/Logger.cpp
src/platform/linux/LinuxWindow.cpp
PUBLIC FILE_SET HEADERS
BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src FILES
src/quark.hpp
src/quark/Core.hpp
src/quark/Application.hpp
src/quark/Logger.hpp
src/quark/Window.hpp
src/quark/events/Event.hpp
src/quark/events/ApplicationEvent.hpp
src/quark/events/KeyEvent.hpp
src/quark/events/MouseEvent.hpp
src/platform/linux/LinuxWindow.hpp
)
target_include_directories(quark INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/src)
target_precompile_headers(quark
PRIVATE
src/qkpch.hpp
)
target_link_libraries(quark
spdlog::spdlog
glfw
)
include(GNUInstallDirs)
install(
TARGETS quark
RUNTIME_DEPENDENCIES
LIBRARY
FILE_SET HEADERS
)