quark/quark/CMakeLists.txt
2025-01-07 20:27:28 +01:00

73 lines
1.2 KiB
CMake

project(quark CXX)
FetchContent_MakeAvailable(spdlog glfw3)
add_subdirectory(vendor)
add_library(quark STATIC)
target_sources(quark
PRIVATE
src/quark/Entrypoint.cpp
src/quark/Application.cpp
src/quark/Logger.cpp
src/quark/LayerStack.cpp
src/quark/IoTranslate.cpp
src/platform/linux/LinuxWindow.cpp
src/platform/linux/LinuxInput.cpp
src/quark/imgui/ImGuiLayer.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/Layer.hpp
src/quark/LayerStack.hpp
src/quark/Input.hpp
src/quark/KeyCodes.hpp
src/quark/MouseButtonCodes.hpp
src/quark/IoTranslate.hpp
src/quark/events/Event.hpp
src/quark/events/ApplicationEvent.hpp
src/quark/events/KeyEvent.hpp
src/quark/events/MouseEvent.hpp
src/quark/imgui/ImGuiLayer.hpp
)
target_include_directories(quark INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/src)
target_precompile_headers(quark
PRIVATE
src/qkpch.hpp
)
target_compile_definitions(quark
PUBLIC GLFW_INCLUDE_NONE
)
target_link_libraries(quark
PRIVATE
glad
glfw
PUBLIC
spdlog::spdlog
imgui
glm
)
include(GNUInstallDirs)
install(
TARGETS quark
RUNTIME_DEPENDENCIES
LIBRARY
FILE_SET HEADERS
)