Skip to content

Commit 00879e1

Browse files
committed
attempt to get CI working for linux
1 parent 8177931 commit 00879e1

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

qtfred/CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ execute_process(
7878
COMMAND "${_QTFRED_QMAKE}" -query QT_INSTALL_BINS
7979
OUTPUT_VARIABLE _QTFRED_QT_BINS
8080
OUTPUT_STRIP_TRAILING_WHITESPACE)
81+
execute_process(
82+
COMMAND "${_QTFRED_QMAKE}" -query QT_INSTALL_LIBS
83+
OUTPUT_VARIABLE _QTFRED_QT_LIBS
84+
OUTPUT_STRIP_TRAILING_WHITESPACE)
8185
find_program(QHELPGENERATOR_EXECUTABLE
8286
NAMES qhelpgenerator
8387
HINTS "${_QTFRED_QT_BINS}"
@@ -91,9 +95,16 @@ file(GLOB_RECURSE QTFRED_HELP_SOURCES
9195
"${CMAKE_CURRENT_SOURCE_DIR}/help-src/doc/*.css"
9296
"${CMAKE_CURRENT_SOURCE_DIR}/help-src/doc/*.qhp")
9397

98+
# qhelpgenerator is a Qt application and needs a platform plugin at build time.
99+
# On headless Linux CI the Qt platform plugins fail to dlopen because the Qt
100+
# shared libs are not in LD_LIBRARY_PATH for dlopen-loaded plugins (DT_RUNPATH
101+
# in the main binary does not propagate to dlopen). Pass the Qt lib dir and
102+
# force the offscreen (no-display) platform explicitly.
94103
add_custom_command(
95104
OUTPUT "${QTFRED_HELP_QCH}"
96-
COMMAND ${CMAKE_COMMAND} -E env "QT_QPA_PLATFORM=offscreen"
105+
COMMAND ${CMAKE_COMMAND} -E env
106+
"QT_QPA_PLATFORM=offscreen"
107+
"LD_LIBRARY_PATH=${_QTFRED_QT_LIBS}"
97108
"${QHELPGENERATOR_EXECUTABLE}" "${QTFRED_HELP_QHP}" -o "${QTFRED_HELP_QCH}"
98109
DEPENDS ${QTFRED_HELP_SOURCES}
99110
COMMENT "Compiling QtFRED help (qtfred_help.qch)"

0 commit comments

Comments
 (0)