@@ -6,6 +6,60 @@ set(APPDIR_USR ${APPDIR}/usr)
66set (LINUXDEPLOY ${CMAKE_BINARY_DIR } /linuxdeploy-x86_64.AppImage)
77set (LINUXDEPLOY_QT ${CMAKE_BINARY_DIR } /linuxdeploy-plugin-qt-x86_64.AppImage)
88
9+ function (resolve_qt6_qmake out_var )
10+ set (qt6_qmake_candidates "" )
11+
12+ find_package (Qt6CoreTools QUIET )
13+ if (TARGET Qt6::qmake)
14+ get_target_property (qt6_qmake_target Qt6::qmake IMPORTED_LOCATION )
15+ if (qt6_qmake_target)
16+ list (APPEND qt6_qmake_candidates "${qt6_qmake_target} " )
17+ endif ()
18+ endif ()
19+
20+ find_program (qmake6_executable
21+ NAMES qmake6 qmake-qt6 qmake
22+ HINTS
23+ /usr/lib/qt6/bin
24+ /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/qt6/bin
25+ )
26+ if (qmake6_executable)
27+ list (APPEND qt6_qmake_candidates "${qmake6_executable} " )
28+ endif ()
29+
30+ list (REMOVE_DUPLICATES qt6_qmake_candidates)
31+
32+ foreach (qmake_candidate IN LISTS qt6_qmake_candidates)
33+ execute_process (
34+ COMMAND "${qmake_candidate} " -query QT_VERSION
35+ OUTPUT_VARIABLE qmake_qt_version
36+ OUTPUT_STRIP_TRAILING_WHITESPACE
37+ ERROR_QUIET
38+ RESULT_VARIABLE qmake_result
39+ )
40+ if (qmake_result EQUAL 0 AND qmake_qt_version MATCHES "^6\\ ." )
41+ set (${out_var} "${qmake_candidate} " PARENT_SCOPE )
42+ return ()
43+ endif ()
44+ endforeach ()
45+
46+ set (${out_var} "" PARENT_SCOPE )
47+ endfunction ()
48+
49+ resolve_qt6_qmake (QT6_QMAKE )
50+ if (QT6_QMAKE)
51+ message (STATUS "Using Qt qmake for AppImage packaging: ${QT6_QMAKE} " )
52+ set (APPIMAGE_ENV_VARS
53+ LDAI_OUTPUT=NotepadNext-v${PROJECT_VERSION } -x86_64.AppImage
54+ QMAKE=${QT6_QMAKE}
55+ )
56+ else ()
57+ message (WARNING "Could not locate a Qt 6 qmake binary for AppImage packaging" )
58+ set (APPIMAGE_ENV_VARS
59+ LDAI_OUTPUT=NotepadNext-v${PROJECT_VERSION } -x86_64.AppImage
60+ )
61+ endif ()
62+
963install (TARGETS NotepadNext
1064 RUNTIME DESTINATION bin
1165)
@@ -40,7 +94,7 @@ add_custom_target(download_linuxdeploy
4094
4195add_custom_target (appimage
4296 COMMAND ${CMAKE_COMMAND } -E env
43- LDAI_OUTPUT=NotepadNext-v${PROJECT_VERSION}-x86_64.AppImage
97+ ${APPIMAGE_ENV_VARS}
4498 ${LINUXDEPLOY}
4599 --appdir ${APPDIR}
46100 --executable ${APPDIR_USR} /bin/NotepadNext
0 commit comments