Skip to content

Commit 1a33387

Browse files
authored
Merge pull request #4 from labstreaminglayer/ci
Add Github Actions CI
2 parents ae09af6 + 7e1b28a commit 1a33387

4 files changed

Lines changed: 94 additions & 73 deletions

File tree

.appveyor.yml

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,26 @@ pull_requests:
33
do_not_increment_build_number: true
44
shallow_clone: true
55
environment:
6-
lsltag: 1.13.0-b12
6+
lsltag: 1.13.0
77
lslversion: 1.13.0
88
LSLDIST_URL: "https://github.com/sccn/liblsl/releases/download"
99
CMakeArgs: ""
1010
matrix:
11-
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
12-
QTCOMPILER: msvc2017_64
13-
QTVER: 5.13
14-
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1604
15-
DEPLOYNAME: Linux64-xenial
11+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
12+
QTCOMPILER: msvc2017_64
13+
QTVER: 5.13
14+
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu1804
15+
DEPLOYNAME: Linux64-bionic
1616
install:
17-
- cmd: appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip -FileName ninja.zip
18-
- cmd: appveyor DownloadFile %LSLDIST_URL%/%lsltag%/liblsl-%lslversion%-Win64.7z -FileName liblsl_x64.7z
19-
- cmd: 7z x ninja.zip
20-
- cmd: set PATH=%cd%;%PATH%
21-
- cmd: 7z x liblsl_x64.7z -oLSL
22-
- cmd: ninja --version
23-
- sh: set -x
17+
- cmd: appveyor DownloadFile %LSLDIST_URL%/%lsltag%/liblsl-%lslversion%-Win64.zip -FileName liblsl_x64.zip
18+
- cmd: 7z x liblsl_x64.zip -oLSL
2419
- sh: wget ${LSLDIST_URL}/${lsltag}/liblsl-${lslversion}-${DEPLOYNAME}.deb -O lsl.deb
25-
- sh: dpkg -x lsl.deb LSL
20+
- sh: sudo dpkg -i lsl.deb
2621
- sh: sudo apt update && sudo apt install -y qtbase5-dev qtmultimedia5-dev
2722
build_script:
28-
- cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
29-
- cmd: cmake -S . -B build -G Ninja -DQt5_DIR=C:/Qt/%QTVER%/%QTCOMPILER%/lib/cmake/Qt5 -DBOOST_ROOT=C:/Libraries/boost_1_69_0 -DLSL_INSTALL_ROOT=LSL/ %CMakeArgs%
30-
- sh: cmake -S . -B build -DLSL_INSTALL_ROOT=LSL/usr -DLSL_UNIXFOLDERS=1 ${CMakeArgs}
31-
- cd build
32-
- cmake --build . --config Release --target install
33-
- cpack -C Release
23+
- cmd: cmake -S . -B build -DQt5_DIR=C:/Qt/%QTVER%/%QTCOMPILER%/lib/cmake/Qt5 -DLSL_INSTALL_ROOT=LSL/ %CMakeArgs% -A x64
24+
- sh: cmake -S . -B build -DLSL_UNIXFOLDERS=1 -DCPACK_DEBIAN_PACKAGE_SHLIBDEPS=1 ${CMakeArgs}
25+
- cmake --build build --config Release -j --target package
3426
artifacts:
3527
- path: 'build/*.deb'
3628
- path: 'build/*.tar.*'

