Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
{
"version": 10,
"cmakeMinimumRequired": {
"major": 3,
"minor": 31,
"patch": 0
},
"configurePresets": [
{
"name": "x86_64",
"hidden": false,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/x86_64",
"toolchainFile": "${sourceDir}/toolchain-x86_64.cmake"
},
{
"name": "aarch64",
"hidden": false,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/aarch64",
"toolchainFile": "${sourceDir}/toolchain-aarch64.cmake"
}
],
"buildPresets": [
{
"name": "x86_64",
"configurePreset": "x86_64"
},
{
"name": "aarch64",
"configurePreset": "aarch64"
}
],
"packagePresets": [
{
"name": "x86_64-fedora",
"configurePreset": "x86_64",
"generators": [
"TGZ",
"RPM"
]
},
{
"name": "x86_64-ubuntu",
"configurePreset": "x86_64",
"generators": [
"DEB"
]
},
{
"name": "aarch64-fedora",
"configurePreset": "aarch64",
"generators": [
"TGZ",
"RPM"
]
},
{
"name": "aarch64-ubuntu",
"configurePreset": "aarch64",
"generators": [
"DEB"
]
}
],
"workflowPresets": [
{
"name": "fedora-x86_64",
"steps": [
{
"type": "configure",
"name": "x86_64"
},
{
"type": "build",
"name": "x86_64"
},
{
"type": "package",
"name": "x86_64-fedora"
}
]
},
{
"name": "fedora-aarch64",
"steps": [
{
"type": "configure",
"name": "aarch64"
},
{
"type": "build",
"name": "aarch64"
},
{
"type": "package",
"name": "aarch64-fedora"
}
]
},
{
"name": "ubuntu-x86_64",
"steps": [
{
"type": "configure",
"name": "x86_64"
},
{
"type": "build",
"name": "x86_64"
},
{
"type": "package",
"name": "x86_64-ubuntu"
}
]
},
{
"name": "ubuntu-aarch64",
"steps": [
{
"type": "configure",
"name": "aarch64"
},
{
"type": "build",
"name": "aarch64"
},
{
"type": "package",
"name": "aarch64-ubuntu"
}
]
}
]
}
3 changes: 2 additions & 1 deletion scripts/fedora/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
FROM fedora:latest

RUN dnf update -y && \
dnf install -y @development-tools gcc-c++ ninja-build cmake extra-cmake-modules libcurl-devel qt6-qtbase-devel kf6-kcoreaddons-devel kf6-ki18n-devel kf6-knotifications-devel kf6-kxmlgui-devel rpm-build
dnf install -y @development-tools gcc-c++ ninja-build cmake extra-cmake-modules libcurl-devel qt6-qtbase-devel kf6-kcoreaddons-devel kf6-ki18n-devel kf6-knotifications-devel kf6-kxmlgui-devel rpm-build && \
dnf install -y --use-host-config --installroot=/roots/aarch64-rootfs --releasever=42 --forcearch=aarch64 --setopt=install_weak_deps=False libcurl-devel qt6-qtbase-devel kf6-kcoreaddons-devel kf6-ki18n-devel kf6-knotifications-devel kf6-kxmlgui-devel

ARG USER_ID
ARG GROUP_ID
Expand Down
16 changes: 16 additions & 0 deletions toolchain-aarch64.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)

set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)
set(CMAKE_C_COMPILER_TARGET aarch64-linux-gnu)
set(CMAKE_CXX_COMPILER_TARGET aarch64-linux-gnu)

set(QT_HOST_PATH /usr/lib64/qt6)
set(CMAKE_SYSROOT /roots/aarch64-rootfs) # Path TBD, would break host cross-compilation
set(CMAKE_FIND_ROOT_PATH /roots/aarch64-rootfs) # Path TBD, would break host cross-compilation

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
7 changes: 7 additions & 0 deletions toolchain-x86_64.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR x86_64)

set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)
set(CMAKE_C_COMPILER_TARGET x86_64)
set(CMAKE_CXX_COMPILER_TARGET x86_64)