Skip to content

Commit d2fb8d5

Browse files
committed
More updates
1 parent bdf82d6 commit d2fb8d5

3 files changed

Lines changed: 49 additions & 18 deletions

File tree

.github/workflows/cppcmake.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ jobs:
2929
config:
3030
- name: "ubuntu-20.04"
3131
os: "ubuntu-20.04"
32-
qt_ver: "6.1.0"
3332
- name: "ubuntu-18.04"
3433
os: "ubuntu-18.04"
35-
qt_ver: "5.15.2"
3634
- name: "windows-x64"
3735
os: "windows-latest"
3836
cmake_extra: "-T v142,host=x86"
@@ -46,7 +44,10 @@ jobs:
4644
qt_arch: "win32_msvc2019"
4745
qt_ver: "5.15.2"
4846
- name: "macOS-latest"
49-
os: "macOS-latest"
47+
os: "macos-latest"
48+
qt_ver: "6.1.0"
49+
- name: "macOS-11"
50+
os: "macos-11"
5051
qt_ver: "6.1.0"
5152
steps:
5253
- uses: actions/checkout@v2
@@ -65,13 +66,15 @@ jobs:
6566
7z x liblsl.zip -oLSL
6667
6768
- name: Download liblsl (macOS)
68-
if: matrix.config.os == 'macOS-latest'
69-
run: |
70-
curl -L ${LSL_RELEASE_URL}/liblsl-${LSL_RELEASE}-OSX_amd64.tar.bz2 -o liblsl.tar.bz2
71-
mkdir LSL
72-
tar -xvf liblsl.tar.bz2 -C LSL
69+
if: startsWith(matrix.config.os, 'macos-')
70+
run: brew install labstreaminglayer/tap/lsl
71+
72+
- name: Install Qt .deb packages
73+
if: startsWith(matrix.config.os, 'ubuntu-')
74+
run: sudo apt install -y qtbase5-dev
7375

74-
- name: Install Qt
76+
- name: Install Qt (Win and Mac)
77+
if: startsWith(matrix.config.os, 'windows') || startsWith(matrix.config.os, 'macos')
7578
uses: jurplel/install-qt-action@v2.12.2
7679
with:
7780
version: ${{ matrix.config.qt_ver }}
@@ -94,7 +97,7 @@ jobs:
9497

9598
- name: package
9699
run: |
97-
export LD_LIBRARY_PATH=$Qt5_Dir/lib:$Qt6_Dir/lib:$LD_LIBRARY_PATH
100+
export LD_LIBRARY_PATH=$Qt5_DIR/lib:$Qt6_DIR/lib:$LD_LIBRARY_PATH
98101
cmake --build build --config Release -j --target package
99102
cmake -E remove_directory package/_CPack_Packages
100103

CMakeLists.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,13 @@ set(CMAKE_AUTORCC ON)
4040
set(CMAKE_AUTOUIC ON)
4141
find_package(Qt6 COMPONENTS Core Widgets Network DBus)
4242
if(NOT Qt6_FOUND)
43-
# Require 5.15 so we can use version-agnostic linking.
44-
find_package(Qt5 5.15 COMPONENTS Core Widgets Network DBus REQUIRED)
43+
# If we require 5.15 then we can use version-agnostic linking, but 5.15 not easily available on Ubuntu.
44+
find_package(Qt5 COMPONENTS Core Widgets Network DBus REQUIRED)
4545
add_executable(${PROJECT_NAME} MACOSX_BUNDLE)
46+
set(LSLAPP_QT_VER Qt5)
4647
else()
4748
qt_add_executable(${PROJECT_NAME} MACOSX_BUNDLE MANUAL_FINALIZATION)
49+
set(LSLAPP_QT_VER Qt)
4850
endif()
4951

5052
## Threads
@@ -75,9 +77,9 @@ add_executable(LabRecorderCLI MACOSX_BUNDLE
7577
target_link_libraries(${PROJECT_NAME}
7678
PRIVATE
7779
xdfwriter
78-
Qt::Widgets
79-
Qt::Network
80-
Qt::DBus
80+
${LSLAPP_QT_VER}::Widgets
81+
${LSLAPP_QT_VER}::Network
82+
${LSLAPP_QT_VER}::DBus
8183
Threads::Threads
8284
LSL::lsl
8385
)
@@ -130,3 +132,4 @@ endif()
130132

131133
set(CPACK_DEBIAN_LABRECORDER_PACKAGE_SECTION "science" CACHE INTERNAL "")
132134
LSLGenerateCPackConfig()
135+

README.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,41 @@
55

66
The LabRecorder is the default recording program that comes with LSL. It allows to record all streams on the lab network (or a subset) into a single file, with time synchronization between streams.
77

8-
[Download it from the Releases page](https://github.com/labstreaminglayer/App-LabRecorder/releases).
9-
108
# File Format
119

1210
The file format used by the LabRecorder is XDF. This is an open general-purpose format that was designed concurrently with LSL and supports all features of LSL streams. The project page is [here](https://github.com/sccn/xdf). There are importers for MATLAB, EEGLAB, BCILAB, Python, and MoBILAB.
1311

1412
# Getting LabRecorder
1513

14+
## Dependencies
15+
16+
For LabRecorder to work on your system, you might need to first install some dependencies.
17+
18+
### MacOS
19+
20+
In the near future it will be necessary to use [homebrew](https://brew.sh/) to manage LSL Apps and their dependencies:
21+
* Install homebrew: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
22+
* Install liblsl: `brew install labstreaminglayer/tap/lsl`
23+
* Install Qt6: `brew install qt`
24+
25+
### Linux Ubuntu
26+
27+
The Ubuntu releases do not typically ship with their dependencies so you will also have to download and install those:
28+
* Download and install the latest [liblsl-{version}-bionic_amd64.deb from its release page](https://github.com/sccn/liblsl/releases)
29+
* We hope to make this available via a package manager soon.
30+
* You can install liblsl directly by double clicking on it, or with with `sudo dpkg -i {filename}.deb`
31+
* See the bottom of the [lsl build env docs](https://labstreaminglayer.readthedocs.io/dev/build_env.html).
32+
* For most cases, this will amount to `sudo apt-get install qtbase5-dev`
33+
34+
## Downloading LabRecorder
35+
36+
### MacOS
37+
38+
* `brew install labrecorder`
39+
40+
### Others
41+
1642
Navigate to the [`releases` page](https://github.com/labstreaminglayer/App-LabRecorder/releases) and download the latest release for your platform.
17-
The Ubuntu releases do not typically ship with the libsl dependencies so you will also have to download and install [liblsl from its release page](https://github.com/sccn/liblsl/releases).
1843

1944
# Usage
2045

0 commit comments

Comments
 (0)