-
-
Notifications
You must be signed in to change notification settings - Fork 617
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools: create a pipeline for building WebView via Qt 6
* The compilation works successfully, but it doesn't work in the viewer.
- Loading branch information
1 parent
3b6ed15
commit a5b0765
Showing
5 changed files
with
124 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
cmake_minimum_required(VERSION 3.5) | ||
|
||
project(AnthiasWebView LANGUAGES CXX) | ||
|
||
set(CMAKE_INCLUDE_CURRENT_DIR ON) | ||
|
||
set(CMAKE_AUTOUIC ON) | ||
set(CMAKE_AUTOMOC ON) | ||
set(CMAKE_AUTORCC ON) | ||
|
||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
|
||
find_package( | ||
Qt6 COMPONENTS | ||
Core | ||
DBus | ||
Widgets | ||
WebEngineCore | ||
WebEngineWidgets | ||
REQUIRED | ||
) | ||
|
||
set( | ||
CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wl,-rpath-link, ${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} -L${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}" | ||
) | ||
set( | ||
CMAKE_CXX_FLAGS | ||
"${CMAKE_CXX_FLAGS} -fPIC -Wl,-rpath-link,${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} -L${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}" | ||
) | ||
|
||
add_executable( | ||
ScreenlyWebview | ||
src/main.cpp | ||
src/mainwindow.cpp | ||
src/view.cpp | ||
src/mainwindow.h | ||
src/view.h | ||
) | ||
|
||
target_link_libraries( | ||
ScreenlyWebview PRIVATE | ||
Qt6::Core | ||
Qt6::DBus | ||
Qt6::WebEngineCore | ||
Qt6::WebEngineWidgets | ||
) | ||
|
||
target_include_directories(ScreenlyWebview PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM arm32v7/debian:bookworm | ||
|
||
RUN apt-get update -y && \ | ||
apt-get install -y \ | ||
cmake \ | ||
rsync \ | ||
gcc-arm-linux-gnueabihf \ | ||
g++-arm-linux-gnueabihf \ | ||
qt6-base-dev \ | ||
qt6-webengine-dev | ||
Check notice Code scanning / SonarCloud Arguments in long RUN instructions should be sorted Low
Sort these package names alphanumerically. See more on SonarCloud
|
||
|
||
WORKDIR /build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
CORE_COUNT="$(nproc)" | ||
|
||
function build_webview() { | ||
local ARCHIVE_NAME="webview.tar.gz" | ||
local ARCHIVE_DESTINATION="/build/${ARCHIVE_NAME}" | ||
|
||
rsync -aP /webview /build | ||
cd /build/webview | ||
mkdir -p build && cd build | ||
cmake .. | ||
cmake --build . --parallel "${CORE_COUNT}" | ||
|
||
mkdir -p fakeroot/bin fakeroot/share/ScreenlyWebview | ||
mv ScreenlyWebview fakeroot/bin/ | ||
cp -rf ../res fakeroot/share/ScreenlyWebview/ | ||
|
||
cd fakeroot | ||
|
||
tar cfz ${ARCHIVE_DESTINATION} . | ||
} | ||
|
||
function main() { | ||
local RELEASE_DIR='/build/release' | ||
mkdir -p ${RELEASE_DIR} | ||
|
||
build_webview | ||
} | ||
|
||
main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
WEBVIEW_BUILDER_IMAGE_NAME='webview-builder' | ||
WEBVIEW_BUILDER_CONTAINER_NAME='webview-builder-container' | ||
|
||
BUILDX_ARGS=( | ||
'-f' 'docker/Dockerfile.qt6' | ||
'--platform' 'linux/arm/v7' | ||
'-t' "${WEBVIEW_BUILDER_IMAGE_NAME}" | ||
) | ||
|
||
RUN_ARGS=( | ||
'-itd' | ||
'--name' "${WEBVIEW_BUILDER_CONTAINER_NAME}" | ||
'-v' './build:/build' | ||
'-v' './src:/webview/src' | ||
'-v' './res:/webview/res' | ||
'-v' './CMakeLists.txt:/webview/CMakeLists.txt' | ||
'-v' './ScreenlyWebview.pro:/webview/ScreenlyWebview.pro' | ||
'-v' './scripts/build_webview.sh:/scripts/build_webview.sh' | ||
"${WEBVIEW_BUILDER_IMAGE_NAME}" | ||
) | ||
|
||
docker buildx build --load "${BUILDX_ARGS[@]}" . | ||
docker rm -f "${WEBVIEW_BUILDER_CONTAINER_NAME}" || true | ||
docker run "${RUN_ARGS[@]}" bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters