Skip to content

Commit

Permalink
Public-Auto-release: v2.13.0
Browse files Browse the repository at this point in the history
# Added
* [Introduced in firmware v1.13] Separate API request for raw file streams. This allows file recordings with Python on low-performance clients.
* [Introduced in firmware v1.13] Server section to status message. Reports connected clients and network statistics.
* Add protocol files to install target
* [Introduced in firmware v1.13] Extend advanced configuration with `default_point_cloud_subscription`
* [Introduced in firmware v1.13] Request to attempt error recovery

# Changed
* Python: Improved examples and refactored arguments
* CPP: Refactored point cloud recording class
* CMake: Improved the approach of linking dependent library to make the install package relocatable

# Removed
* [Removed in firmware v1.13] Drop deprecated legacy scan patterns
  • Loading branch information
blickfeld-lidar committed Sep 25, 2020
1 parent 63b7260 commit 310869e
Show file tree
Hide file tree
Showing 36 changed files with 1,040 additions and 225 deletions.
24 changes: 12 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
build*
test_*dump*
.cproject
.project
.externalToolBuilders
.settings
.pydevproject
*.idea*
*__pycache__*
# NPM Packages
node_modules
package-lock.json
build*
test_*dump*
.cproject
.project
.externalToolBuilders
.settings
.pydevproject
*.idea*
*__pycache__*
.vscode
node_modules
*.bfpc
45 changes: 32 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ endif()

string(REGEX REPLACE "^v([0-9.]+).*" "\\1" PROJECT_VERSION "${PROJECT_VERSION}")
string(REGEX REPLACE "^v" "" PROJECT_GIT_DESCRIBE "${PROJECT_GIT_DESCRIBE}")
string(REPLACE "." ";" VERSION_LIST ${PROJECT_VERSION})
list(GET VERSION_LIST 0 BSL_VERSION_MAJOR)
list(GET VERSION_LIST 1 BSL_VERSION_MINOR)
list(GET VERSION_LIST 2 BSL_VERSION_PATCH)

