Skip to content

Commit

Permalink
eCAL v5.5.2:
Browse files Browse the repository at this point in the history
* core
  * communication layer reduced to eCAL inproc, eCAL shm, eCAL udp multicast and Iceoryx
    * fastrtps layer removed
    * lcm layer removed
    * udp unicast layer removed
    * eCAL metal layer removed
* monitoring
  * ecal core initialization state shown in monitor
  * loaded time plugin name and state shown in monitor
* ecal player
  * command line handling improved
  * gui minor fixes
* bugfixes
  * eCAL:CTimer bugfix in loop time calculation
  * use system_clock instead steady_clock if time plugin handling failed or not configured
  * wrong host id calculation based on installed network adapters fixed
  * python eCAL service fixed (#39) - thanks @JeremyBYU
* improvements
  * eCAL:CTimer improved precision
  * unit tests added

Co-authored-by: Rex Schilasky <[email protected]>
Co-authored-by: Kristof Hannemann <[email protected]>
  • Loading branch information
3 people committed Jan 30, 2020
1 parent 30cc6f9 commit 18072f7
Show file tree
Hide file tree
Showing 165 changed files with 5,268 additions and 5,461 deletions.
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@
[submodule "thirdparty/spdlog"]
path = thirdparty/spdlog
url = https://github.com/gabime/spdlog.git
[submodule "thirdparty/googletest"]
path = thirdparty/googletest
url = https://github.com/google/googletest.git
60 changes: 54 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ option(BUILD_APPS "Build the eCAL applications"
option(BUILD_SAMPLES "Build the eCAL samples" ON)
option(BUILD_TIME "Build the eCAL time interfaces" ON)
option(BUILD_PY_BINDING "Build eCAL python binding" OFF)
option(ECAL_LAYER_FASTRTPS "Provide fast rtps as communication layer" OFF)
option(BUILD_TESTS "Build the eCAL google tests" OFF)

option(ECAL_LAYER_ICEORYX "Provide iceoryx as communication layer" OFF)

option(ECAL_INCLUDE_PY_SAMPLES "Include python language sample projects into CMake" OFF)
Expand All @@ -55,8 +56,9 @@ option(ECAL_NPCAP_SUPPORT "Enable the eCAL Npcap Receiver (

# Set option regarding third party library builds
option(ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS "Build CMakeFunctions with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_PROTOBUF "Build Protobuf with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_PROTOBUF "Build protobuf with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_SPDLOG "Build spdlog with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_GTEST "Build gtest with eCAL" OFF)

set(ECAL_INSTALL_PYTHON_DIR "bin" CACHE PATH "Location to install the Python extension modules. Might be set by setupdtools install.")

Expand All @@ -79,7 +81,7 @@ message(STATUS "Prefix Path: ${CMAKE_PREFIX_PATH}")
# --------------------------------------------------------
# third party dependencies as requested
# --------------------------------------------------------
if (ECAL_THIRDPARTY_BUILD_PROTOBUF OR ECAL_THIRDPARTY_BUILD_SPDLOG)
if (ECAL_THIRDPARTY_BUILD_PROTOBUF OR ECAL_THIRDPARTY_BUILD_SPDLOG OR ECAL_THIRDPARTY_BUILD_GTEST)
if(MSVC)
# supress thirdparty warnings for windows platform
set(CMAKE_CXX_FLAGS_OLD "${CMAKE_CXX_FLAGS}")
Expand Down Expand Up @@ -115,7 +117,24 @@ if (ECAL_THIRDPARTY_BUILD_SPDLOG)
add_library(spdlog::spdlog ALIAS spdlog)
endif ()

if (ECAL_THIRDPARTY_BUILD_PROTOBUF OR ECAL_THIRDPARTY_BUILD_SPDLOG)
if (ECAL_THIRDPARTY_BUILD_GTEST)
list(APPEND as_subproject GTest)
# Googletest automatically forces MT instead of MD if we do not set this option.
if(MSVC)
set(gtest_force_shared_crt ON CACHE BOOL "My option" FORCE)
set(BUILD_GMOCK OFF CACHE BOOL "My option" FORCE)
set(INSTALL_GTEST OFF CACHE BOOL "My option" FORCE)
endif()
add_subdirectory(thirdparty/googletest)
if(NOT TARGET GTest::GTest)
add_library(GTest::GTest ALIAS gtest)
endif()
if(NOT TARGET GTest::Main)
add_library(GTest::Main ALIAS gtest_main)
endif()
endif()

if (ECAL_THIRDPARTY_BUILD_PROTOBUF OR ECAL_THIRDPARTY_BUILD_SPDLOG OR ECAL_THIRDPARTY_BUILD_GTEST)
if(MSVC)
# reset thirdparty warnings for windows platform
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_OLD}")
Expand Down Expand Up @@ -298,6 +317,7 @@ add_subdirectory(ecal/core/src)
# custom libs
# --------------------------------------------------------
add_subdirectory(lib/ThreadingUtils)
add_subdirectory(lib/CustomTclap)
add_subdirectory(lib/EcalUtils)
if(HAS_QT5)
add_subdirectory(lib/CustomQt)
Expand Down Expand Up @@ -374,7 +394,7 @@ if(BUILD_APPS AND HAS_QT5)
endif()
add_subdirectory(app/mon/eCALMonPlugins)
# --------------------------------------------------------
# Qt5 Apps using HDF5
# qt applications using hdf5
# --------------------------------------------------------
if(BUILD_APPS AND HAS_QT5 AND HAS_HDF5)
add_subdirectory(app/play/eCALPlayGUI)
Expand All @@ -383,12 +403,40 @@ endif()
endif()

# --------------------------------------------------------
# Samples
# samples
# --------------------------------------------------------
if(BUILD_SAMPLES)
add_subdirectory(samples)
endif()

# --------------------------------------------------------
# unit tests
# --------------------------------------------------------
if(BUILD_TESTS)
enable_testing()

# ------------------------------------------------------
# test contrib
# ------------------------------------------------------
if(HAS_HDF5)
add_subdirectory(testing/contrib/ecalhdf5/hdf5_test/src)
endif()
add_subdirectory(testing/contrib/ecalproto/dynproto_test/src)
add_subdirectory(testing/contrib/ecalproto/ecal_proto_test/src)

# ------------------------------------------------------
# test ecal
# ------------------------------------------------------
add_subdirectory(testing/ecal/clientserver_test/src)
add_subdirectory(testing/ecal/core_test/src)
add_subdirectory(testing/ecal/event_test/src)
add_subdirectory(testing/ecal/expmap_test/src)
add_subdirectory(testing/ecal/io_memfile_test/src)
add_subdirectory(testing/ecal/pubsub_inproc_test/src)
add_subdirectory(testing/ecal/pubsub_proto_test/src)
add_subdirectory(testing/ecal/pubsub_test/src)
endif()

# --------------------------------------------------------
# configs
# --------------------------------------------------------
Expand Down
20 changes: 9 additions & 11 deletions NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This project has dependencies - list with dependency name and license follows.

- Apache License 2.0 - https://www.apache.org/licenses/LICENSE-2.0
- Boost Software License - http://www.boost.org/LICENSE_1_0.txt
- BSD 2-Clause License - http://www.opensource.org/licenses/bsd-license.php
- BSD 3-Clause License - https://opensource.org/licenses/BSD-3-Clause
- GNU Lesser General Public License v2.1 - https://www.gnu.org/licenses/old-licenses/lgpl-2.1.de.html
- GNU Lesser General Public License v3 - https://www.gnu.org/licenses/lgpl-3.0.de.html
- MIT License - https://opensource.org/licenses/MIT
Expand All @@ -36,17 +36,8 @@ This project has dependencies - list with dependency name and license follows.
- Copyright © 2003-2018 Christopher M. Kohlhoff
- URL: https://think-async.com
- License: Boost Software License - http://www.boost.org/LICENSE_1_0.txt

2.1.2 LCM-Lite
- URL: https://github.com/lcm-proj/lcm/tree/master/lcm-lite
- License: GNU Lesser General Public License v2.1 - https://github.com/lcm-proj/lcm/blob/master/COPYING

2.1.3 FastRTPS / FastCDR
- Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima)
- URL: https://github.com/eProsima/Fast-RTPS
- License: Apache License 2.0 - https://github.com/eProsima/Fast-RTPS/blob/master/LICENSE

2.1.4 NPCAP
2.1.2 NPCAP
- Copyright 2013-2016 by Insecure.Com LLC
- URL: https://nmap.org/npcap/
- License: Npcap License - https://github.com/nmap/npcap/blob/master/LICENSE
Expand Down Expand Up @@ -99,3 +90,10 @@ This project has dependencies - list with dependency name and license follows.
- Copyright 2013-2019 Freepik Company S.L. All rights reserved.
- URL: https://www.flaticon.com/
- License: Creative Commons 3.0 - https://creativecommons.org/licenses/by/3.0

2.5 Testing

2.5.1 GoogleTest
- Copyright 2008 Google Inc.
- URL: https://github.com/google/googletest
- License: BSD 3-Clause License - https://github.com/google/googletest/blob/master/LICENSE.txt
3 changes: 0 additions & 3 deletions PVSSettings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@
<PathMasks>
<string>\qt\</string>
<string>\_build\</string>
<string>\ecal\core\src\readwrite\fastrtps\string_message_PubSubTypes.cxx</string>
<string>\ecal\core\src\readwrite\fastrtps\string_message_.cxx</string>
<string>\ecal\core\src\readwrite\lcm\lcmlite.cpp</string>
<string>\thirdparty\</string>
</PathMasks>
<UncheckedButtons>toolstrip_L3Warnings toolStripButton_OP toolStripButton_64</UncheckedButtons>
Expand Down
Loading

0 comments on commit 18072f7

Please sign in to comment.