51 lines
854 B
CMake
51 lines
854 B
CMake
cmake_minimum_required(VERSION 3.2)
|
|
|
|
add_subdirectory(tests)
|
|
|
|
project(pix-draw-studio
|
|
VERSION 0.0.0
|
|
LANGUAGES CXX
|
|
)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTOUI ON)
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets OpenGLWidgets)
|
|
qt_standard_project_setup()
|
|
|
|
add_library(pixlib OBJECT
|
|
# keys
|
|
src/keys/KeyMod.cpp
|
|
src/keys/Shortcut.cpp
|
|
|
|
# cmd
|
|
src/cmd/Command.cpp
|
|
src/cmd/ShortcutListener.cpp
|
|
)
|
|
|
|
qt_add_executable(pixdraw
|
|
# entrypoint
|
|
src/main.cpp
|
|
src/Presenter.cpp
|
|
|
|
# gui
|
|
src/gui/Window.hpp
|
|
src/gui/Window.cpp
|
|
src/gui/window.ui
|
|
)
|
|
|
|
install(TARGETS pixdraw)
|
|
|
|
target_compile_options(pixdraw
|
|
PRIVATE $<$<CONFIG:Debug>: -Wall -Wextra -g>)
|
|
|
|
target_link_libraries(pixdraw PRIVATE
|
|
Qt6::Core
|
|
Qt6::Gui
|
|
Qt6::Widgets
|
|
Qt6::OpenGLWidgets
|
|
$<TARGET_OBJECTS:pixlib>
|
|
)
|