diff --git a/3rdparty/lua-5.4.3/CMakeLists.txt b/3rdparty/lua-5.4.3/CMakeLists.txt index 6f682a3e6..ad3dc0127 100644 --- a/3rdparty/lua-5.4.3/CMakeLists.txt +++ b/3rdparty/lua-5.4.3/CMakeLists.txt @@ -34,7 +34,9 @@ set(LUA_LIB_SRCS ) set(LUA_LIB_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src) -add_compile_options(-fPIC) +if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|AppleClang") + add_compile_options(-fPIC) +endif() add_library(lua_static STATIC ${LUA_LIB_SRCS} diff --git a/COMPILE.md b/COMPILE.md index 8529876b6..e7771c15f 100644 --- a/COMPILE.md +++ b/COMPILE.md @@ -194,10 +194,7 @@ Change the **Qt** and **QtInstallerFramework** version as needed. xcopy src\PlotJuggler\installer installer\ /Y /S /f /z xcopy install\bin\*.* installer\io.plotjuggler.application\data /Y /S /f /z -C:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe --release ^ - installer\io.plotjuggler.application\data\plotjuggler.exe +C:\QtPro\5.15.16\msvc2019_64\bin\windeployqt.exe --release installer\io.plotjuggler.application\data\plotjuggler.exe -C:\Qt\Tools\QtInstallerFramework\4.1\bin\binarycreator.exe ^ - --offline-only -c installer\config.xml -p installer ^ - PlotJuggler-Windows-installer.exe +C:\QtPro\Tools\QtInstallerFramework\4.6\bin\binarycreator.exe --offline-only -c installer\config.xml -p installer PlotJuggler-Windows-installer.exe ``` diff --git a/README.md b/README.md index 95af951ac..25e405f3e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ **Gold Sponsor**: [Greenzie](https://www.greenzie.com/) -# PlotJuggler 3.8 +# PlotJuggler 3.9 PlotJuggler is a tool to visualize time series that is **fast**, **powerful** and **intuitive**. @@ -95,15 +95,12 @@ If you are still using ROS1 (Ubuntu 20.04), install instead: sudo snap install plotjuggler-ros ``` -### Binary installers +### Windows Binary installer -Note that these installers do __not__ include ROS plugins. - -**Linux AppImage** (compatible with Ubuntu 20.04 or later): -[PlotJuggler-3.6.0-x86_64.AppImage](https://github.com/facontidavide/PlotJuggler/releases/download/3.6.0/PlotJuggler-3.6.0-x86_64.AppImage) +This installer does __not__ include ROS plugins. **Windows Installer**: -[PlotJuggler-Windows-3.6.0-installer](https://github.com/facontidavide/PlotJuggler/releases/download/3.6.0/PlotJuggler-Windows-3.6.0-installer.exe) +[PlotJuggler-Windows-3.9.0-installer](https://github.com/facontidavide/PlotJuggler/releases/download/3.9.0/PlotJuggler-Windows-3.9.0-installer.exe) ### Debian packages for ROS User diff --git a/conanfile.txt b/conanfile.txt index df83c5e87..623eb578d 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,8 +1,12 @@ [requires] - protobuf/3.21.1 - mosquitto/2.0.14 - zeromq/4.3.4 - zstd/1.5.2 + protobuf/3.21.12 + mosquitto/2.0.18 + zeromq/4.3.5 + zstd/1.5.5 + zlib/1.2.13 + + [options] + zeromq*:shared=False [generators] CMakeDeps diff --git a/installer/config.xml b/installer/config.xml index 4a8ad7d5c..b0b63692a 100644 --- a/installer/config.xml +++ b/installer/config.xml @@ -1,7 +1,7 @@ PlotJuggler - 3.6.0 + 3.9.0 PlotJuggler installer Davide Faconti PlotJuggler diff --git a/installer/io.plotjuggler.application/meta/package.xml b/installer/io.plotjuggler.application/meta/package.xml index 9e3a3be88..7b59508bf 100644 --- a/installer/io.plotjuggler.application/meta/package.xml +++ b/installer/io.plotjuggler.application/meta/package.xml @@ -2,8 +2,8 @@ PlotJuggler Main App Install PlotJuggler with basic plugins. - 3.6.0 - 2022-08-13 + 3.9.0 + 2024-02-04 diff --git a/plotjuggler_plugins/DataStreamMQTT/CMakeLists.txt b/plotjuggler_plugins/DataStreamMQTT/CMakeLists.txt index 27535abd9..5edd38c14 100644 --- a/plotjuggler_plugins/DataStreamMQTT/CMakeLists.txt +++ b/plotjuggler_plugins/DataStreamMQTT/CMakeLists.txt @@ -5,12 +5,15 @@ if(BUILDING_WITH_VCPKG) set(MOSQUITTO_FOUND ON) elseif(BUILDING_WITH_CONAN) message(STATUS "Finding MOSQUITTO with conan") - find_package(mosquitto CONFIG REQUIRED) + find_package(mosquitto REQUIRED) set(MOSQUITTO_FOUND ON) + set(MOSQUITTO_LIBS mosquitto::mosquitto) else() message(STATUS "Finding MOSQUITTO without package managers") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") find_package(Mosquitto REQUIRED) + set(MOSQUITTO_LIBS ${MOSQUITTO_LIBRARIES}) + include_directories( ${MOSQUITTO_INCLUDE_DIR} ) endif() if(MOSQUITTO_FOUND) @@ -36,11 +39,9 @@ if(MOSQUITTO_FOUND) ${Qt5Widgets_LIBRARIES} Qt5::Network Qt5::Svg - ${MOSQUITTO_LIBRARIES} + ${MOSQUITTO_LIBS} plotjuggler_base ) - target_include_directories(DataStreamMQTT_Mosquitto - PUBLIC ${MOSQUITTO_INCLUDE_DIR}) install(TARGETS DataStreamMQTT_Mosquitto DESTINATION ${PJ_PLUGIN_INSTALL_DIRECTORY} ) diff --git a/plotjuggler_plugins/DataStreamZMQ/CMakeLists.txt b/plotjuggler_plugins/DataStreamZMQ/CMakeLists.txt index 220b32aa8..ead5ad3e9 100644 --- a/plotjuggler_plugins/DataStreamZMQ/CMakeLists.txt +++ b/plotjuggler_plugins/DataStreamZMQ/CMakeLists.txt @@ -1,36 +1,32 @@ if(BUILDING_WITH_VCPKG) message(STATUS "Finding ZeroMQ with vcpkg") - set(ZeroMQ_LIBRARIES libzmq libzmq-static) elseif(BUILDING_WITH_CONAN) message(STATUS "Finding ZeroMQ with conan") - set(ZeroMQ_LIBRARIES libzmq-static) else() message(STATUS "Finding ZeroMQ without package managers") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") + set(ZeroMQ_LIBS ${ZeroMQ_LIBRARIES}) endif() find_package(ZeroMQ QUIET) if(ZeroMQ_FOUND) - message(STATUS "[ZeroMQ] found") - include_directories(../ ${ZeroMQ_INCLUDE_DIR}) - add_definitions(${QT_DEFINITIONS}) add_definitions(-DQT_PLUGIN) QT5_WRAP_UI ( UI_SRC datastream_zmq.ui ) - SET( SRC datastream_zmq.cpp ) + add_library(DataStreamZMQ SHARED datastream_zmq.cpp ${UI_SRC} ) - add_library(DataStreamZMQ SHARED ${SRC} ${UI_SRC} ) + target_link_libraries(DataStreamZMQ ${Qt5Widgets_LIBRARIES} plotjuggler_base) - target_link_libraries(DataStreamZMQ - ${Qt5Widgets_LIBRARIES} - plotjuggler_base - ${ZeroMQ_LIBRARIES} - ) + if(BUILDING_WITH_VCPKG OR BUILDING_WITH_CONAN) + target_link_libraries(DataStreamZMQ libzmq-static) + else() + target_link_libraries(DataStreamZMQ ${ZeroMQ_LIBRARIES}) + endif() install(TARGETS DataStreamZMQ DESTINATION ${PJ_PLUGIN_INSTALL_DIRECTORY} ) else() diff --git a/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt b/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt index 740d796a6..f399fdad9 100644 --- a/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt +++ b/plotjuggler_plugins/ParserProtobuf/CMakeLists.txt @@ -1,16 +1,22 @@ - -include_directories( ../ ) - -add_definitions(${QT_DEFINITIONS}) -add_definitions(-DQT_PLUGIN) +if(BUILDING_WITH_CONAN) + message(STATUS "Finding Protobuf with conan") + set(Protobuf_LIBS protobuf::libprotobuf) +else() + message(STATUS "Finding Protobuf without package managers") + find_package(Protobuf QUIET) + set(Protobuf_LIBS ${Protobuf_LIBRARIES}) +endif() find_package(Protobuf QUIET) if( Protobuf_FOUND) + + include_directories( ../ ) + add_definitions(${QT_DEFINITIONS}) + add_definitions(-DQT_PLUGIN) + message(STATUS "[Protobuf] found") - QT5_WRAP_UI ( UI_SRC - protobuf_parser.ui - ) + QT5_WRAP_UI ( UI_SRC protobuf_parser.ui ) include_directories(${Protobuf_INCLUDE_DIRS}) @@ -30,7 +36,7 @@ if( Protobuf_FOUND) target_link_libraries(ProtobufParser ${Qt5Widgets_LIBRARIES} ${Qt5Xml_LIBRARIES} - ${Protobuf_LIBRARIES} + ${Protobuf_LIBS} plotjuggler_base plotjuggler_qwt) diff --git a/plotjuggler_plugins/ParserROS/rosx_introspection/3rdparty/Fast-CDR/CMakeLists.txt b/plotjuggler_plugins/ParserROS/rosx_introspection/3rdparty/Fast-CDR/CMakeLists.txt index 271c0dbd0..aa7036fb6 100644 --- a/plotjuggler_plugins/ParserROS/rosx_introspection/3rdparty/Fast-CDR/CMakeLists.txt +++ b/plotjuggler_plugins/ParserROS/rosx_introspection/3rdparty/Fast-CDR/CMakeLists.txt @@ -15,7 +15,7 @@ ############################################################################### # CMake build rules for FastCDR # ############################################################################### -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.10) set(IS_TOP_LEVEL TRUE) if(PROJECT_SOURCE_DIR)