+22
-6
@@ -5,15 +5,33 @@ project(pipedal
|
||||
HOMEPAGE_URL "https://rerdavies.github.io/pipedal"
|
||||
)
|
||||
|
||||
execute_process( COMMAND dpkg --print-architecture COMMAND tr -d '\n' OUTPUT_VARIABLE DEBIAN_ARCHITECTURE )
|
||||
|
||||
set (DISPLAY_VERSION "PiPedal v2.0.105-Release")
|
||||
set (PACKAGE_ARCHITECTURE ${DEBIAN_ARCHITECTURE})
|
||||
set (CMAKE_INSTALL_PREFIX "/usr/")
|
||||
|
||||
option(PIPEDAL_DISABLE_COPYRIGHT_BUILD "Skip generation of copyright notices (use on non-Debian distros)" OFF)
|
||||
option(PIPEDAL_EXCLUDE_TESTS "Exclude test targets from default build" OFF)
|
||||
|
||||
set(PIPEDAL_T3K_PUBLISHABLE_KEY "t3k_pub_bHrH8btdwXXTtxz5ryEU8sNLF-2TGRT9")
|
||||
|
||||
|
||||
# Determine Debian-compatible architecture name (portable across distros)
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||
set(DEBIAN_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
set(DEBIAN_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7l")
|
||||
set(DEBIAN_ARCHITECTURE "armhf")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686")
|
||||
set(DEBIAN_ARCHITECTURE "i386")
|
||||
else()
|
||||
execute_process(COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE UNAME_M)
|
||||
message(FATAL_ERROR "Cannot determine Debian architecture from CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR} (uname -m: ${UNAME_M})")
|
||||
endif()
|
||||
message(STATUS "DEBIAN_ARCHITECTURE=${DEBIAN_ARCHITECTURE}")
|
||||
|
||||
set (PACKAGE_ARCHITECTURE ${DEBIAN_ARCHITECTURE})
|
||||
set (CMAKE_INSTALL_PREFIX "/usr/")
|
||||
|
||||
|
||||
set (LIBZIP_DO_INSTALL OFF CACHE BOOL "Disable libzip install" FORCE)
|
||||
set (SQLITECPP_INSTALL OFF CACHE BOOL "Disable SQLiteCpp install" FORCE)
|
||||
|
||||
@@ -24,8 +42,6 @@ set(CPACK_SOURCE_IGNORE_FILES
|
||||
"*.a;sqlite3.h;$(CPACK_SOURCE_IGNORE_FILES)"
|
||||
)
|
||||
|
||||
|
||||
set (PIPEDAL_EXCLUDE_TESTS false)
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ add_library(PiPedalCommon STATIC
|
||||
ss.hpp
|
||||
)
|
||||
target_include_directories(PiPedalCommon PUBLIC "include" ${LIBNL3_INCLUDE_DIRS})
|
||||
target_link_libraries(PiPedalCommon PUBLIC ${LIBNL3_LIBRARIES} sdbus-c++-objlib
|
||||
target_link_libraries(PiPedalCommon PUBLIC ${LIBNL3_LIBRARIES} sdbus-c++-objlib asound
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <sdbus-c++/IConnection.h>
|
||||
#include <poll.h>
|
||||
#include <sys/eventfd.h>
|
||||
#include <unistd.h>
|
||||
#include "ss.hpp"
|
||||
#include <chrono>
|
||||
#include <cassert>
|
||||
|
||||
@@ -17,7 +17,8 @@ If your distribution doesn't provide a suitable version of nodejs,
|
||||
please refer to the `node.js` website for instructions on [how to install the latest version of `node.js`](https://nodejs.org/en/download) directly.
|
||||
|
||||
Run the following commands to install dependent libraries required by the PiPedal build.
|
||||
|
||||
|
||||
Ubuntu:
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
|
||||
@@ -27,6 +28,27 @@ Run the following commands to install dependent libraries required by the PiPeda
|
||||
libsdbus-c++-dev libzip-dev google-perftools \
|
||||
libgoogle-perftools-dev \
|
||||
libpipewire-0.3-dev libbz2-dev libssl-dev librsvg2-dev
|
||||
|
||||
Arch:
|
||||
|
||||
sudo pacman -S --needed lilv boost systemd catch2 alsa-lib \
|
||||
util-linux avahi networkmanager icu libzip gperftools \
|
||||
pipewire bzip2 openssl librsvg sdbus-cpp
|
||||
|
||||
There is one AUR package:
|
||||
sudo paru -S authbind
|
||||
|
||||
Note: in Arch, tests and copyright notices won't work, so they need to be disabled with cmake arguments. Add this to your .vscode/settings.json file:
|
||||
|
||||
```json
|
||||
{
|
||||
"cmake.configureSettings": {
|
||||
"PIPEDAL_EXCLUDE_TESTS": "ON",
|
||||
"DISABLE_COPYRIGHT_BUILD": "ON"
|
||||
},
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### Installing Sources
|
||||
|
||||
@@ -1,7 +1,20 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
rm -rf build/lv2_x64
|
||||
mkdir build/lv2_x64
|
||||
mkdir -p build/lv2_x64/pkg
|
||||
|
||||
mkdir build/lv2_x64/pkg
|
||||
dpkg-deb -x lv2/x86_64/toobamp_*_amd64.deb build/lv2_x64/pkg
|
||||
# Extract .deb using ar + tar (portable, no dpkg-deb needed)
|
||||
cd build/lv2_x64
|
||||
ar x ../../lv2/x86_64/toobamp_*_amd64.deb
|
||||
if [ -f data.tar.zst ]; then
|
||||
tar --zstd -xf data.tar.zst -C pkg
|
||||
elif [ -f data.tar.xz ]; then
|
||||
tar -xJf data.tar.xz -C pkg
|
||||
elif [ -f data.tar.gz ]; then
|
||||
tar -xzf data.tar.gz -C pkg
|
||||
else
|
||||
echo "Error: cannot find data.tar.* in the .deb package"
|
||||
exit 1
|
||||
fi
|
||||
rm -f control.tar.* data.tar.* debian-binary
|
||||
cd "$OLDPWD"
|
||||
@@ -25,5 +25,7 @@ option(BUILD_REGRESS "Build regression tests" OFF)
|
||||
option(BUILD_OSSFUZZ "Build fuzzers for ossfuzz" OFF)
|
||||
option(BUILD_EXAMPLES "Build examples" OFF)
|
||||
option(BUILD_DOC "Build documentation" OFF)
|
||||
# Ensure BUILD_SHARED_LIBS is ON for libzip (SQLiteCpp may have set it OFF)
|
||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.so) instead of static ones (.a)" FORCE)
|
||||
add_subdirectory("libzip")
|
||||
|
||||
|
||||
+1
-1
Submodule modules/websocketpp updated: 508c9b5e40...e6df114a1a
@@ -19,6 +19,7 @@
|
||||
|
||||
|
||||
#include "AuxIn.hpp"
|
||||
#include <unistd.h>
|
||||
using namespace pipedal;
|
||||
|
||||
int main(int argc, char**argv) {
|
||||
|
||||
+22
-8
@@ -155,8 +155,20 @@ else()
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-multichar -Wno-psabi")
|
||||
endif()
|
||||
|
||||
execute_process( COMMAND dpkg --print-architecture COMMAND tr -d '\n' OUTPUT_VARIABLE DEBIAN_ARCHITECTURE )
|
||||
message(STATUS DEBIAN_ARCHITECTURE="${DEBIAN_ARCHITECTURE}")
|
||||
# Determine Debian-compatible architecture name (portable across distros)
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||
set(DEBIAN_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
set(DEBIAN_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7l")
|
||||
set(DEBIAN_ARCHITECTURE "armhf")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686")
|
||||
set(DEBIAN_ARCHITECTURE "i386")
|
||||
else()
|
||||
execute_process(COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE UNAME_M)
|
||||
message(FATAL_ERROR "Cannot determine Debian architecture from CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR} (uname -m: ${UNAME_M})")
|
||||
endif()
|
||||
message(STATUS "DEBIAN_ARCHITECTURE=${DEBIAN_ARCHITECTURE}")
|
||||
|
||||
add_compile_definitions(DEBIAN_ARCHITECTURE="${DEBIAN_ARCHITECTURE}")
|
||||
|
||||
@@ -856,8 +868,8 @@ elseif(EXISTS "/usr/share/doc/libboost1.71-dev")
|
||||
set (BOOST_COPYRIGHT_DIR "libboost1.71-dev")
|
||||
elseif(EXISTS "/usr/share/doc/libboost1.67-dev")
|
||||
set (BOOST_COPYRIGHT_DIR "libboost1.67-dev")
|
||||
else()
|
||||
message(FATAL_ERROR "Boost libary version has changed. Please update me.")
|
||||
# else()
|
||||
# message(FATAL_ERROR "Boost libary version has changed. Please update me.")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -871,10 +883,12 @@ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Updating copyright notices."
|
||||
)
|
||||
|
||||
add_custom_target (
|
||||
CopyrightBuild ALL
|
||||
DEPENDS ${REACT_NOTICES_FILE}
|
||||
)
|
||||
if(NOT PIPEDAL_DISABLE_COPYRIGHT_BUILD)
|
||||
add_custom_target (
|
||||
CopyrightBuild ALL
|
||||
DEPENDS ${REACT_NOTICES_FILE}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.31)
|
||||
cmake_policy(SET CMP0177 NEW)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "util.hpp"
|
||||
#include <stdexcept>
|
||||
#include <iostream>
|
||||
#include <mutex>
|
||||
#include "ss.hpp"
|
||||
#include "MimeTypes.hpp"
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
#include <atomic>
|
||||
#include "BootConfig.hpp"
|
||||
#include <array>
|
||||
#include <unistd.h>
|
||||
#include "CommandLineParser.hpp"
|
||||
#include "PrettyPrinter.hpp"
|
||||
#include "SysExec.hpp"
|
||||
|
||||
Reference in New Issue
Block a user