Compare commits

...

No commits in common. "7a6e6747567f5da0a11acca3d97f77ff89485eaf" and "5c5efb50299c6bd47da700168f7fbb7a4a5786be" have entirely different histories.

10 changed files with 27 additions and 227 deletions

View file

@ -1,45 +0,0 @@
name: Build eismuliplexer-qt for windows
run-name: Building eismuliplexer-qt for windows
on: [push]
jobs:
BuildWin:
runs-on: arch-mingw-qt
steps:
- name: Install dependancies
run: pacman -Sy; pacman -S --noconfirm mingw-w64-libusb mingw-w64-pkg-config nodejs zip
- name: Check out repository code
uses: ischanx/checkout@8c80eac3058d03dc5301629e8f7d59ae255d6cc3
- name: Checkout libeismultiplexer
run: git clone http://192.168.178.27/git/Eismultiplexer/libeismultiplexer.git
- name: libeismultiplexer version
id: libeisversion
run: |
cd ${{ gitea.workspace }}/libeismultiplexer
git fetch -a;
echo "tag=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
- name: Version
id: version
run: |
cd ${{ gitea.workspace }}
git fetch -a;
echo "tag=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
- name: Build libeismultiplexer
run: |
mkdir ${{ gitea.workspace }}/libeismultiplexer/build
cd ${{ gitea.workspace }}/libeismultiplexer/build
cmake -DCMAKE_INSTALL_PREFIX=/usr/x86_64-w64-mingw32/ -DCMAKE_TOOLCHAIN_FILE=../crossW64.cmake -DCMAKE_BUILD_TYPE=Release -DGIT_TAG=${{ steps.libeisversion.outputs.tag }} ..
make
make install
- name: Build
run: |
mkdir ${{ gitea.workspace }}/build
cd ${{ gitea.workspace }}/build
cmake -DCMAKE_TOOLCHAIN_FILE=../crossW64.cmake -DCMAKE_BUILD_TYPE=Release -DGIT_TAG=${{ steps.version.outputs.tag }} ..
make -j $(nproc)
make package
- name: Upload Package
uses: actions/upload-artifact@v3
with:
name: eismuliplexer-qt-${{ steps.version.outputs.tag }}-w64
path: ${{ gitea.workspace }}/build/packaged/${{ steps.version.outputs.tag }}/release/*

View file

@ -1,53 +0,0 @@
name: Build eismuliplexer for linux
run-name: Building eismuliplexer for linux
on: [push]
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Install dependancies
run: apt update; apt install -y libusb-1.0-0-dev cmake qt6-base-dev qt6-base-dev-tools qt6-tools-dev-tools libqt6widgets6 wget libglx-dev libgl1-mesa-dev qt6-qpa-plugins
- name: Check out repository code
uses: ischanx/checkout@8c80eac3058d03dc5301629e8f7d59ae255d6cc3
- name: Checkout libeismultiplexer
run: git clone http://192.168.178.27/git/Eismultiplexer/libeismultiplexer.git
- name: Install Appimagetool
run: |
wget https://github.com/probonopd/go-appimage/releases/download/continuous/appimagetool-904-x86_64.AppImage
chmod +x appimagetool-904-x86_64.AppImage
mv appimagetool-904-x86_64.AppImage /usr/bin/appimagetool
- name: libeismultiplexer version
id: libeisversion
run: |
cd ${{ gitea.workspace }}/libeismultiplexer
git fetch -a;
echo "tag=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
- name: Version
id: version
run: |
cd ${{ gitea.workspace }}
git fetch -a;
echo "tag=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT
- name: Build and install libeismultiplexer
run: |
mkdir ${{ gitea.workspace }}/libeismultiplexer/build; cd ${{ gitea.workspace }}/libeismultiplexer/build
cmake -DCMAKE_BUILD_TYPE=Release -DGIT_TAG=${{ steps.libeisversion.outputs.tag }} ..
make -j $(nproc)
make install
- name: Build
run: |
mkdir ${{ gitea.workspace }}/build; cd ${{ gitea.workspace }}/build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install/usr -DGIT_TAG=${{ steps.version.outputs.tag }} ..
make -j $(nproc)
make install
- name: Create Appimage
run: |
cd ${{ gitea.workspace }}/build/
appimagetool --appimage-extract-and-run -s deploy install/usr/share/applications/eismultiplexerqt.desktop
appimagetool --appimage-extract-and-run -s install
- name: Upload Appimage
uses: actions/upload-artifact@v3
with:
name: eismultiplexer-qt-appimage
path: ${{ gitea.workspace }}/build/*.AppImage

14
.gitignore vendored Normal file
View file

@ -0,0 +1,14 @@
# Build directory
build/
# Qt creator user files
*.user
*.pro.user
*.opensdf
*.sdf
# CMake cache
CMakeCache.txt
CMakeFiles/
cmake_install.cmake

View file

@ -1,25 +1,28 @@
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
project(eismultiplexer-qt) project(eismuliplexer-qt)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") set(CMAKE_PROJECT_VERSION_MAJOR 0)
include(GitVersion) set(CMAKE_PROJECT_VERSION_MINOR 9)
get_version_from_git() set(CMAKE_PROJECT_VERSION_PATCH 0)
message("Building version ${PROJECT_VERSION}")
add_compile_definitions(VERSION_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR}) add_compile_definitions(VERSION_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR})
add_compile_definitions(VERSION_MINOR=${CMAKE_PROJECT_VERSION_MINOR}) add_compile_definitions(VERSION_MINOR=${CMAKE_PROJECT_VERSION_MINOR})
add_compile_definitions(VERSION_PATCH=${CMAKE_PROJECT_VERSION_PATCH}) add_compile_definitions(VERSION_PATCH=${CMAKE_PROJECT_VERSION_PATCH})
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
message(FATAL_ERROR "Windows builds have to be cross compiled on UNIX")
endif()
message("Platform " ${CMAKE_SYSTEM_NAME}) message("Platform " ${CMAKE_SYSTEM_NAME})
if(WIN32 AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") if(WIN32)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/release-win.sh ${CMAKE_CURRENT_BINARY_DIR}/release.sh @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/release-win.sh ${CMAKE_CURRENT_BINARY_DIR}/release.sh @ONLY)
add_custom_target(package add_custom_target(package
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/release.sh COMMAND ${CMAKE_CURRENT_BINARY_DIR}/release.sh
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Createing release archive" COMMENT "Createing release archive"
VERBATIM) VERBATIM)
endif(WIN32 AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") endif(WIN32)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
@ -42,9 +45,6 @@ add_executable(${PROJECT_NAME}
multiplexer.h multiplexer.h
multiplexer.cpp multiplexer.cpp
) )
set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE ON)
target_compile_options(${PROJECT_NAME} PUBLIC "-Wall") target_compile_options(${PROJECT_NAME} PUBLIC "-Wall")
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets Qt6::Core ${EISMULIPLEXER_LIBRARIES}) target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets Qt6::Core ${EISMULIPLEXER_LIBRARIES})
install(TARGETS ${PROJECT_NAME} DESTINATION bin) #target_include_directories(${PROJECT_NAME} PUBLIC ${EISMULIPLEXER_INCLUDE_DIRS})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/eismultiplexerqt.desktop DESTINATION share/applications)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/eismultiplexerqt.png DESTINATION share/icons/hicolor/256x256/apps)

View file

@ -1,38 +0,0 @@
function(get_version_from_git)
find_package(Git REQUIRED)
if(NOT GIT_TAG)
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --tags --always
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE GIT_RESULT
)
if(NOT GIT_RESULT EQUAL 0)
message(FATAL_ERROR "Failed to get git tag")
endif()
endif()
string(REGEX REPLACE "^v" "" CLEAN_TAG "${GIT_TAG}")
if(CLEAN_TAG MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-.*)?$")
set(CMAKE_PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
set(CMAKE_PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1} PARENT_SCOPE)
set(CMAKE_PROJECT_VERSION_MINOR ${CMAKE_MATCH_2})
set(CMAKE_PROJECT_VERSION_MINOR ${CMAKE_MATCH_2} PARENT_SCOPE)
set(CMAKE_PROJECT_VERSION_PATCH ${CMAKE_MATCH_3})
set(CMAKE_PROJECT_VERSION_PATCH ${CMAKE_MATCH_3} PARENT_SCOPE)
set(PROJECT_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}")
set(PROJECT_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}" PARENT_SCOPE)
else()
message(WARNING "Tag '${CLEAN_TAG}' does not match semver format")
set(CMAKE_PROJECT_VERSION_MAJOR 0)
set(CMAKE_PROJECT_VERSION_MAJOR 0 PARENT_SCOPE)
set(CMAKE_PROJECT_VERSION_MINOR 0)
set(CMAKE_PROJECT_VERSION_MINOR 0 PARENT_SCOPE)
set(CMAKE_PROJECT_VERSION_PATCH 0)
set(CMAKE_PROJECT_VERSION_PATCH 0 PARENT_SCOPE)
endif()
endfunction()

View file

@ -1,9 +0,0 @@
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR AMD64)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
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(ENV{PKG_CONFIG_PATH} "/usr/x86_64-w64-mingw32/lib/pkgconfig/")

View file

@ -39,8 +39,7 @@ void MainWindow::enumerateDevices()
{ {
uint16_t serial = serials[i]; uint16_t serial = serials[i];
std::shared_ptr<struct eismultiplexer> multiplexer(new struct eismultiplexer); std::shared_ptr<struct eismultiplexer> multiplexer(new struct eismultiplexer);
int ret = eismultiplexer_connect(multiplexer.get(), serial); if (eismultiplexer_connect(multiplexer.get(), serial) >= 0)
if (ret == 0)
{ {
uint16_t channelCount = 0; uint16_t channelCount = 0;
qDebug()<<"Adding channels from device "<<serial; qDebug()<<"Adding channels from device "<<serial;
@ -59,7 +58,7 @@ void MainWindow::enumerateDevices()
{ {
QMessageBox::warning(this, tr("Connection Failed"), QMessageBox::warning(this, tr("Connection Failed"),
tr("Failed to connect to device with serial %1").arg(serial)); tr("Failed to connect to device with serial %1").arg(serial));
qWarning()<<"Failed to connect to device with serial"<<serial<<"eismultiplexer_connect returned"<<ret; qWarning() << "Failed to connect to device with serial" << serial;
} }
ui->channelLayout->addStretch(); ui->channelLayout->addStretch();
} }

View file

@ -1,7 +0,0 @@
[Desktop Entry]
Categories=Qt;Science
Comment=Application to control RHD eismultiplexer devices
Icon=eismultiplexerqt
Name=EisMultiplexerQT
Exec=eismultiplexer-qt
Type=Application

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

View file

@ -1,61 +0,0 @@
#!/bin/bash -e
#
# libkissinference - an inference libary for kiss networks
# Copyright (C) 2024 Carl Philipp Klemm <carl@uvos.xyz>
#
# This file is part of libkissinference.
#
# libkissinference is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# libkissinference is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with libkissinference. If not, see <http://www.gnu.org/licenses/>.
#
PROJECTNAME=@PROJECT_NAME@
SYSTEMPROC=@CMAKE_SYSTEM_PROCESSOR@
ROOTPATH=@CMAKE_FIND_ROOT_PATH@
VERSION="@CMAKE_PROJECT_VERSION_MAJOR@.@CMAKE_PROJECT_VERSION_MINOR@.@CMAKE_PROJECT_VERSION_PATCH@"
BINARYDIR="@CMAKE_CURRENT_BINARY_DIR@"
SRCDIR="@CMAKE_CURRENT_SOURCE_DIR@"
RELDIRECTORY="$BINARYDIR/packaged/$VERSION/release"
ZIPNAME=$PROJECTNAME-$SYSTEMPROC-$VERSION
rm $BINARYDIR/packaged/$ZIPNAME.zip || true
cd $BINARYDIR
install -d $RELDIRECTORY
cp eismultiplexer-qt.exe $RELDIRECTORY
cp $ROOTPATH/bin/libwinpthread-1.dll $RELDIRECTORY
cp $ROOTPATH/bin/libusb-1.0.dll $RELDIRECTORY
cp $ROOTPATH/bin/libssp-0.dll $RELDIRECTORY
cp $ROOTPATH/bin/libgcc_s_seh-1.dll $RELDIRECTORY
cp $ROOTPATH/bin/libstdc++-6.dll $RELDIRECTORY
cp $ROOTPATH/bin/Qt6Core.dll $RELDIRECTORY
cp $ROOTPATH/bin/Qt6Gui.dll $RELDIRECTORY
cp $ROOTPATH/bin/Qt6Widgets.dll $RELDIRECTORY
cp -r $ROOTPATH/lib/qt6/plugins/platforms $RELDIRECTORY
cp $ROOTPATH/lib/libeismultiplexer.dll $RELDIRECTORY
cp $ROOTPATH/bin/libpcre2-*-0.dll $RELDIRECTORY
cp $ROOTPATH/bin/zlib1.dll $RELDIRECTORY
cp $ROOTPATH/bin/libfreetype-6.dll $RELDIRECTORY
cp $ROOTPATH/bin/libpng16-16.dll $RELDIRECTORY
cp $ROOTPATH/bin/libzstd.dll $RELDIRECTORY
cp $ROOTPATH/bin/libharfbuzz-0.dll $RELDIRECTORY
cp $ROOTPATH/bin/libintl-8.dll $RELDIRECTORY
cp $ROOTPATH/bin/libgraphite2.dll $RELDIRECTORY
cp $ROOTPATH/bin/libglib-2.0-0.dll $RELDIRECTORY
cp $ROOTPATH/bin/libbz2-1.dll $RELDIRECTORY
cp $ROOTPATH/bin/libbrotlidec.dll $RELDIRECTORY
cp $ROOTPATH/bin/libbrotlicommon.dll $RELDIRECTORY
cp $ROOTPATH/bin/libiconv-2.dll $RELDIRECTORY
#cp $SRCDIR/README.md $RELDIRECTORY
cd $RELDIRECTORY/..
rm $BINARYDIR/packaged/$ZIPNAME.zip || true
zip -r $BINARYDIR/packaged/$ZIPNAME.zip release