@@ -5,34 +5,34 @@ set(CMAKE_CXX_STANDARD 17)
55set (CMAKE_CXX_STANDARD_REQUIRED ON )
66set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
77
8- # Include custom find modules
98list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /src/cmake" )
109
11- # Google Test
1210include (FetchContent )
1311FetchContent_Declare (
1412 googletest
1513 URL https://github.com/google/googletest/archive/v1.13.0.zip
1614)
1715FetchContent_MakeAvailable (googletest)
1816
19- # Core library (math, types, no graphics dependencies)
2017add_library (convoy_core )
2118target_include_directories (convoy_core PUBLIC
2219 ${CMAKE_CURRENT_SOURCE_DIR} /src
2320)
2421
25- # Try to find graphics dependencies (optional for core)
2622find_package (GLFW3 3.4 QUIET )
2723find_package (OpenGL QUIET )
2824find_package (GLAD QUIET )
2925find_package (ImGui QUIET )
3026
31- # Only add window_manager if graphics deps are found
3227if (GLFW3_FOUND AND OpenGL_FOUND AND GLAD_FOUND AND ImGui_FOUND)
3328 target_sources (convoy_core PRIVATE
3429 src/core/window_manager.cpp
3530 src/core/event_bus.cpp
31+ src/core/ui/theme_manager.cpp
32+ src/core/ui/dockspace_manager.cpp
33+ src/core/ui/main_menu_bar.cpp
34+ src/core/input/input_handler.cpp
35+ src/core/gfx/render_texture.cpp
3636 )
3737 target_link_libraries (convoy_core PUBLIC
3838 GLFW::GLFW
@@ -41,41 +41,62 @@ if(GLFW3_FOUND AND OpenGL_FOUND AND GLAD_FOUND AND ImGui_FOUND)
4141 ImGui::ImGui
4242 )
4343else ()
44- # Minimal core without graphics
4544 target_sources (convoy_core PRIVATE
4645 src/core/event_bus.cpp
4746 )
4847endif ()
4948
50- # CVP format and filesystem I/O
5149target_sources (convoy_core PRIVATE
5250 src/core/cvp_format.cpp
5351 src/core/filesystem.cpp
5452 src/core/command_manager.cpp
5553 src/core/commands/pixel_command.cpp
54+ src/core/plugins/plugin_registry.cpp
55+ src/core/plugins/hook_system.cpp
5656)
5757
58- # Architect Module Library (no graphics deps)
5958add_library (mod_architect
6059 src/modules/mod_architect/canvas.cpp
6160 src/modules/mod_architect/viewport.cpp
62- src/modules/mod_architect/architect_ui.cpp
6361 src/modules/mod_architect/tools/pencil_tool.cpp
6462 src/modules/mod_architect/tools/eraser_tool.cpp
6563 src/modules/mod_architect/tools/bucket_tool.cpp
64+ src/modules/mod_architect/tools/pivot_tool.cpp
65+ src/modules/mod_architect/tools/hitbox_tool.cpp
6666)
6767target_include_directories (mod_architect PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /src )
6868target_link_libraries (mod_architect PUBLIC convoy_core )
6969
70- # Main Executable (only if graphics deps available)
70+ if (GLFW3_FOUND AND OpenGL_FOUND AND GLAD_FOUND AND ImGui_FOUND)
71+ target_sources (mod_architect PRIVATE
72+ src/modules/mod_architect/architect_ui.cpp
73+ src/modules/mod_architect/ui/color_palette.cpp
74+ src/modules/mod_architect/ui/dod_visualizer.cpp
75+ src/modules/mod_architect/ui/live_preview.cpp
76+ )
77+ endif ()
78+
79+ if (GLFW3_FOUND AND OpenGL_FOUND AND GLAD_FOUND AND ImGui_FOUND)
80+ add_library (mod_walker src/modules/mod_walker/walker_ui.cpp )
81+ target_include_directories (mod_walker PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /src )
82+ target_link_libraries (mod_walker PUBLIC convoy_core )
83+
84+ add_library (mod_forge src/modules/mod_forge/forge_ui.cpp )
85+ target_include_directories (mod_forge PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /src )
86+ target_link_libraries (mod_forge PUBLIC convoy_core )
87+
88+ add_library (mod_sequencer src/modules/mod_sequencer/sequencer_ui.cpp )
89+ target_include_directories (mod_sequencer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /src )
90+ target_link_libraries (mod_sequencer PUBLIC convoy_core )
91+ endif ()
92+
7193if (GLFW3_FOUND AND OpenGL_FOUND AND GLAD_FOUND AND ImGui_FOUND)
7294 add_executable (convoy
7395 src/convoy/main.cpp
7496 )
75- target_link_libraries (convoy PRIVATE convoy_core mod_architect )
97+ target_link_libraries (convoy PRIVATE convoy_core mod_architect mod_walker mod_forge mod_sequencer )
7698endif ()
7799
78- # Compiler flags
79100if (MSVC )
80101 target_compile_options (convoy_core PRIVATE /W4 /WX )
81102 if (TARGET convoy)
@@ -88,7 +109,5 @@ else()
88109 endif ()
89110endif ()
90111
91- # Testing
92112enable_testing ()
93113add_subdirectory (tests )
94-
0 commit comments