Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
3b4363b
first doxygen attempt
yohannd1 Mar 25, 2026
d1ffde0
investigate why it's not working...
yohannd1 Mar 25, 2026
3e0b424
tab? really?
yohannd1 Mar 25, 2026
237dc96
not sure what I'm doing anymore
yohannd1 Mar 25, 2026
e1205a3
small change for debug
yohannd1 Mar 25, 2026
3c3998c
install doxygen
yohannd1 Mar 25, 2026
148159b
...
yohannd1 Mar 25, 2026
ff848ee
organize doxygen stuff, and fix permissions
yohannd1 Mar 25, 2026
f741604
disable running doxygen on PRs
yohannd1 Mar 25, 2026
504b7b6
Revert "disable running doxygen on PRs"
yohannd1 Mar 26, 2026
79075f2
experiment removing some dependencies and make configs
yohannd1 Mar 26, 2026
8a1cab8
remove many dependencies
yohannd1 Mar 26, 2026
30e9a6e
try using minimal dependencies
yohannd1 Mar 26, 2026
79db7dc
reverting last change and removing more make options
yohannd1 Mar 26, 2026
6e5b4bc
improve + test doxygen check
yohannd1 Mar 26, 2026
dd27fb5
fix typo...
yohannd1 Mar 26, 2026
6247ebd
ok, it seems it worked!
yohannd1 Mar 26, 2026
069f3ab
improve doxygen check
yohannd1 Mar 27, 2026
fd4371e
it worked!
yohannd1 Mar 27, 2026
0a6ac1e
experiment using less dependencies
yohannd1 Mar 27, 2026
6eb768b
even less dependencies
yohannd1 Mar 27, 2026
1d3526a
this should make it error properly in windows as well?
yohannd1 Apr 2, 2026
26b8451
use separate cmake file for handling doxygen error
yohannd1 Apr 2, 2026
fb407da
try not using fluidsynth
yohannd1 Apr 4, 2026
959a94e
specify a main page
yohannd1 Apr 4, 2026
c789c88
restrict action for branches (don't include PRs)
yohannd1 Apr 7, 2026
17dd4c4
addressing some comments
yohannd1 Apr 15, 2026
d69c29a
update more action dependencies
yohannd1 Apr 15, 2026
1065be8
remove many lib deps
yohannd1 Apr 20, 2026
3a01022
add qt5svg back
yohannd1 Apr 20, 2026
8010316
add back qt5x11extras
yohannd1 Apr 20, 2026
74c81fb
add required sndfile
yohannd1 Apr 20, 2026
86d7829
add back fftw
yohannd1 Apr 20, 2026
a18d7ca
add back samplerate
yohannd1 Apr 20, 2026
3dcc28f
add back xcb
yohannd1 Apr 20, 2026
751c2d6
addback xcb keysyms/util
yohannd1 Apr 20, 2026
c3db15e
add back list moreutils
yohannd1 Apr 20, 2026
063ac50
install doxygen separately through a github action
yohannd1 Apr 21, 2026
a807160
Apply suggestions from code review
yohannd1 Apr 22, 2026
e55dcf4
attempt to minimize doc dependencies through a dedicated CMakeLists.txt
yohannd1 Apr 25, 2026
48e6d34
Merge branch 'doxygen' of github.com:yohannd1/lmms-fork into doxygen
yohannd1 Apr 25, 2026
3e6e17a
source file adjustments...
yohannd1 Apr 25, 2026
fc54866
move doc_fail back into the error branch
yohannd1 Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
name: doxygen
'on': [push] # only auto-run on pushing to a branch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
pages: write
id-token: write
jobs:
linux-x86_64:
name: linux-x86_64
runs-on: ubuntu-latest
env:
MAKEFLAGS: -j2
steps:
- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Check out
uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: recursive
- name: Install packages
run: |
sudo apt-get update -y
sudo apt-get install -y --no-install-recommends cmake make
- name: Install doxygen
uses: ssciwr/doxygen-install@v2
with:
version: "1.16.1"
- name: Configure
Comment thread
yohannd1 marked this conversation as resolved.
run: |
cmake -S doc -B build $CMAKE_OPTS
- name: Build docs
run: cmake --build build --target doc
Comment thread
yohannd1 marked this conversation as resolved.
Comment thread
JohannesLorenz marked this conversation as resolved.
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload generated website
uses: actions/upload-pages-artifact@v3
with:
path: 'build/doc/html'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -759,7 +759,6 @@ ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(plugins)
ADD_SUBDIRECTORY(tests)
ADD_SUBDIRECTORY(data)
ADD_SUBDIRECTORY(doc)

# install tasks
ADD_SUBDIRECTORY(cmake/install)
Expand Down
14 changes: 10 additions & 4 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.13)

