Skip to content

Commit 98b22c5

Browse files
AndreasBilkeEvgeny
and
Evgeny
authored
Build matrix for pdfpc features (#676)
Build matrix for pdfpc features. Drop unneeded sources if markdown/mdview unselected --------- Co-authored-by: Evgeny <evgeny@si-o-net.com>
1 parent 4a8adcc commit 98b22c5

File tree

3 files changed

+45
-6
lines changed

3 files changed

+45
-6
lines changed

.github/workflows/cmake-ubuntu.yml

+33-2
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,49 @@ jobs:
1717
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
1818
runs-on: ubuntu-latest
1919

20+
strategy:
21+
matrix:
22+
build_movies: [movies_on, movies_off]
23+
build_mdview: [mdview_on, mdview_off]
24+
build_rest: [rest_on, rest_off]
25+
26+
include:
27+
- movies_packages:
28+
- movies_build_flag: off
29+
30+
- movies_packages: libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
31+
build_movies: movies_on
32+
- movies_build_flag: on
33+
build_movies: movies_on
34+
35+
- mdview_packages:
36+
- mdview_build_flag: off
37+
38+
- mdview_packages: libwebkit2gtk-4.0-dev libmarkdown2-dev
39+
build_mdview: mdview_on
40+
- mdview_build_flag: on
41+
build_mdview: mdview_on
42+
43+
- rest_packages:
44+
- rest_build_flag: off
45+
46+
- rest_packages: libsoup2.4-dev libqrencode-dev libmarkdown2-dev
47+
build_rest: rest_on
48+
- rest_build_flag: on
49+
build_rest: rest_on
50+
2051
steps:
2152
- uses: actions/checkout@v3
2253

2354
- name: requirements
2455
run: |
2556
sudo apt update
26-
sudo apt -y install cmake valac libunwind-dev libgee-0.8-dev libpoppler-glib-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libjson-glib-dev libmarkdown2-dev libwebkit2gtk-4.0-dev libsoup2.4-dev libqrencode-dev
57+
sudo apt -y install cmake valac libunwind-dev libgee-0.8-dev libpoppler-glib-dev libgtk-3-dev libjson-glib-dev ${{ matrix.movies_packages }} ${{ matrix.mdview_packages }} ${{ matrix.rest_packages }}
2758
2859
- name: Configure CMake
2960
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
3061
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
31-
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
62+
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMOVIES=${{ matrix.movies_build_flag }} -DMDVIEW=${{ matrix.mdview_build_flag }} -DREST=${{ matrix.rest_build_flag }}
3263

3364
- name: Build
3465
# Build your program with the given configuration

src/CMakeLists.txt

+12-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ pkg_check_modules(GIO REQUIRED gio-2.0)
44
pkg_check_modules(GEE REQUIRED gee-0.8)
55
pkg_check_modules(POPPLER REQUIRED poppler-glib>=0.80)
66
pkg_check_modules(GTK REQUIRED gtk+-3.0>=3.22)
7-
pkg_check_modules(MARKDOWN REQUIRED libmarkdown)
87
pkg_check_modules(JSON REQUIRED json-glib-1.0)
98
list (FIND GTK_STATIC_LIBRARIES "X11" _index)
109
if (${_index} GREATER -1)
@@ -29,10 +28,13 @@ if (MOVIES)
2928
)
3029
endif ()
3130

31+
if (MDVIEW OR REST)
32+
pkg_check_modules(MARKDOWN REQUIRED libmarkdown)
33+
endif ()
34+
3235
if (MDVIEW)
3336
pkg_check_modules(WEBKIT REQUIRED webkit2gtk-4.0)
3437
set(MDVIEW_PACKAGES webkit2gtk-4.0)
35-
set(EXTRA_VALA_OPTIONS ${EXTRA_VALA_OPTIONS} -D MDVIEW)
3638
endif ()
3739

3840
if (REST)
@@ -112,6 +114,14 @@ else ()
112114
LIST(REMOVE_ITEM VALA_SRC classes/rest_server.vala)
113115
LIST(REMOVE_ITEM VALA_SRC classes/window/qrcode.vala)
114116
endif ()
117+
if (MDVIEW)
118+
set(EXTRA_VALA_OPTIONS ${EXTRA_VALA_OPTIONS} -D MDVIEW)
119+
else ()
120+
LIST(REMOVE_ITEM VALA_SRC classes/view/markdown.vala)
121+
endif ()
122+
if (NOT MARKDOWN_FOUND)
123+
LIST(REMOVE_ITEM VALA_SRC classes/renderer/markdown.vala)
124+
endif ()
115125

116126
# Check for some compiler flags to suppress excessive Vala-triggered warnings
117127
# Since gcc >= 4.4 can silently ignore unrecognized -W-no* flags, we test

src/classes/view/markdown.vala

-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2222
*/
2323

24-
#if MDVIEW
2524
namespace pdfpc.View {
2625
public class MarkdownView : WebKit.WebView {
2726
WebKit.UserContentManager ucm;
@@ -76,4 +75,3 @@ namespace pdfpc.View {
7675
}
7776
}
7877
}
79-
#endif

0 commit comments

Comments
 (0)