.github/workflows/cppcmake.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: C/C++ CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
env:
12+
LSL_URL: 'https://github.com/sccn/liblsl/releases/download'
13+
LSL_RELEASE: '1.13.0'
14+
LSL_RELEASE_SUFFIX: ''
15+
16+
17+
jobs:
18+
build:
19+
runs-on: ${{ matrix.os }}
20+
strategy:
21+
matrix:
22+
os:
23+
- ubuntu-latest
24+
- windows-latest
25+
- macOS-latest
26+
fail-fast: false
27+
steps:
28+
- uses: actions/checkout@v1
29+
- name: CMake version
30+
run: cmake --version
31+
- name: download liblsl (Ubuntu)
32+
run: |
33+
curl -L ${LSL_URL}/${LSL_RELEASE}${LSL_RELEASE_SUFFIX}/liblsl-${LSL_RELEASE}-Linux64-bionic.deb -o liblsl.deb
34+
sudo dpkg -i liblsl.deb
35+
sudo apt install -y qtbase5-dev qtmultimedia5-dev
36+
if: matrix.os == 'ubuntu-latest'
37+
- name: download liblsl (Windows)
38+
run: |
39+
Invoke-WebRequest -Uri $Env:LSL_URL/$Env:LSL_RELEASE$Env:LSL_RELEASE_SUFFIX/liblsl-$Env:LSL_RELEASE-Win64.zip -o liblsl.7z
40+
7z x liblsl.7z -oLSL
41+
if: matrix.os == 'windows-latest'
42+
- name: download liblsl (macOS)
43+
run: |
44+
curl -L ${LSL_URL}/${LSL_RELEASE}${LSL_RELEASE_SUFFIX}/liblsl-${LSL_RELEASE}-OSX64.tar.bz2 -o liblsl.tar.bz2
45+
mkdir LSL
46+
tar -xvf liblsl.tar.bz2 -C LSL
47+
brew install qt
48+
echo '::set-env name=CMAKE_PREFIX_PATH::/usr/local/opt/qt'
49+
if: matrix.os == 'macOS-latest'
50+
- name: Install Qt
51+
# uses: jurplel/install-qt-action@v2
52+
uses: ouuan/install-qt-action@v2.3.1 # workaround until the aqtinstall timeout is fixed
53+
with:
54+
version: 5.14.0
55+
if: matrix.os == 'windows-latest'
56+
- name: Configure CMake
57+
shell: bash
58+
run: |
59+
cmake -S . -B build -DLSL_INSTALL_ROOT=$PWD/LSL/ -DCPACK_DEBIAN_PACKAGE_SHLIBDEPS=ON -DCPACK_DEBIAN_PACKAGE_DEPENDS=1
60+
- name: make
61+
run: cmake --build build --config Release -j
62+
- name: package
63+
run: cmake --build build --config Release -j --target install
64+
- uses: actions/upload-artifact@master
65+
with:
66+
name: pkg-${{ matrix.os }}
67+
path: build/install

CMakeLists.txt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
cmake_minimum_required(VERSION 3.5)
22

3-
project(AudioCaptureWin
3+
project(AudioCapture
44
LANGUAGES CXX
55
VERSION 0.1)
6-
include(Findliblsl.cmake)
6+
7+
# Find an installed liblsl in paths set by the user (LSL_INSTALL_ROOT)
8+
# and some default paths
9+
find_package(LSL REQUIRED
10+
HINTS ${LSL_INSTALL_ROOT}
11+
"${CMAKE_CURRENT_LIST_DIR}/../../LSL/liblsl/build/install"
12+
"${CMAKE_CURRENT_LIST_DIR}/../../LSL/liblsl/out/install/x64-Release"
13+
PATH_SUFFIXES share/LSL)
14+
get_filename_component(LSL_PATH ${LSL_CONFIG} DIRECTORY)
15+
message(STATUS "Found LSL lib in ${LSL_PATH}")
16+
LSLAPP_Setup_Boilerplate()
717

818
set(CMAKE_INCLUDE_CURRENT_DIR ON)
919
set(CMAKE_AUTOMOC ON)
1020
set(CMAKE_AUTOUIC ON)
1121
set(CMAKE_AUTORCC ON)
1222
find_package(Qt5 REQUIRED COMPONENTS Widgets Multimedia)
23+
find_package(Threads REQUIRED)
1324

1425
add_executable(${PROJECT_NAME} MACOSX_BUNDLE WIN32
1526
main.cpp
@@ -19,10 +30,12 @@ add_executable(${PROJECT_NAME} MACOSX_BUNDLE WIN32
1930
reader.h
2031
reader.cpp
2132
)
33+
2234
target_link_libraries(${PROJECT_NAME}
2335
PRIVATE
2436
Qt5::Widgets
2537
Qt5::Multimedia
38+
Threads::Threads
2639
LSL::lsl
2740
)
2841
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)

Findliblsl.cmake

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)