summaryrefslogtreecommitdiff
path: root/documentation/CMakeLists.txt
AgeCommit message (Collapse)Author
3 dayswip: forkmaxim nikonov
2025-12-30Reorganize documentation source directoriesAlbrecht Schlosser
- move all images (screenshots) to new folder documentation/images/ - move documentation/src/fltk-title.tex.in to documentation/ - fix .gitignore files (remove obsolete entries etc.) - FL/Fl_Tooltip.H: fix '\image latex' reference - documentation/CMakeLists.txt: update ref. to fltk-title.tex.in - documentation/Doxyfile.in: adjust image path (IMAGE_PATH)
2025-12-29Improve code snapshot generation for PDF docs (#1353)Albrecht Schlosser
CMake: execute `code_snapshot` separately for each file we want to scan so we can create timestamps and generate PNG images only if the source file (e.g. unicode.dox) was modified. documentation/src/unicode.dox: remove output folder `generated`, use only the filename. CMake sets the current working directory as needed. util/code_snapshot.cxx: format and improve comments, reset code buffer so we can generate multiple images per input file.
2025-12-28Update filename case and LaTeX detailsMatthias Melcher
2025-12-28Generate code block documentation using FLTK (#1353)Matthias Melcher
The Doxygen-to-pdf toolchain can not easily generate pdf's with Japanese and Chinese characters. This patch generates code blocks by rendering them in FLTK.
2025-05-07Remove hardcoded version numbers (part 2) and more documentationAlbrecht Schlosser
The goal is to change the version number for a new release only in CMakeLists.txt. This is the second step. This commit also adds a chapter "Migrating Code from FLTK 1.4 to 1.5". Details: - documentation/CMakeLists.txt: configure 'version.dox' - fluid/documentation/CMakeLists.txt: same as above - documentation/Doxyfile.in: add "Migrating Code from FLTK 1.4 to 1.5" - documentation/src/index.dox: include 'version.dox' and 'migrating...' - fluid/documentation/src/index.dox: same as above - documentation/src/preface.dox: include 'version.dox' - documentation/version.dox.in: input to CMake configure 'version.dox' - fluid/documentation/version.dox.in: same as above - documentation/src/migration_1_4.dox: update links - documentation/src/migration_1_5.dox: new documentation chapter
2025-04-02Use CMake's built-in timestamp formatting.Aaron M. Ucko
It notably honors SOURCE_DATE_EPOCH if set, making for reproducible output. For even better reproducibility, use UTC. (Unlike the date command's output, the result is already always in English.) Extend this approach to the book, introducing appropriately formatted PDF_DATE and TODAY variables for its PDF metadata and title page respectively and making make_pdf configurable.
2024-10-17Update documentationAlbrecht Schlosser
- fix missing doxygen version in PDF docs created by CMake - remove unnecessary quotes ('...') from version numbers and Git revisions (previously added for debugging purposes) - fix navigation links at the bottom of tutorial pages (HTML only) - remove 'D. Gibson' from documentation headers on his request
2024-08-26Display Git revision in docs generated from releases (#499)Albrecht Schlosser
- makesrcdist: store Git revision in a file in the tarball - CMake/resources.cmake: get git revision either from Git or file and store it as CMake cache variable 'FLTK_GIT_REVISION' for reference - documentation/*: get git revision from git or file - fluid/documentation/*: get git revision from git or file
2024-04-17Separate FLUID user documentation, screen shot automation (#936)Matthias Melcher
* CMake integration, no autotiools * alignment panel is now correctly renamed to setting panel * source view is now correctly renamed to code view * Merge FLTK FLUID docs into FLUID user manual. * Add two simple entry tutorials * Remove FLUID chapter form FLTK docs. * GitHub action to generate HTML and PDF docs and make the available as artefacts
2024-02-20TypoMatthias Melcher
2024-02-07Introduce "Modern CMake" in FLTKAlbrecht Schlosser
This is a big commit and there are too many changes to list them all. The main changes are: - rename all CMake build options to 'FLTK_*' - export library targets with namespace (prefix) 'fltk::' - standardize shared library target names with suffix '-shared' - set public build properties on libraries for consumers - document library names and aliases in README.CMake.txt - document changes in "Migrating Code from FLTK 1.3 to 1.4" - partial backwards compatibility for old user projects Included but not directly related changes: - fix Windows (Visual Studio) DLL build - add CMake function fl_debug_target() to show target properties - don't build test programs if FLTK is a subproject - internal: reformat CMake code: remove space before '(' Thanks to Matthias and Manolo for their help, testing, and feeback.
2023-09-07Update Doxyfile.in again, now using all defined doxygen tagsAlbrecht Schlosser
The process to generate the docs now uses the full Doxyfile as given by `doxygen -u Doxyfile.in` with a specific doxygen version, in this commit version 1.8.14. There's only one addition: 'HTML_COLORSTYLE = TOGGLE' which has been added to doxygen in version 1.9.5. We're using it now to give the user the choice to select a "dark mode" or "light mode" theme if the docs are generated with doxygen 1.9.5 or later. Unknown doxygen tags are now filtered silently and logged in files documentation/Doxyfile_error.log and documentation/Doxybook_error.log, respectively.
2023-09-07Update Doxyfile.in from doxygen version 1.5.5 to 1.8.14Albrecht Schlosser
Most (if not all) doxygen tags introduced after 1.5.5 are commented out to avoid doxygen warnings about obsolete or unknown tags, except those tags that need a specific value. Add 'HTML_COLORSTYLE = TOGGLE' (since 1.9.5) for better user experience. With this tag users can switch between dark and light mode *if* the docs were generated with doxygen 1.9.5 or later. Enable search engine. Log doxygen conversion errors and warnings to Doxy*_error.log, i.e. silence the doxygen conversion process. documentation/src/index.dox: Remove background color from html index page for better contrast when using dark mode.
2023-08-30Improve doxygen documentation generationAlbrecht Schlosser
Under configure+make it is not possible to enable driver documentation. Therefore the '@DRIVER_DOCS@' variable must always be cleared. Add a comment on how to build the driver docs using the Makefile. Simplify CMake whitespace (trailing LF) handling. Make sure we find the correct source dir even if FLTK is included in a sub build (s/CMAKE_SOURCE_DIR/FLTK_SOURCE_DIR/).
2023-08-29Documentation/PDF: always use the configured doxygen executableAlbrecht Schlosser
... to create the LaTeX header file used by doxygen. This fix applies to both configure/make and CMake. The existing version used `doxygen` which erroneously ran the doxygen version from the current 'PATH' which might issue doxygen warnings and potentially create a wrong LaTeX header file if the configured doxygen program was not the one in the user's path.
2022-10-03CMake: Fix some special cases regarding generation of docsAlbrecht Schlosser
Ignore error if docs are not generated using a git working tree, for instance from a downloaded tarball or zip file. This is only a temporary solution for issue #499 (see "FIXME" comment). Execute doxygen only if it is available. i.e. found by CMake.
2022-09-17Improve use of CMake's OPTION_BUILD_HTML_DOCUMENTATIONManoloFLTK
2022-08-12Improve automatic documentation generationAlbrecht Schlosser
This removes the need to edit the copyright year before generating the documentation (every year, in several files) and adds some technical information (doxygen generation date, doxygen version, and FLTK Git revision) in both HTML and PDF docs. - auto-generate copyright year (current year) used in several places - include FLTK Git revision in HTML and PDF docs - include generation date and doxygen version - replace special html footer which didn't work well with default footer
2021-09-21Doxygen docs: convert doxygen input file to current versionAlbrecht Schlosser
CMake only: "current" version means the doxygen version available on the system where docs are generated. Todo: do the same for autoconf/make builds.
2021-02-15Update CMake and make files, minor edits onlyAlbrecht Schlosser
There are no functional changes to be expected, mostly formatting and comments.
2020-09-21PDF docs: generate LaTeX header file from sourceAlbrecht Schlosser
The LaTeX header file used when creating PDF documentation depends on the doxygen and latex versions, respectively. The old header file 'documentation/src/fltk-book.tex.in' had been generated manually and needed to be updated for new doxygen versions which made the PDF documentation generation dependent on the doxygen/latex versions on the build system. The new LaTeX header file 'fltk-book.tex' is generated by doxygen, i.e. taking into account the doxygen and latex versions on the build system and "edited" to include the page title defined in the new file 'documentation/src/fltk-title.tex.in'. This makes the PDF documentation independent of the doxygen and latex versions of the build system.
2020-07-15CMake: refactor and reformat CMake filesAlbrecht Schlosser
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015) - indent all CMake files according to the CMP (2 col.) - refactor FLTK version number definitions and usage - unify CMake and autoconf/configure variable names: - FL_VERSION -> FLTK_VERSION - FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR - etc. for _MINOR_ and _PATCH_, respectively - note: this does not affect FL_VERSION etc. in source code - generate "export headers" for all libraries (experimental: OFF) - port some forgotten goodies from branch-1.3 to master - merge and improve macro 'create_example' (WIP) - remove "temporary" options and code for older CMake versions - include and use 'GenerateExportHeader' (experimental, WIP: OFF) - note: created header files are not yet used - build only *one* DLL with Visual Studio (tested, works) - similar to the bundled IDE projects in 1.3.x - add some dynamically linked test/demo programs ('*-shared') if shared libraries are built (WIP) - split 'macros.cmake': use one file per macro
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-01-26[CMake] Remove unnecessary dependencyAlbrecht Schlosser
Building the documentation need not depend on building the library. This change can speed up changing, building, and viewing modified docs.
2019-09-16CMake: copy 'tiny.png' to doc folderAlbrecht Schlosser
The image 'tiny.png' was not copied to the documentation/html directory when docs were built with CMake.
2018-12-29Add a CMake option to generate driver (developer) documentation.Albrecht Schlosser
Generating driver documentation can now be configured with CMake. The new configuration OPTION_INCLUDE_DRIVER_DOCUMENTATION is "marked as advanced" since only advanced users and/or FLTK developers need this. Previously this could only be achieved by editing documentation/Doxyfile.in. Added missing documentation option descriptions as well.
2018-01-16Add missing CMake variable FL_VERSION for doxygen docs generation.Albrecht Schlosser
Thanks to Jakub Tata-TyczyƄski for finding this and reporting it in fltk.coredev. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12638 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-10CMake: enable building FLTK in a subdirectory of another project.Albrecht Schlosser
Basically replace CMAKE_XXX_DIR with CMAKE_CURRENT_XXX_DIR where XXX = SOURCE or BINARY. Patch proposal by cleanrock, FLTK PR #4: https://github.com/fltk/test-only/pull/4 Patch modified to fix target dirs for test programs and doxygen docs. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-25[CMake] Add doxygen documentation generation (STR #3195).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10720 ea41ed52-d2ee-0310-a9c1-e6b18d33e121