message("BSL Version ${PROJECT_GIT_DESCRIBE}")
project (blickfeld-scanner-lib
Expand Down Expand Up @@ -204,6 +208,7 @@ set(BLICKFELD_SCANNER_SOURCES
src/scanner_connection.cpp
src/connection.cpp
src/discover.cpp
src/point_cloud_record.cpp
)
set(BLICKFELD_SCANNER_INCLUDES
${Protobuf_INCLUDE_DIRS}
Expand Down Expand Up @@ -250,8 +255,8 @@ add_dependencies(blickfeld-scanner blickfeld-scanner-protocol)
add_dependencies(blickfeld-scanner-static blickfeld-scanner-protocol)

if(NOT BSL_STANDALONE)
target_link_libraries(blickfeld-scanner PUBLIC ${Protobuf_LIBRARY})
target_include_directories(blickfeld-scanner PUBLIC ${Protobuf_INCLUDE_DIRS})
target_link_libraries( blickfeld-scanner PUBLIC $<BUILD_INTERFACE:${Protobuf_LIBRARY}>)
target_include_directories( blickfeld-scanner PUBLIC $<BUILD_INTERFACE:${Protobuf_INCLUDE_DIRS}>)
else()
target_link_libraries(blickfeld-scanner PRIVATE ${Protobuf_LIBRARY})
target_include_directories(blickfeld-scanner PRIVATE ${Protobuf_INCLUDE_DIRS})
Expand All @@ -269,12 +274,9 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(blickfeld-scanner INTERFACE ${CMAKE_THREAD_LIBS_INIT})

get_directory_property(HAS_PARENT PARENT_DIRECTORY)
if(HAS_PARENT)
set(Protobuf_PROTOC_EXECUTABLE ${Protobuf_PROTOC_EXECUTABLE} PARENT_SCOPE)
set(Protobuf_LIBRARY ${Protobuf_LIBRARY} PARENT_SCOPE)
set(BF_BSL_VERSION ${PROJECT_GIT_DESCRIBE} PARENT_SCOPE)
endif()
# Set version to lib
set_target_properties(blickfeld-scanner
PROPERTIES VERSION ${BSL_VERSION_MAJOR}.${BSL_VERSION_MINOR})

target_include_directories(blickfeld-scanner INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
Expand Down Expand Up @@ -304,6 +306,12 @@ install(
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h"
)
# Protocol files
install(
DIRECTORY ${PROJECT_SOURCE_DIR}/protocol/blickfeld/
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/blickfeld-scanner/protocol/blickfeld
FILES_MATCHING PATTERN "*.proto"
)

# Misc
if(BF_BUILD_TESTS)
Expand All @@ -316,21 +324,32 @@ if(BF_BUILD_PYTHON)
add_subdirectory(python)
endif()

get_directory_property(HAS_PARENT PARENT_DIRECTORY)
if(HAS_PARENT)
set(Protobuf_PROTOC_EXECUTABLE ${Protobuf_PROTOC_EXECUTABLE} PARENT_SCOPE)
set(Protobuf_LIBRARY ${Protobuf_LIBRARY} PARENT_SCOPE)
set(BF_BSL_PYTHON_VERSION ${BF_BSL_PYTHON_VERSION} PARENT_SCOPE)

set(blickfeld-scanner_INCLUDE_DIRS ${BLICKFELD_SCANNER_INCLUDES} PARENT_SCOPE)
set(blickfeld-scanner_PROTOCOL "${PROJECT_SOURCE_DIR}/protocol" PARENT_SCOPE)
endif()

# CMake Package
include(CMakePackageConfigHelpers)

write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/blickfeld-scanner/blickfeld-scanner-config-version.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/blickfeld-scanner/blickfeld-scanner-config-version.cmake"
VERSION ${blickfeld-scanner-lib_VERSION}
COMPATIBILITY AnyNewerVersion
)
export(EXPORT blickfeld-scanner
FILE "${CMAKE_CURRENT_BINARY_DIR}/blickfeld-scanner/blickfeld-scanner.cmake"
FILE "${CMAKE_CURRENT_BINARY_DIR}/cmake/blickfeld-scanner/blickfeld-scanner.cmake"
)
configure_file(cmake/blickfeld-scanner-config.cmake
"${CMAKE_CURRENT_BINARY_DIR}/blickfeld-scanner/blickfeld-scanner-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/blickfeld-scanner/blickfeld-scanner-config.cmake"
@ONLY
)
file(COPY "${PROJECT_SOURCE_DIR}/protocol/blickfeld" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/cmake/blickfeld-scanner/protocol")

set(ConfigPackageLocation lib/cmake/blickfeld-scanner)
install(EXPORT blickfeld-scanner
Expand All @@ -341,8 +360,8 @@ install(EXPORT blickfeld-scanner
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/blickfeld-scanner/blickfeld-scanner-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/blickfeld-scanner/blickfeld-scanner-config-version.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/blickfeld-scanner/blickfeld-scanner-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/blickfeld-scanner/blickfeld-scanner-config-version.cmake"
DESTINATION
${ConfigPackageLocation}
COMPONENT
Expand Down
7 changes: 6 additions & 1 deletion cmake/blickfeld-scanner-config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set(BSL_STANDALONE @BSL_STANDALONE@)
set(HAVE_OPENSSL @HAVE_OPENSSL@)

if (NOT BSL_STANDALONE)
find_dependency(Protobuf REQUIRED)
find_dependency(Protobuf @Protobuf_VERSION@ REQUIRED)
if(NOT PROTOBUF_FOUND)
set(blickfeld-scanner_FOUND False)
set(blickfeld-scanner_NOT_FOUND_MESSAGE "BSL is configured with Protobuf support. Could not find suitable Protobuf on this system (libprotobuf-dev).")
Expand Down Expand Up @@ -38,3 +38,8 @@ foreach(_comp ${blickfeld-scanner_FIND_COMPONENTS})
endforeach()

include("${CMAKE_CURRENT_LIST_DIR}/blickfeld-scanner.cmake")
set_property(TARGET blickfeld-scanner
APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${Protobuf_LIBRARIES}"
)
set(blickfeld-scanner_PROTOCOL "${CMAKE_CURRENT_LIST_DIR}/protocol")
17 changes: 17 additions & 0 deletions doc/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,23 @@ influence the resulting point cloud.

### Removed

## [2.13.0] - 2020.09.25

### Added
* [Introduced in firmware v1.13] Separate API request for raw file streams. This allows file recordings with Python on low-performance clients.
* [Introduced in firmware v1.13] Server section to status message. Reports connected clients and network statistics.
* Add protocol files to install target
* [Introduced in firmware v1.13] Extend advanced configuration with `default_point_cloud_subscription`
* [Introduced in firmware v1.13] Request to attempt error recovery

### Changed
* Python: Improved examples and refactored arguments
* CPP: Refactored point cloud recording class
* CMake: Improved the approach of linking dependent library to make the install package relocatable

### Removed
* [Removed in firmware v1.13] Drop deprecated legacy scan patterns

## [2.12.1] - 2020.09.08

### Changed
Expand Down
Binary file modified doc/protobuf-frame-visualisation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 310869e

Please sign in to comment.