PROJECT(lmms)
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake/modules" ${CMAKE_MODULE_PATH})

FIND_PACKAGE(Doxygen)

if(DOXYGEN_FOUND)
set(INPUTDIRS
if(Doxygen_FOUND OR DOXYGEN_FOUND)
set(INPUTDIRS
"\"${CMAKE_CURRENT_SOURCE_DIR}../src/core\"
\"${CMAKE_CURRENT_SOURCE_DIR}../src/gui\"
\"${CMAKE_CURRENT_SOURCE_DIR}../src/tracks\"
Expand All @@ -14,7 +19,8 @@ if(DOXYGEN_FOUND)
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Generating API documentation with Doxygen"
SOURCES Doxyfile.in)
endif(DOXYGEN_FOUND)
else()
message(FATAL_ERROR "Doxygen was not found - could not generate docs.")
endif()

ADD_SUBDIRECTORY(bash-completion)

64 changes: 53 additions & 11 deletions doc/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -738,16 +738,18 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------

# The INPUT tag is used to specify the files and/or directories that contain
# documented source files. You may enter file names like myfile.cpp or
# directories like /usr/src/myproject. Separate the files or directories with
# spaces.
# Note: If this tag is empty the current directory is searched.
# documented source files.
#
# Note: keep the main page as the first page in this list, or it might be
# overriden by other main pages (e.g. the ones in included libraries).

INPUT = "@CMAKE_CURRENT_SOURCE_DIR@/../src/core" \
"@CMAKE_CURRENT_SOURCE_DIR@/../src/gui" \
"@CMAKE_CURRENT_SOURCE_DIR@/../src/tracks" \
"@CMAKE_CURRENT_SOURCE_DIR@/../include" \
"@CMAKE_CURRENT_SOURCE_DIR@/../plugins" \
INPUT = \
"@CMAKE_SOURCE_DIR@/../README.md" \
"@CMAKE_SOURCE_DIR@/../src/core" \
"@CMAKE_SOURCE_DIR@/../src/gui" \
"@CMAKE_SOURCE_DIR@/../src/tracks" \
"@CMAKE_SOURCE_DIR@/../include" \
"@CMAKE_SOURCE_DIR@/../plugins" \

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -886,7 +888,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.

USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = "@CMAKE_SOURCE_DIR@/../README.md"

#---------------------------------------------------------------------------
# Configuration options related to source browsing
Expand Down Expand Up @@ -1942,7 +1944,47 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.

PREDEFINED =
PREDEFINED = "LMMS_BUILD_LINUX=" \
"LMMS_HOST_X86_64=" \
"LMMS_HAVE_ALSA=" \
"LMMS_HAVE_FLUIDSYNTH=" \
"LMMS_HAVE_JACK=" \
"LMMS_HAVE_JACK_PRENAME=" \
"LMMS_HAVE_WEAKJACK=" \
"LMMS_HAVE_LV2=" \
"LMMS_HAVE_SUIL=" \
"LMMS_HAVE_MP3LAME=" \
"LMMS_HAVE_SNDFILE_MP3=" \
"LMMS_HAVE_OGGVORBIS=" \
"LMMS_HAVE_OSS=" \
"LMMS_HAVE_SNDIO=" \
"LMMS_HAVE_PORTAUDIO=" \
"LMMS_HAVE_SOUNDIO=" \
"LMMS_HAVE_PULSEAUDIO=" \
"LMMS_HAVE_SDL=" \
"LMMS_HAVE_STK=" \
"LMMS_HAVE_VST=" \
"LMMS_HAVE_VST_32=" \
"LMMS_HAVE_VST_64=" \
"LMMS_HAVE_SF_COMPLEVEL=" \
"LMMS_DEBUG_FPE=" \
"LMMS_HAVE_PTHREAD_H=" \
"LMMS_HAVE_UNISTD_H=" \
"LMMS_HAVE_SYS_TYPES_H=" \
"LMMS_HAVE_SYS_IPC_H=" \
"LMMS_HAVE_SEMAPHORE_H=" \
"LMMS_HAVE_SYS_TIME_H=" \
"LMMS_HAVE_SYS_TIMES_H=" \
"LMMS_HAVE_SYS_PRCTL_H=" \
"LMMS_HAVE_SCHED_H=" \
"LMMS_HAVE_SYS_SOUNDCARD_H=" \
"LMMS_HAVE_SOUNDCARD_H=" \
"LMMS_HAVE_FCNTL_H=" \
"LMMS_HAVE_SYS_IOCTL_H=" \
"LMMS_HAVE_CTYPE_H=" \
"LMMS_HAVE_STRING_H=" \
"LMMS_HAVE_PROCESS_H=" \
"LMMS_HAVE_LOCALE_H=" \

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
Expand Down
Loading