Compare commits
10 Commits
gitea-test
...
2509-gitea
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a8bcf0d66 | |||
| ccb8fb57e1 | |||
| bbc9b08266 | |||
| 3b859c59c5 | |||
| 71e42a9f99 | |||
| 759f295e2b | |||
| 51afc77f38 | |||
| ae0c1997ef | |||
| 3588f1f05e | |||
| c209481446 |
@@ -19,22 +19,25 @@ jobs:
|
||||
include:
|
||||
- runner: jfjoch_rocky8
|
||||
distro: rocky8
|
||||
cmake_flags: -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=ON
|
||||
- runner: jfjoch_rocky8
|
||||
distro: rocky8_sls9
|
||||
cmake_flags: -DJFJOCH_INSTALL_DRIVER_SOURCE=OFF -DJFJOCH_VIEWER_BUILD=OFF -DSLS9=ON
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=ON
|
||||
- runner: jfjoch_rocky9
|
||||
distro: rocky9
|
||||
cmake_flags: -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=ON
|
||||
- runner: jfjoch_ubuntu2204
|
||||
distro: ubuntu2204
|
||||
cmake_flags: -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=ON
|
||||
- runner: jfjoch_ubuntu2404
|
||||
distro: ubuntu2404
|
||||
cmake_flags: -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=ON
|
||||
- runner: jfjoch_ubuntu2204
|
||||
distro: ubuntu2204_nocuda
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=OFF
|
||||
- runner: jfjoch_rocky8
|
||||
distro: rocky8_nocuda
|
||||
cmake_flags: -DJFJOCH_INSTALL_DRIVER_SOURCE=OFF -DJFJOCH_VIEWER_BUILD=OFF -DJFJOCH_USE_CUDA=OFF
|
||||
cmake_flags: -DJFJOCH_USE_CUDA=OFF
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build packages
|
||||
@@ -42,7 +45,7 @@ jobs:
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_flags }} ..
|
||||
cmake -G Ninja -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_flags }} ..
|
||||
ninja frontend
|
||||
ninja -j16 package
|
||||
- name: Upload packages
|
||||
@@ -55,7 +58,7 @@ jobs:
|
||||
if [ -f "$file" ]; then
|
||||
curl --user __token__:${{ secrets.PIP_REPOSITORY_API_TOKEN }} \
|
||||
--upload-file "$file" \
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/cuda12/upload
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-cuda12/upload
|
||||
fi
|
||||
done
|
||||
elif [ "${{ matrix.distro }}" = "rocky9" ]; then
|
||||
@@ -63,7 +66,7 @@ jobs:
|
||||
if [ -f "$file" ]; then
|
||||
curl --user __token__:${{ secrets.PIP_REPOSITORY_API_TOKEN }} \
|
||||
--upload-file "$file" \
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/cuda13/upload
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-cuda13/upload
|
||||
fi
|
||||
done
|
||||
elif [ "${{ matrix.distro }}" = "rocky8_nocuda" ]; then
|
||||
@@ -71,7 +74,7 @@ jobs:
|
||||
if [ -f "$file" ]; then
|
||||
curl --user __token__:${{ secrets.PIP_REPOSITORY_API_TOKEN }} \
|
||||
--upload-file "$file" \
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/nocuda/upload
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-nocuda/upload
|
||||
fi
|
||||
done
|
||||
elif [ "${{ matrix.distro }}" = "rocky8_sls9" ]; then
|
||||
@@ -79,7 +82,15 @@ jobs:
|
||||
if [ -f "$file" ]; then
|
||||
curl --user __token__:${{ secrets.PIP_REPOSITORY_API_TOKEN }} \
|
||||
--upload-file "$file" \
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/cuda12-sls9/upload
|
||||
https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet9-cuda12/upload
|
||||
fi
|
||||
done
|
||||
elif [ "${{ matrix.distro }}" = "ubuntu2204_nocuda" ]; then
|
||||
for file in *.deb; do
|
||||
if [ -f "$file" ]; then
|
||||
curl --user __token__:${{ secrets.PIP_REPOSITORY_API_TOKEN }} \
|
||||
--upload-file "$file" \
|
||||
https://gitea.psi.ch/api/packages/mx/debian/pool/jammy/nocuda/upload
|
||||
fi
|
||||
done
|
||||
elif [ "${{ matrix.distro }}" = "ubuntu2204" ]; then
|
||||
|
||||
@@ -204,11 +204,7 @@ ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
# Set Package Name
|
||||
# Initialize CPACK_COMPONENTS_ALL with common components
|
||||
set(CPACK_COMPONENTS_ALL jfjoch writer)
|
||||
if (SLS9)
|
||||
set(CPACK_PACKAGE_NAME "jfjoch-slsdet9")
|
||||
else()
|
||||
set(CPACK_PACKAGE_NAME "jfjoch")
|
||||
endif()
|
||||
set(CPACK_PACKAGE_NAME "jfjoch")
|
||||
|
||||
# Add optional components
|
||||
if (JFJOCH_INSTALL_DRIVER_SOURCE)
|
||||
@@ -234,7 +230,7 @@ if (EXISTS "/etc/debian_version")
|
||||
# Debian/Ubuntu: .deb with components
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
||||
set(CPACK_DEBIAN_MAIN_COMPONENT jfjoch)
|
||||
set(CPACK_DEBIAN_MAIN_COMPONENT broker)
|
||||
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||
|
||||
# Enable automatic shlib dependency discovery
|
||||
|
||||
@@ -32,11 +32,9 @@ RUN dnf -y update && \
|
||||
redhat-rpm-config \
|
||||
ninja-build \
|
||||
libxcb-devel \
|
||||
xcb-util-wm-devel \
|
||||
xcb-util-image-devel \
|
||||
xcb-util-keysyms-devel \
|
||||
xcb-util-renderutil-devel \
|
||||
xcb-util-*-devel \
|
||||
libxkbcommon-devel \
|
||||
libxkbcommon-x11-devel \
|
||||
libX11-devel \
|
||||
libXext-devel \
|
||||
libXrender-devel \
|
||||
@@ -50,6 +48,8 @@ RUN dnf -y update && \
|
||||
dbus-devel \
|
||||
zlib-devel \
|
||||
glib2-devel \
|
||||
fftw-static \
|
||||
fftw-devel \
|
||||
fontconfig-devel \
|
||||
zlib-static \
|
||||
java-21-openjdk-headless \
|
||||
@@ -61,6 +61,8 @@ RUN dnf -y update && \
|
||||
python3-setuptools \
|
||||
python3-wheel \
|
||||
twine \
|
||||
openblas \
|
||||
openblas-devel \
|
||||
freetype-devel && \
|
||||
dnf clean all && rm -rf /var/cache/dnf
|
||||
|
||||
@@ -110,6 +112,9 @@ RUN set -eux; \
|
||||
-DQT_BUILD_TESTS=OFF \
|
||||
-DQT_BUILD_EXAMPLES=OFF \
|
||||
-DQT_FEATURE_dbus=ON \
|
||||
-DQT_FEATURE_xcb=ON \
|
||||
-DQT_FEATURE_xcb_xlib=ON \
|
||||
-DQT_FEATURE_xkbcommon_x11=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=${QT_PREFIX} \
|
||||
-DCMAKE_C_COMPILER=${CC} \
|
||||
|
||||
@@ -35,11 +35,9 @@ RUN dnf -y update && \
|
||||
perl \
|
||||
pkgconf-pkg-config \
|
||||
libxcb-devel \
|
||||
xcb-util-wm-devel \
|
||||
xcb-util-image-devel \
|
||||
xcb-util-keysyms-devel \
|
||||
xcb-util-renderutil-devel \
|
||||
xcb-util-*-devel \
|
||||
libxkbcommon-devel \
|
||||
libxkbcommon-x11-devel \
|
||||
libX11-devel \
|
||||
libXext-devel \
|
||||
libXrender-devel \
|
||||
@@ -53,8 +51,13 @@ RUN dnf -y update && \
|
||||
dbus-devel \
|
||||
zlib-devel \
|
||||
glib2-devel \
|
||||
fftw-static \
|
||||
fftw-devel \
|
||||
eigen3-devel \
|
||||
zlib-static \
|
||||
fontconfig-devel \
|
||||
openblas-devel \
|
||||
openblas-serial \
|
||||
freetype-devel && \
|
||||
dnf clean all && rm -rf /var/cache/dnf
|
||||
|
||||
@@ -78,15 +81,6 @@ RUN curl -fsSL https://rpm.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \
|
||||
dnf clean all && rm -rf /var/cache/dnf && \
|
||||
node --version && npm --version && (corepack enable || true)
|
||||
|
||||
# Header-only Eigen (clone a specific tag)
|
||||
RUN git clone --depth 1 --branch ${EIGEN_TAG} https://gitlab.com/libeigen/eigen.git /tmp/eigen && \
|
||||
cd /tmp/eigen && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/eigen && \
|
||||
make install && \
|
||||
rm -rf /tmp/eigen
|
||||
|
||||
# Make GCC/G++ 13 the default for builds
|
||||
ENV GCC_TOOLSET_ROOT=/opt/rh/gcc-toolset-13/root
|
||||
ENV PATH=${GCC_TOOLSET_ROOT}/usr/bin:${PATH}
|
||||
@@ -106,6 +100,9 @@ RUN set -eux; \
|
||||
-DQT_BUILD_TESTS=OFF \
|
||||
-DQT_BUILD_EXAMPLES=OFF \
|
||||
-DQT_FEATURE_dbus=ON \
|
||||
-DQT_FEATURE_xcb=ON \
|
||||
-DQT_FEATURE_xcb_xlib=ON \
|
||||
-DQT_FEATURE_xkbcommon_x11=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=${QT_PREFIX} \
|
||||
-DCMAKE_C_COMPILER=${CC} \
|
||||
@@ -119,7 +116,7 @@ RUN set -eux; \
|
||||
cd /; rm -rf /tmp/qt-everywhere-src-${QT_VERSION} /tmp/qt-everywhere-src-${QT_VERSION}.tar.xz
|
||||
|
||||
# Make Qt and Eigen discoverable by CMake
|
||||
ENV CMAKE_PREFIX_PATH=/opt/qt-${QT_VERSION}-static:/opt/eigen
|
||||
ENV CMAKE_PREFIX_PATH=/opt/qt-${QT_VERSION}-static
|
||||
|
||||
# Set workdir for your project
|
||||
WORKDIR /workspace
|
||||
|
||||
@@ -43,6 +43,7 @@ RUN set -eux; \
|
||||
libxfixes-dev \
|
||||
libxinerama-dev \
|
||||
libxkbcommon-dev \
|
||||
libxkbcommon-x11-dev \
|
||||
libx11-xcb-dev \
|
||||
libxcb-image0-dev \
|
||||
libxcb-icccm4-dev \
|
||||
@@ -52,12 +53,21 @@ RUN set -eux; \
|
||||
libxcb-randr0-dev \
|
||||
libxcb-xkb-dev \
|
||||
libxcb-shm0-dev \
|
||||
libxcb-cursor0 \
|
||||
libxcb-cursor-dev \
|
||||
libxcb-shape0-dev \
|
||||
libxcb-sync-dev \
|
||||
libxcb-xfixes0-dev \
|
||||
libxcb-glx0-dev \
|
||||
libgl1-mesa-dev \
|
||||
libegl1-mesa-dev \
|
||||
libdbus-1-dev \
|
||||
zlib1g-dev \
|
||||
libglib2.0-dev \
|
||||
libfontconfig1-dev \
|
||||
libopenblas-dev \
|
||||
libfftw3-dev \
|
||||
libeigen3-dev \
|
||||
libfreetype6-dev; \
|
||||
apt-get -y install gcc-12 g++-12; \
|
||||
apt-get clean; \
|
||||
@@ -87,15 +97,6 @@ RUN set -eux; \
|
||||
rm -rf /var/lib/apt/lists/*; \
|
||||
node --version; npm --version; (corepack enable || true)
|
||||
|
||||
# Header-only Eigen (specific tag)
|
||||
RUN git clone --depth 1 --branch ${EIGEN_TAG} https://gitlab.com/libeigen/eigen.git /tmp/eigen && \
|
||||
cd /tmp/eigen && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/eigen && \
|
||||
make install && \
|
||||
rm -rf /tmp/eigen
|
||||
|
||||
# Use GCC/G++ 12 for builds
|
||||
ENV CC=/usr/bin/gcc-12
|
||||
ENV CXX=/usr/bin/g++-12
|
||||
@@ -114,6 +115,9 @@ RUN set -eux; \
|
||||
-DQT_BUILD_TESTS=OFF \
|
||||
-DQT_BUILD_EXAMPLES=OFF \
|
||||
-DQT_FEATURE_dbus=ON \
|
||||
-DQT_FEATURE_xcb=ON \
|
||||
-DQT_FEATURE_xcb_xlib=ON \
|
||||
-DQT_FEATURE_xkbcommon_x11=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=${QT_PREFIX} \
|
||||
-DCMAKE_C_COMPILER=${CC} \
|
||||
@@ -127,7 +131,7 @@ RUN set -eux; \
|
||||
cd /; rm -rf /tmp/qt-everywhere-src-${QT_VERSION} /tmp/qt-everywhere-src-${QT_VERSION}.tar.xz
|
||||
|
||||
# Make Qt and Eigen discoverable by CMake
|
||||
ENV CMAKE_PREFIX_PATH=/opt/qt-${QT_VERSION}-static:/opt/eigen
|
||||
ENV CMAKE_PREFIX_PATH=/opt/qt-${QT_VERSION}-static
|
||||
|
||||
# Set workdir for your project
|
||||
WORKDIR /workspace
|
||||
|
||||
@@ -41,7 +41,11 @@ RUN set -eux; \
|
||||
libxfixes-dev \
|
||||
libxinerama-dev \
|
||||
libxkbcommon-dev \
|
||||
libxkbcommon-x11-dev \
|
||||
libx11-xcb-dev \
|
||||
libxcb-shape0-dev \
|
||||
libxcb-sync-dev \
|
||||
libxcb-xfixes0-dev \
|
||||
libxcb-image0-dev \
|
||||
libxcb-icccm4-dev \
|
||||
libxcb-keysyms1-dev \
|
||||
@@ -50,12 +54,21 @@ RUN set -eux; \
|
||||
libxcb-randr0-dev \
|
||||
libxcb-xkb-dev \
|
||||
libxcb-shm0-dev \
|
||||
libxcb-cursor0 \
|
||||
libxcb-cursor-dev \
|
||||
libxcb-glx0-dev \
|
||||
libgl1-mesa-dev \
|
||||
libegl1-mesa-dev \
|
||||
libdbus-1-dev \
|
||||
zlib1g-dev \
|
||||
libglib2.0-dev \
|
||||
libfontconfig1-dev \
|
||||
libopenblas-dev \
|
||||
libfftw3-dev \
|
||||
qt6-base-dev \
|
||||
qt6-charts-dev \
|
||||
qt6-tools-dev \
|
||||
libeigen3-dev \
|
||||
libfreetype6-dev; \
|
||||
apt-get clean; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
@@ -84,48 +97,6 @@ RUN set -eux; \
|
||||
rm -rf /var/lib/apt/lists/*; \
|
||||
node --version; npm --version; (corepack enable || true)
|
||||
|
||||
# Header-only Eigen (specific tag)
|
||||
RUN git clone --depth 1 --branch ${EIGEN_TAG} https://gitlab.com/libeigen/eigen.git /tmp/eigen && \
|
||||
cd /tmp/eigen && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/eigen && \
|
||||
make install && \
|
||||
rm -rf /tmp/eigen
|
||||
|
||||
# Use GCC/G++ 13 for builds (default on Ubuntu 24.04)
|
||||
ENV CC=/usr/bin/gcc
|
||||
ENV CXX=/usr/bin/g++
|
||||
RUN gcc --version && g++ --version
|
||||
|
||||
# Build and install static Qt 6.9 with Core, Gui, Widgets, Charts, DBus
|
||||
ARG QT_PREFIX=/opt/qt-${QT_VERSION}-static
|
||||
RUN set -eux; \
|
||||
cd /tmp; \
|
||||
curl -LO https://download.qt.io/official_releases/qt/6.9/${QT_VERSION}/single/qt-everywhere-src-${QT_VERSION}.tar.xz; \
|
||||
tar -xf qt-everywhere-src-${QT_VERSION}.tar.xz; \
|
||||
mkdir -p qt-everywhere-src-${QT_VERSION}/build && cd qt-everywhere-src-${QT_VERSION}/build; \
|
||||
cmake -G Ninja \
|
||||
-DQT_BUILD_SUBMODULES="qtbase;qtshadertools;qtdeclarative;qtcharts" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DQT_BUILD_TESTS=OFF \
|
||||
-DQT_BUILD_EXAMPLES=OFF \
|
||||
-DQT_FEATURE_dbus=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=${QT_PREFIX} \
|
||||
-DCMAKE_C_COMPILER=${CC} \
|
||||
-DCMAKE_CXX_COMPILER=${CXX} \
|
||||
-DQT_FEATURE_openssl=ON \
|
||||
-DQT_FEATURE_openssl_linked=ON \
|
||||
-DOPENSSL_USE_STATIC_LIBS=TRUE \
|
||||
..; \
|
||||
cmake --build . -j"$(nproc)"; \
|
||||
cmake --install .; \
|
||||
cd /; rm -rf /tmp/qt-everywhere-src-${QT_VERSION} /tmp/qt-everywhere-src-${QT_VERSION}.tar.xz
|
||||
|
||||
# Make Qt and Eigen discoverable by CMake
|
||||
ENV CMAKE_PREFIX_PATH=/opt/qt-${QT_VERSION}-static:/opt/eigen
|
||||
|
||||
# Set workdir for your project
|
||||
WORKDIR /workspace
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
SET(MINIGLOG ON)
|
||||
SET(PROVIDE_UNINSTALL_TARGET OFF)
|
||||
set(USE_CUDA OFF) # or ON, if you use Ceres' CUDA support
|
||||
set(CERES_USE_EIGEN_SPARSE ON)
|
||||
set(SUITESPARSE OFF)
|
||||
SET(USE_CUDA OFF)
|
||||
SET(CERES_USE_EIGEN_SPARSE ON)
|
||||
SET(EIGEN_USE_BLAS ON)
|
||||
SET(CERES_USE_LAPACK ON)
|
||||
SET(SUITESPARSE OFF)
|
||||
|
||||
# Prevent MKL/BLAS/LAPACK from being found (guarantees no MKL)
|
||||
set(CMAKE_DISABLE_FIND_PACKAGE_MKL TRUE)
|
||||
#set(CMAKE_DISABLE_FIND_PACKAGE_BLAS TRUE)
|
||||
#set(CMAKE_DISABLE_FIND_PACKAGE_LAPACK TRUE)
|
||||
set(CERES_THREADING_MODEL "OFF")
|
||||
SET(CMAKE_DISABLE_FIND_PACKAGE_MKL TRUE)
|
||||
SET(CERES_THREADING_MODEL "OFF")
|
||||
|
||||
find_package(Eigen3 3.4 REQUIRED NO_MODULE) # provides Eigen3::Eigen
|
||||
|
||||
|
||||
@@ -56,9 +56,8 @@ ADD_EXECUTABLE(jfjoch_viewer jfjoch_viewer.cpp JFJochViewerWindow.cpp JFJochView
|
||||
windows/JFJochViewerReflectionListWindow.h
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(jfjoch_viewer Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Charts
|
||||
JFJochReader JFJochLogger JFJochCommon JFJochWriter JFJochSpotFinding
|
||||
JFJochGeomRefinement)
|
||||
TARGET_LINK_LIBRARIES(jfjoch_viewer Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Charts Qt6::DBus
|
||||
JFJochReader JFJochLogger JFJochCommon JFJochWriter JFJochImageAnalysis)
|
||||
INSTALL(TARGETS jfjoch_viewer RUNTIME COMPONENT viewer)
|
||||
|
||||
INSTALL(
|
||||
@@ -67,4 +66,4 @@ INSTALL(
|
||||
COMPONENT viewer
|
||||
)
|
||||
|
||||
qt_import_plugins(jfjoch_viewer INCLUDE Qt::QLibInputPlugin)
|
||||
qt_import_plugins(jfjoch_viewer INCLUDE Qt::QLibInputPlugin Qt::QXcbIntegrationPlugin)
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QSpinBox>
|
||||
#include <QDialogButtonBox>
|
||||
|
||||
#include "../common/GitInfo.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user