mirror of
https://github.com/x-tools-author/x-tools.git
synced 2025-09-15 15:28:40 +08:00
chore: do something make linux happy
This commit is contained in:
parent
ba625cc19f
commit
84f9125163
3
.github/workflows/build-daily.yml
vendored
3
.github/workflows/build-daily.yml
vendored
@ -91,8 +91,7 @@ jobs:
|
||||
cd build
|
||||
cmake ../ -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/${{env.QT_VERSION}}/linux_gcc_64' -DCMAKE_BUILD_TYPE:STRING=Release -G "Ninja"
|
||||
cmake --build . --target xTools
|
||||
cmake --build . --target xTools_deb
|
||||
cmake --build . --target xTools_appimage
|
||||
cmake --build . --target xTools_linux
|
||||
- name: Upload Release Asset for Linux
|
||||
run: |
|
||||
dir bin/Linux/Release
|
||||
|
||||
3
.github/workflows/build-ubuntu.yml
vendored
3
.github/workflows/build-ubuntu.yml
vendored
@ -45,4 +45,5 @@ jobs:
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/${{ matrix.version }}/${{ matrix.arch }}' -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../
|
||||
cmake --build . --target all
|
||||
cmake --build . --target xTools
|
||||
cmake --build . --target xTools_linux
|
||||
|
||||
@ -36,7 +36,7 @@ list(APPEND X_TOOLS_QT_COMPONENTS Network)
|
||||
list(APPEND X_TOOLS_QT_COMPONENTS LinguistTools)
|
||||
|
||||
# Qt6 is preferred, but Qt5 is also supported
|
||||
find_package(Qt NAMES Qt5 Qt6 REQUIRED COMPONENTS ${X_TOOLS_QT_COMPONENTS})
|
||||
find_package(QT NAMES Qt5 Qt6 REQUIRED COMPONENTS ${X_TOOLS_QT_COMPONENTS})
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS ${X_TOOLS_QT_COMPONENTS})
|
||||
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
|
||||
@ -20,7 +20,7 @@ function(x_build_deb target packetName friendlyName version icon)
|
||||
list(APPEND args "-DargAssetName=${X_ASSET_NAME}")
|
||||
|
||||
foreach(arg ${args})
|
||||
message(STATUS "[${package_type}]arg: ${arg}")
|
||||
message(STATUS "[deb]arg: ${arg}")
|
||||
endforeach()
|
||||
|
||||
# cmake-format: off
|
||||
|
||||
@ -9,16 +9,18 @@
|
||||
# * DargPackageType: deb or appimage
|
||||
# * DargTargetFile: target file path
|
||||
|
||||
set(argWorkingDir ${argWorkingDir}/appimage)
|
||||
|
||||
# Remove old working dir then create a new one
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory ${argWorkingDir} -rf true)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${argWorkingDir}/usr/bin)
|
||||
|
||||
# Copy files
|
||||
# cmake-format: off
|
||||
message(STATUS "Copy file ${argTargetFile} to ${argWorkingDir}/usr/bin/${argPacketName}")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${argSrcDir}/cmake/linux/app
|
||||
${argWorkingDir})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${argTargetFile}
|
||||
${argWorkingDir}/usr/bin/${argPacketName})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${argSrcDir}/cmake/linux/app ${argWorkingDir})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${argTargetFile} ${argWorkingDir}/usr/bin/${argPacketName})
|
||||
# cmake-format: on
|
||||
|
||||
# Update control file
|
||||
set(control_file ${argWorkingDir}/DEBIAN/control)
|
||||
@ -53,26 +55,20 @@ set(old_text icon.png)
|
||||
set(new_text ${argPacketName})
|
||||
execute_process(COMMAND sed -i s/${old_text}/${new_text}/g ${desktop_file_name})
|
||||
|
||||
# cmake-format: off
|
||||
if(${argPackageType} STREQUAL "deb")
|
||||
execute_process(COMMAND ${argTool} usr/share/applications/${argPacketName}.desktop
|
||||
-always-overwrite -bundle-non-qt-libs -qmake=${argQmakePath}
|
||||
WORKING_DIRECTORY ${argWorkingDir})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E rm AppRun -f WORKING_DIRECTORY ${argWorkingDir})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E rm ${argPacketName}.desktop -f WORKING_DIRECTORY ${argWorkingDir})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E rm ${argPacketName}.png -f WORKING_DIRECTORY ${argWorkingDir})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory usr/share/doc WORKING_DIRECTORY ${argWorkingDir})
|
||||
execute_process(COMMAND dpkg -b ./ ${argAssetName}.deb WORKING_DIRECTORY ${argWorkingDir})
|
||||
else()
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E env VERSION=v${argVersion} ${argTool}
|
||||
usr/share/applications/${argPacketName}.desktop -always-overwrite
|
||||
-bundle-non-qt-libs -qmake=${argQmakePath} -appimage
|
||||
WORKING_DIRECTORY ${argWorkingDir})
|
||||
# Rename the AppImage
|
||||
file(GLOB appimages ${argWorkingDir}/*.AppImage)
|
||||
foreach(appimage ${appimages})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${appimage} ${argAssetName}.AppImage WORKING_DIRECTORY ${argWorkingDir})
|
||||
break()
|
||||
endforeach()
|
||||
endif()
|
||||
# cmake-format: on
|
||||
# Make deb directory from appimage
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory appimage deb WORKING_DIRECTORY ${argWorkingDir}/../)
|
||||
|
||||
# Make AppImage
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E env VERSION=v${argVersion} ${argTool}
|
||||
usr/share/applications/${argPacketName}.desktop -always-overwrite
|
||||
-bundle-non-qt-libs -qmake=${argQmakePath} -appimage
|
||||
WORKING_DIRECTORY ${argWorkingDir})
|
||||
# Rename the AppImage
|
||||
file(GLOB appimages ${argWorkingDir}/*.AppImage)
|
||||
foreach(appimage ${appimages})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${appimage} ${argAssetName}.AppImage WORKING_DIRECTORY ${argWorkingDir})
|
||||
endforeach()
|
||||
|
||||
# Make deb
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${argAssetName}.AppImage ../deb/usr/bin/${argPacketName} WORKING_DIRECTORY ${argWorkingDir})
|
||||
execute_process(COMMAND dpkg -b ./ ${argAssetName}.deb WORKING_DIRECTORY ${argWorkingDir}/../deb)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user