summaryrefslogtreecommitdiff
path: root/fluid/CMakeLists.txt
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2025-03-07 16:34:35 +0100
committerMatthias Melcher <github@matthiasm.com>2025-03-07 16:34:48 +0100
commit1985aefc0e502048f92b91beef87c0dfbe669fed (patch)
treeaf62874def4590e437a47784b4428d975ceb262f /fluid/CMakeLists.txt
parent42a04c064d4b31c3a85210311f3ada163c406a25 (diff)
Restructuring Fluid source files.
Diffstat (limited to 'fluid/CMakeLists.txt')
-rw-r--r--fluid/CMakeLists.txt164
1 files changed, 89 insertions, 75 deletions
diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt
index b9065616b..c0a398d5f 100644
--- a/fluid/CMakeLists.txt
+++ b/fluid/CMakeLists.txt
@@ -1,7 +1,7 @@
#
# CMakeLists.txt to build fluid for the FLTK project using CMake (www.cmake.org)
#
-# Copyright 1998-2024 by Bill Spitzak and others.
+# Copyright 1998-2025 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
@@ -18,96 +18,108 @@
set(TARGETS fluid)
# Source files for 'fluid-lib' = all source files except the main files
-# (fluid.cxx and fluid.h)
-# Note: macOS (Xcode) needs at least one source file (fluid.cxx) to link the main
+# (main.cxx and main.h)
+# Note: macOS (Xcode) needs at least one source file (main.cxx) to link the main
# program fluid properly
set(CPPFILES
- CodeEditor.cxx
- StyleParse.cxx
- Fd_Snap_Action.cxx
- Fl_Function_Type.cxx
- Fl_Grid_Type.cxx
- Fl_Group_Type.cxx
- Fl_Menu_Type.cxx
- Fl_Type.cxx
- Fl_Widget_Type.cxx
- Fl_Window_Type.cxx
- Fl_Button_Type.cxx
- Fluid_Image.cxx
- about_panel.cxx
- align_widget.cxx
- settings_panel.cxx
- autodoc.cxx
- code.cxx
- custom_widgets.cxx
- factory.cxx
- file.cxx
- fluid_filename.cxx
- function_panel.cxx
- mergeback.cxx
- pixmaps.cxx
- shell_command.cxx
- codeview_panel.cxx
- template_panel.cxx
- undo.cxx
- widget_browser.cxx
- widget_panel.cxx
+ app/align_widget.cxx
+ app/Fd_Snap_Action.cxx
+ app/fluid.cxx
+ app/Fluid_Image.cxx
+ app/mergeback.cxx
+ app/shell_command.cxx
+ app/undo.cxx
+ io/code.cxx
+ io/file.cxx
+ nodes/factory.cxx
+ nodes/Fl_Button_Type.cxx
+ nodes/Fl_Function_Type.cxx
+ nodes/Fl_Grid_Type.cxx
+ nodes/Fl_Group_Type.cxx
+ nodes/Fl_Menu_Type.cxx
+ nodes/Fl_Type.cxx
+ nodes/Fl_Widget_Type.cxx
+ nodes/Fl_Window_Type.cxx
+ panels/about_panel.cxx
+ panels/codeview_panel.cxx
+ panels/function_panel.cxx
+ panels/settings_panel.cxx
+ panels/template_panel.cxx
+ panels/widget_panel.cxx
+ rsrcs/pixmaps.cxx
+ tools/autodoc.cxx
+ tools/fluid_filename.cxx
+ widgets/CodeEditor.cxx
+ widgets/custom_widgets.cxx
+ widgets/StyleParse.cxx
+ widgets/widget_browser.cxx
)
# List header files in Apple's Xcode IDE
set(HEADERFILES
- CodeEditor.h
- Fd_Snap_Action.h
- Fl_Function_Type.h
- Fl_Grid_Type.h
- Fl_Group_Type.h
- Fl_Menu_Type.h
- Fl_Type.h
- Fl_Widget_Type.h
- Fl_Window_Type.h
- Fl_Button_Type.h
- Fluid_Image.h
- StyleParse.h
- about_panel.h
- align_widget.h
- settings_panel.h
- autodoc.h
- code.h
- comments.h
- custom_widgets.h
- factory.h
- file.h
- function_panel.h
- mergeback.h
- print_panel.h
- pixmaps.h
- shell_command.h
- codeview_panel.h
- template_panel.h
- undo.h
- widget_browser.h
- widget_panel.h
+ app/align_widget.h
+ app/Fd_Snap_Action.h
+ app/fluid.h
+ app/Fluid_Image.h
+ app/mergeback.h
+ app/shell_command.h
+ app/undo.h
+ io/code.h
+ io/file.h
+ nodes/factory.h
+ nodes/Fl_Button_Type.h
+ nodes/Fl_Function_Type.h
+ nodes/Fl_Grid_Type.h
+ nodes/Fl_Group_Type.h
+ nodes/Fl_Menu_Type.h
+ nodes/Fl_Type.h
+ nodes/Fl_Widget_Type.h
+ nodes/Fl_Window_Type.h
+ panels/about_panel.h
+ panels/codeview_panel.h
+ panels/function_panel.h
+ panels/settings_panel.h
+ panels/template_panel.h
+ panels/widget_panel.h
+ rsrcs/comments.h
+ rsrcs/pixmaps.h
+ tools/autodoc.h
+ tools/fluid_filename.h
+ widgets/CodeEditor.h
+ widgets/custom_widgets.h
+ widgets/StyleParse.h
+ widgets/widget_browser.h
)
# Add ExternalCodeEditor: platform specific files
if(WIN32)
- list(APPEND CPPFILES ExternalCodeEditor_WIN32.cxx)
- list(APPEND HEADERFILES ExternalCodeEditor_WIN32.h)
+ list(APPEND CPPFILES tools/ExternalCodeEditor_WIN32.cxx)
+ list(APPEND HEADERFILES tools/ExternalCodeEditor_WIN32.h)
else()
- list(APPEND CPPFILES ExternalCodeEditor_UNIX.cxx)
- list(APPEND HEADERFILES ExternalCodeEditor_UNIX.h)
+ list(APPEND CPPFILES tools/ExternalCodeEditor_UNIX.cxx)
+ list(APPEND HEADERFILES tools/ExternalCodeEditor_UNIX.h)
endif(WIN32)
-source_group("Header Files" FILES ${HEADERFILES})
+source_group(
+ TREE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ FILES
+ ${CPPFILES}
+ ${HEADERFILES}
+ main.cxx
+ main.h
+ CMakeLists.txt
+)
# Build a local object library to avoid compiling all source files
# multiple times for all fluid targets on Windows (fluid + fluid-cmd).
add_library(fluid-lib OBJECT EXCLUDE_FROM_ALL)
target_sources(fluid-lib PRIVATE ${CPPFILES} ${HEADERFILES})
+target_include_directories(fluid-lib PRIVATE .)
target_link_libraries(fluid-lib PUBLIC fltk::images)
# Build targets
@@ -117,8 +129,8 @@ if(APPLE AND NOT FLTK_BACKEND_X11)
# macOS
set(ICON_NAME fluid.icns)
- set(ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/icons/${ICON_NAME}")
- add_executable(fluid MACOSX_BUNDLE fluid.cxx fluid.h ${ICON_PATH})
+ set(ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../icons/${ICON_NAME}")
+ add_executable(fluid MACOSX_BUNDLE main.cxx main.h ${ICON_PATH})
# create macOS bundle wrapper script
@@ -135,10 +147,11 @@ if(APPLE AND NOT FLTK_BACKEND_X11)
else()
# Option 'WIN32' builds a Windows GUI program, ignored on other platforms
- add_executable(fluid WIN32 fluid.cxx fluid.h)
+ add_executable(fluid WIN32 main.cxx main.h)
endif()
+target_include_directories(fluid PRIVATE .)
target_link_libraries(fluid PRIVATE fluid-lib)
# Build the console app on Windows
@@ -146,7 +159,8 @@ target_link_libraries(fluid PRIVATE fluid-lib)
if(WIN32)
list(APPEND TARGETS fluid-cmd)
- add_executable(fluid-cmd fluid.cxx fluid.h)
+ add_executable(fluid-cmd main.cxx main.h)
+ target_include_directories(fluid-cmd PRIVATE .)
target_link_libraries(fluid-cmd PRIVATE fluid-lib)
set(FLTK_FLUID_EXECUTABLE fltk::fluid-cmd)
else()
@@ -207,8 +221,8 @@ if(UNIX)
# Install desktop icons
foreach(icon 32 48 64 128)
- install(FILES icons/fluid-${icon}.png
- DESTINATION ${FLTK_DATADIR}/icons/hicolor/${icon}x${icon}/apps
+ install(FILES ../icons/fluid-${icon}.png
+ DESTINATION ${FLTK_DATADIR}/../icons/hicolor/${icon}x${icon}/apps
RENAME fluid.png
)
endforeach()