Skip to content

Commit 1f7ef3e

Browse files
committed
add target for creating a flatpak bundle to CMake
1 parent e73e522 commit 1f7ef3e

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

tools/lammps-gui/CMakeLists.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,23 @@ if(BUILD_OMP)
198198
target_link_libraries(lammps-gui PRIVATE OpenMP::OpenMP_CXX)
199199
endif()
200200

201+
# build LAMMPS-GUI and LAMMPS as flatpak, if tools are installed
202+
find_program(FLATPAK_COMMAND flatpak DOC "Path to flatpak command")
203+
find_program(FLATPAK_BUILDER flatpak-builder DOC "Path to flatpak-builder command")
204+
if(FLATPAK_COMMAND AND FLATPAK_BUILDER)
205+
add_custom_target(flatpak
206+
COMMAND ${FLATPAK_BUILDER} --force-clean --verbose --ccache --repo=repo --user --install-deps-from=flathub flatpak-build ${LAMMPS_DIR}/tools/lammps-gui/org.lammps.lammps-gui.yml
207+
COMMAND ${FLATPAK_COMMAND} build-bundle --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo --verbose
208+
repo LAMMPS_GUI-Linux-amd64.flatpak org.lammps.lammps-gui
209+
COMMENT "Create Flatpak bundle file of LAMMPS-GUI and LAMMPS"
210+
BYPRODUCT LAMMPS-Linux-amd64.flatpak
211+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
212+
)
213+
else()
214+
add_custom_target(flatpak
215+
COMMAND ${CMAKE_COMMAND} -E echo "The flatpak and flatpak-builder commands required to build a LAMMPS-GUI flatpak bundle were not found. Skipping.")
216+
endif()
217+
201218
# when compiling on macOS, create an "app bundle"
202219
if(APPLE)
203220
set_target_properties(lammps-gui PROPERTIES
@@ -308,10 +325,11 @@ elseif((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND NOT LAMMPS_GUI_USE_PLUGIN)
308325
message(WARNING "Unresolved dependencies detected: ${_u_deps}")
309326
endif() ]]
310327
)
328+
311329
add_custom_target(tgz
312330
COMMAND ${LAMMPS_DIR}/cmake/packaging/build_linux_tgz.sh
313331
DEPENDS lammps-gui
314-
COMMENT "Create compressed tar file of LAMMPS with dependent libraries and wrapper"
332+
COMMENT "Create compressed tar file of LAMMPS-GUI with dependent libraries and wrapper"
315333
BYPRODUCT LAMMPS-Linux-amd64.tar.gz
316334
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
317335
)

tools/lammps-gui/flatpak/org.lammps.lammps-gui.yml renamed to tools/lammps-gui/org.lammps.lammps-gui.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
id: org.lammps.lammps-gui
2-
default-branch: 1.6.6
32
runtime: org.kde.Platform
43
runtime-version: "5.15-23.08"
54
sdk: org.kde.Sdk
@@ -55,6 +54,8 @@ modules:
5554
- -D PKG_EXTRA-PAIR=yes
5655
- -D PKG_FEP=yes
5756
- -D PKG_GRANULAR=yes
57+
- -D PKG_GPU=yes
58+
- -D GPU_API=opencl
5859
- -D PKG_INTERLAYER=yes
5960
- -D PKG_KSPACE=yes
6061
- -D PKG_LEPTON=yes
@@ -104,6 +105,7 @@ modules:
104105
- -D CMAKE_Fortran_COMPILER=gfortran
105106
- -D CMAKE_BUILD_TYPE=Release
106107
- -D DOWNLOAD_POTENTIALS=no
108+
- -D BUILD_TOOLS=yes
107109
sources:
108110
- type: git
109111
url: https://github.com/akohlmey/lammps.git

0 commit comments

Comments
 (0)