Skip to content

Commit

Permalink
refs #12066 - add online-help.qhc target to CMake if `qhelpgenerato…
Browse files Browse the repository at this point in the history
…r` is available
  • Loading branch information
firewave committed Sep 23, 2024
1 parent 6e53331 commit ca6a516
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 2 deletions.
1 change: 1 addition & 0 deletions .github/workflows/CI-unixish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ jobs:
- name: Install missing software (gui) on latest ubuntu
if: matrix.build_gui
run: |
# TODO: add qt6-documentation-tools for qhelpgenerator - currently fails with "qhelpgenerator: could not find a Qt installation of ''" - see https://askubuntu.com/a/1460243
apt-get install -y qt6-base-dev qt6-charts-dev qt6-tools-dev
# needs to be called after the package installation since
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/CI-unixish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,11 @@ jobs:
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
run: |
sudo apt-get update
sudo apt-get install libxml2-utils libtinyxml2-dev
# qt6-tools-dev-tools for lprodump
# qt6-l10n-tools for lupdate
sudo apt-get install libxml2-utils libtinyxml2-dev qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
# TODO: add qt6-documentation-tools for qhelpgenerator - currently fails with "qhelpgenerator: could not find a Qt installation of ''" - see https://askubuntu.com/a/1460243
sudo apt-get install qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
# coreutils contains "nproc"
- name: Install missing software on macos
Expand Down Expand Up @@ -127,9 +129,11 @@ jobs:
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On'
run: |
sudo apt-get update
sudo apt-get install libxml2-utils
# qt6-tools-dev-tools for lprodump
# qt6-l10n-tools for lupdate
sudo apt-get install libxml2-utils qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
# TODO: add qt6-documentation-tools for qhelpgenerator - currently fails with "qhelpgenerator: could not find a Qt installation of ''" - see https://askubuntu.com/a/1460243
sudo apt-get install qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
# coreutils contains "nproc"
- name: Install missing software on macos
Expand Down Expand Up @@ -515,6 +519,7 @@ jobs:
sudo apt-get update
# qt6-tools-dev-tools for lprodump
# qt6-l10n-tools for lupdate
# TODO: add qt6-documentation-tools for qhelpgenerator - currently fails with "qhelpgenerator: could not find a Qt installation of ''" - see https://askubuntu.com/a/1460243
sudo apt-get install qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev
sudo apt-get install libboost-container-dev
Expand Down
11 changes: 11 additions & 0 deletions cmake/findDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ if(BUILD_GUI)
find_package(Qt5 COMPONENTS ${qt_components} REQUIRED)
set(QT_VERSION "${Qt5Core_VERSION_STRING}")
endif()

find_program(QHELPGENERATOR qhelpgenerator)
if(NOT QHELPGENERATOR)
# TODO: how to properly get the Qt binary folder?
# piggy-back off Qt::qmake for now as it should be in the same folder as the binary we are looking for
get_target_property(_qmake_executable Qt::qmake IMPORTED_LOCATION)
get_filename_component(_qt_bin_dir ${_qmake_executable} DIRECTORY)
message(STATUS "qhelpgenerator not found in PATH - trying ${_qt_bin_dir}")
# cannot be mandatory since qhelpgenerator is missing from the official qttools Linux package - https://bugreports.qt.io/browse/QTBUG-116168
find_program(QHELPGENERATOR qhelpgenerator HINTS ${_qt_bin_dir})
endif()
endif()

if(HAVE_RULES)
Expand Down
1 change: 1 addition & 0 deletions cmake/printInfo.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ if(BUILD_GUI)
message(STATUS "Qt5Core_LIBRARIES = ${Qt5Core_LIBRARIES}")
message(STATUS "Qt5Core_INCLUDE_DIRS = ${Qt5Core_INCLUDE_DIRS}")
endif()
message(STATUS "QHELPGENERATOR = ${QHELPGENERATOR}")
endif()
message(STATUS)
message(STATUS "HAVE_RULES = ${HAVE_RULES}")
Expand Down
6 changes: 6 additions & 0 deletions gui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,12 @@ CheckOptions:
target_compile_options_safe(cppcheck-gui -Wno-redundant-parens)
endif()

if (QHELPGENERATOR)
# TODO: generate in CMAKE_BINARY_DIR folder
add_custom_target(online-help.qhc ${QHELPGENERATOR} ${CMAKE_CURRENT_SOURCE_DIR}/help/online-help.qhcp -o ${CMAKE_CURRENT_SOURCE_DIR}/help/online-help.qhc)
add_dependencies(cppcheck-gui online-help.qhc)
endif()

install(TARGETS cppcheck-gui RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT applications)
install(FILES ${qms} DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT applications)

Expand Down

0 comments on commit ca6a516

Please sign in to comment.