diff --git a/README.md b/README.md
index 6ac5ff5f..a09a21ce 100644
--- a/README.md
+++ b/README.md
@@ -83,7 +83,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-core/README.md b/bot2-core/README.md
index 4ef393fa..6d9a33e0 100644
--- a/bot2-core/README.md
+++ b/bot2-core/README.md
@@ -10,7 +10,7 @@ a variety of robotics platforms.
## Required Dependencies
* C/C++ compiler that supports C++98 and C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* GLib 2.32 and above
* LCM 1.4 and above
* Linux or POSIX-compliant operating system (macOS Mojave 10.14 and above or
@@ -39,7 +39,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-core/cmake/bot2-core-config.cmake.in b/bot2-core/cmake/bot2-core-config.cmake.in
index 1eb1b7f3..560a096a 100644
--- a/bot2-core/cmake/bot2-core-config.cmake.in
+++ b/bot2-core/cmake/bot2-core-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
if(CMAKE_VERSION VERSION_LESS 3.9)
diff --git a/bot2-frames/README.md b/bot2-frames/README.md
index 23922588..544bca65 100644
--- a/bot2-frames/README.md
+++ b/bot2-frames/README.md
@@ -53,7 +53,7 @@ coordinate_frames {
* bot2-core
* bot2-param
* C/C++ compiler that supports C++98 and C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* GLib and GObject 2.32 and above
* LCM 1.4 and above
* Linux or POSIX-compliant operating system (macOS Mojave 10.14 and above or
@@ -86,7 +86,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-frames/cmake/bot2-frames-config.cmake.in b/bot2-frames/cmake/bot2-frames-config.cmake.in
index fc98c4a7..280b6492 100644
--- a/bot2-frames/cmake/bot2-frames-config.cmake.in
+++ b/bot2-frames/cmake/bot2-frames-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
set(USE_BOT_VIS @USE_BOT_VIS@)
diff --git a/bot2-frames/cmake/modules/3.6/FindPkgConfig.cmake b/bot2-frames/cmake/modules/3.6/FindPkgConfig.cmake
index fa8d9097..fc4c164b 100644
--- a/bot2-frames/cmake/modules/3.6/FindPkgConfig.cmake
+++ b/bot2-frames/cmake/modules/3.6/FindPkgConfig.cmake
@@ -146,7 +146,7 @@ macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cma
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
- elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
+ elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.5)
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
@@ -516,7 +516,7 @@ endmacro()
When the ``QUIET`` argument is set, no status messages will be printed.
- By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
+ By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.5 or
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set, the
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH`, and
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables will
@@ -683,7 +683,7 @@ endmacro()
cache and environment variables to ``pkg-config`` search path.
If this variable is not set, this behavior is enabled by default if
- :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
+ :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.5 or later, disabled
otherwise.
#]========================================]
diff --git a/bot2-lcm-utils/README.md b/bot2-lcm-utils/README.md
index f777d042..da42d069 100644
--- a/bot2-lcm-utils/README.md
+++ b/bot2-lcm-utils/README.md
@@ -7,7 +7,7 @@
## Required Dependencies
* C/C++ compiler that supports C++98 and C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* GLib 2.32 and above
* LCM 1.4 and above
* Linux or POSIX-compliant operating system (macOS Mojave 10.14 and above or
@@ -36,7 +36,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-lcm-utils/cmake/bot2-lcm-utils-config.cmake.in b/bot2-lcm-utils/cmake/bot2-lcm-utils-config.cmake.in
index a7040bbb..de546bd1 100644
--- a/bot2-lcm-utils/cmake/bot2-lcm-utils-config.cmake.in
+++ b/bot2-lcm-utils/cmake/bot2-lcm-utils-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
if(CMAKE_VERSION VERSION_LESS 3.9)
diff --git a/bot2-lcmgl/README.md b/bot2-lcmgl/README.md
index d841f9a6..84058f00 100644
--- a/bot2-lcmgl/README.md
+++ b/bot2-lcmgl/README.md
@@ -16,7 +16,7 @@ OpenGL libraries, and only require LCM.
* bot2-core
* C/C++ compiler that supports C++98 and C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* GLib and GObject 2.32 and above
* LCM 1.4 and above
* Linux or POSIX-compliant operating system (macOS Mojave 10.14 and above or
@@ -50,7 +50,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-lcmgl/cmake/bot2-lcmgl-config.cmake.in b/bot2-lcmgl/cmake/bot2-lcmgl-config.cmake.in
index 59840bf7..75144414 100644
--- a/bot2-lcmgl/cmake/bot2-lcmgl-config.cmake.in
+++ b/bot2-lcmgl/cmake/bot2-lcmgl-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
set(USE_BOT_VIS @USE_BOT_VIS@)
diff --git a/bot2-lcmgl/cmake/modules/3.6/FindPkgConfig.cmake b/bot2-lcmgl/cmake/modules/3.6/FindPkgConfig.cmake
index fa8d9097..fc4c164b 100644
--- a/bot2-lcmgl/cmake/modules/3.6/FindPkgConfig.cmake
+++ b/bot2-lcmgl/cmake/modules/3.6/FindPkgConfig.cmake
@@ -146,7 +146,7 @@ macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cma
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
- elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
+ elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.5)
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
@@ -516,7 +516,7 @@ endmacro()
When the ``QUIET`` argument is set, no status messages will be printed.
- By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
+ By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.5 or
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set, the
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH`, and
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables will
@@ -683,7 +683,7 @@ endmacro()
cache and environment variables to ``pkg-config`` search path.
If this variable is not set, this behavior is enabled by default if
- :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
+ :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.5 or later, disabled
otherwise.
#]========================================]
diff --git a/bot2-param/README.md b/bot2-param/README.md
index 9bd07930..e53f74b5 100644
--- a/bot2-param/README.md
+++ b/bot2-param/README.md
@@ -8,7 +8,7 @@
* bot2-core
* C/C++ compiler that supports C++98 and C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* GLib 2.32 and above
* LCM 1.4 and above
* Linux or POSIX-compliant operating system (macOS Mojave 10.14 and above or
@@ -35,7 +35,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-param/cmake/bot2-param-config.cmake.in b/bot2-param/cmake/bot2-param-config.cmake.in
index baa100fd..75c08484 100644
--- a/bot2-param/cmake/bot2-param-config.cmake.in
+++ b/bot2-param/cmake/bot2-param-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
if(CMAKE_VERSION VERSION_LESS 3.9)
diff --git a/bot2-procman/README.md b/bot2-procman/README.md
index 0b2f5fc4..0507192f 100644
--- a/bot2-procman/README.md
+++ b/bot2-procman/README.md
@@ -38,7 +38,7 @@ or with `-l`, but `--lone-ranger` is cooler.
## Required Dependencies
* C/C++ compiler that supports C++98 and C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* GLib and GThreads 2.32 and above
* GObject Introspection and PyGObject 3 and above
* LCM 1.4 and above
@@ -68,7 +68,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-procman/cmake/bot2-procman-config.cmake.in b/bot2-procman/cmake/bot2-procman-config.cmake.in
index 13087a54..aa4108d0 100644
--- a/bot2-procman/cmake/bot2-procman-config.cmake.in
+++ b/bot2-procman/cmake/bot2-procman-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
# Import targets that were generated with custom commands.
diff --git a/bot2-vis/README.md b/bot2-vis/README.md
index 5ffa8e5c..4d603efd 100644
--- a/bot2-vis/README.md
+++ b/bot2-vis/README.md
@@ -8,7 +8,7 @@
* bot2-core
* C compiler that supports C99 (Clang or GCC recommended)
-* CMake 3.10 and above (build and install) or 3.1 and above (use)
+* CMake 3.10 and above (build and install) or 3.5 and above (use)
* FreeGLUT (Linux) or GLUT (macOS)
* GDK and GTK 3.0 and above with X11 support
* GLib and GObject 2.32 and above
@@ -40,7 +40,7 @@ make install
CMakeLists.txt:
```cmake
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# ...
diff --git a/bot2-vis/cmake/bot2-vis-config.cmake.in b/bot2-vis/cmake/bot2-vis-config.cmake.in
index cb792ef5..26fcd29c 100644
--- a/bot2-vis/cmake/bot2-vis-config.cmake.in
+++ b/bot2-vis/cmake/bot2-vis-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
if(CMAKE_VERSION VERSION_LESS 3.9)
diff --git a/bot2-vis/cmake/modules/3.6/FindPkgConfig.cmake b/bot2-vis/cmake/modules/3.6/FindPkgConfig.cmake
index fa8d9097..fc4c164b 100644
--- a/bot2-vis/cmake/modules/3.6/FindPkgConfig.cmake
+++ b/bot2-vis/cmake/modules/3.6/FindPkgConfig.cmake
@@ -146,7 +146,7 @@ macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cma
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
- elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
+ elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.5)
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
@@ -516,7 +516,7 @@ endmacro()
When the ``QUIET`` argument is set, no status messages will be printed.
- By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
+ By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.5 or
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set, the
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH`, and
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables will
@@ -683,7 +683,7 @@ endmacro()
cache and environment variables to ``pkg-config`` search path.
If this variable is not set, this behavior is enabled by default if
- :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
+ :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.5 or later, disabled
otherwise.
#]========================================]
diff --git a/bot2-vis/src/bot_vis/glm_util.c b/bot2-vis/src/bot_vis/glm_util.c
index b90ad449..13c6bf01 100644
--- a/bot2-vis/src/bot_vis/glm_util.c
+++ b/bot2-vis/src/bot_vis/glm_util.c
@@ -20,7 +20,7 @@
// Adapted from F. Devernay's extensions to Nate Robbins' GLM library
//
-// Source obtained from GLM-0.3.1 available from
+// Source obtained from GLM-0.3.5 available from
// http://devernay.free.fr/hacks/glm/
//
// Changes:
diff --git a/bot2-vis/src/bot_vis/glmimg.c b/bot2-vis/src/bot_vis/glmimg.c
index 39b9e5ed..4e53d9cd 100644
--- a/bot2-vis/src/bot_vis/glmimg.c
+++ b/bot2-vis/src/bot_vis/glmimg.c
@@ -20,7 +20,7 @@
// Adapted from F. Devernay's extensions to Nate Robbins' GLM library
//
-// Source obtained from GLM-0.3.1 available from
+// Source obtained from GLM-0.3.5 available from
// http://devernay.free.fr/hacks/glm/
//
// Changes:
diff --git a/bot2-vis/src/bot_vis/glmimg_jpg.c b/bot2-vis/src/bot_vis/glmimg_jpg.c
index fea953bc..90d71fa9 100644
--- a/bot2-vis/src/bot_vis/glmimg_jpg.c
+++ b/bot2-vis/src/bot_vis/glmimg_jpg.c
@@ -20,7 +20,7 @@
// Adapted from F. Devernay's extensions to Nate Robbins' GLM library
//
-// Source obtained from GLM-0.3.1 available from
+// Source obtained from GLM-0.3.5 available from
// http://devernay.free.fr/hacks/glm/
//
// Changes:
diff --git a/bot2-vis/src/bot_vis/glmimg_png.c b/bot2-vis/src/bot_vis/glmimg_png.c
index 3fd4826b..ea073302 100644
--- a/bot2-vis/src/bot_vis/glmimg_png.c
+++ b/bot2-vis/src/bot_vis/glmimg_png.c
@@ -20,7 +20,7 @@
// Adapted from F. Devernay's extensions to Nate Robbins' GLM library
//
-// Source obtained from GLM-0.3.1 available from
+// Source obtained from GLM-0.3.5 available from
// http://devernay.free.fr/hacks/glm/
//
// Changes:
diff --git a/cmake/cpack.cmake b/cmake/cpack.cmake
index c038e52c..c192a509 100644
--- a/cmake/cpack.cmake
+++ b/cmake/cpack.cmake
@@ -62,7 +62,7 @@ set(CPACK_SOURCE_STRIP_FILES OFF)
# Debian specific
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${MACHINE_ARCH})
set(CPACK_DEBIAN_PACKAGE_RELEASE ${PACKAGE_RELEASE_VERSION})
-set(CPACK_DEBIAN_PACKAGE_DEPENDS "lcm (>=1.4.0), default-jre | java8-runtime, freeglut3, libc6, libgcc1, libglib2.0-0, libglu1-mesa, libgtk-3-0, libice6, libjpeg8, libopengl0, libpng16-16, libsm6, libstdc++6, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxmu6, libxt6, python3, python3-gi, python3-numpy, python3-scipy, zlib1g")
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "lcm (>=1.4.0), default-jre | java8-runtime, libc6, libgcc1, libglib2.0-0, libglut3.12, libglu1-mesa, libgtk-3-0, libice6, libjpeg8, libopengl0, libpng16-16, libsm6, libstdc++6, libx11-6, libxau6, libxcb1, libxdmcp6, libxext6, libxmu6, libxt6, python3, python3-gi, python3-numpy, python3-scipy, zlib1g")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${CPACK_PACKAGE_HOMEPAGE_URL}")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR} ")
diff --git a/cmake/libbot2-config.cmake.in b/cmake/libbot2-config.cmake.in
index b119143f..ea369039 100644
--- a/cmake/libbot2-config.cmake.in
+++ b/cmake/libbot2-config.cmake.in
@@ -20,15 +20,15 @@ along with @PROJECT_NAME@. If not, see .
@PACKAGE_INIT@
-if(CMAKE_VERSION VERSION_LESS 3.1)
+if(CMAKE_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR
- "CMake 3.1 or higher is required to use @PROJECT_NAME@. "
+ "CMake 3.5 or higher is required to use @PROJECT_NAME@. "
"You are running version ${CMAKE_VERSION}."
)
endif()
cmake_policy(PUSH)
-cmake_policy(VERSION 3.1)
+cmake_policy(VERSION 3.5)
set(CMAKE_IMPORT_FILE_VERSION 1)
set(WITH_BOT_FRAMES @WITH_BOT_FRAMES@)
diff --git a/scripts/package/linux/ubuntu/bionic/package b/scripts/package/linux/ubuntu/bionic/package
deleted file mode 100755
index cfeeeacd..00000000
--- a/scripts/package/linux/ubuntu/bionic/package
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-
-# This file is part of libbot2.
-#
-# libbot2 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.
-#
-# libbot2 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 libbot2. If not, see .
-
-# This script will start a docker container that contains the requirements to
-# build libbot2 (except LCM which is built as part of this process). It will
-# then copy a script in the docker container that has been start, and run that
-# script which builds and packages LCM, builds and packages libbot2, and copy
-# the 2 deb archives in the current working directory before stopping and
-# removing the docker container.
-
-set -euxo pipefail
-
-readonly timestamp=$(date -u +%Y%m%d)
-
-rm -f lcm_1.4.0-gabdd8a2_amd64.deb libbot2_0.0.1.*-1_amd64.deb
-
-docker build --tag libbot2-bionic-prereqs "$(git rev-parse --show-toplevel)"/scripts/setup/linux/ubuntu/bionic/
-docker run --detach --name libbot2-bionic --tty libbot2-bionic-prereqs
-trap 'docker stop libbot2-bionic && docker rm libbot2-bionic' EXIT
-docker cp "$(git rev-parse --show-toplevel)" libbot2-bionic:/tmp/libbot2
-docker exec libbot2-bionic /tmp/libbot2/scripts/package/linux/ubuntu/common/build.sh "${timestamp}"
-docker cp libbot2-bionic:/tmp/lcm_1.4.0-gabdd8a2_amd64.deb .
-docker cp libbot2-bionic:/tmp/"libbot2_0.0.1.${timestamp}-1_amd64.deb" .
-
-# Test package
-docker run --detach --name libbot2-bionic-test --tty ubuntu:18.04
-trap 'docker stop libbot2-bionic libbot2-bionic-test && docker rm libbot2-bionic libbot2-bionic-test' EXIT
-docker cp lcm_1.4.0-gabdd8a2_amd64.deb libbot2-bionic-test:/tmp
-docker cp "libbot2_0.0.1.${timestamp}-1_amd64.deb" libbot2-bionic-test:/tmp
-docker cp "$(git rev-parse --show-toplevel)" libbot2-bionic-test:/tmp/libbot2
-docker exec libbot2-bionic-test /tmp/libbot2/scripts/package/linux/ubuntu/common/test.sh "${timestamp}"
diff --git a/scripts/package/linux/ubuntu/common/build.sh b/scripts/package/linux/ubuntu/common/build.sh
index 08b9ad28..e46bbdfe 100755
--- a/scripts/package/linux/ubuntu/common/build.sh
+++ b/scripts/package/linux/ubuntu/common/build.sh
@@ -62,13 +62,48 @@ index 253ab64..52b1c7b 100644
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/lcm-proj/lcm")
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
-set(CPACK_DEBIAN_PACKAGE_DEPENDS "libglib2.0-0, libpcre3")
-+set(CPACK_DEBIAN_PACKAGE_DEPENDS "default-jre | java8-runtime, libc6, libgcc1, libglib2.0-0, libpcre3, libstdc++6, python3")
++set(CPACK_DEBIAN_PACKAGE_DEPENDS "default-jre | java8-runtime, libc6, libgcc1, libglib2.0-0, libpcre2-8-0, libstdc++6, python3")
message(STATUS "CPack: Packages will be placed under ${CPACK_PACKAGE_DIRECTORY}")
EOF
git apply lcm-cmake.patch
rm -f lcm-cmake.patch
+
+# Patch lcm to use a higher supported minimum version of CMake
+cat << 'EOF' > CMakeLists.patch
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,2 +1,2 @@
+-cmake_minimum_required(VERSION 3.1)
++cmake_minimum_required(VERSION 3.10)
+
+EOF
+git apply CMakeLists.patch
+rm -f CMakeLists.patch
+
+# Address compatibility issues with Py_TYPE()
+cat << 'EOF' > lcm-python.patch
+diff --git a/lcm-python/module.c b/lcm-python/module.c
+--- a/lcm-python/module.c
++++ b/lcm-python/module.c
+@@ -44,6 +44,6 @@
+ PyObject *m;
+
++ Py_SET_TYPE(&pylcmeventlog_type, &PyType_Type);
++ Py_SET_TYPE(&pylcm_type, &PyType_Type);
++ Py_SET_TYPE(&pylcm_subscription_type, &PyType_Type);
+- Py_TYPE(&pylcmeventlog_type) = &PyType_Type;
+- Py_TYPE(&pylcm_type) = &PyType_Type;
+- Py_TYPE(&pylcm_subscription_type) = &PyType_Type;
+
+ MOD_DEF(m, "_lcm", lcmmod_doc, lcmmod_methods);
+EOF
+git apply lcm-python.patch
+rm -f lcm-python.patch
+
+# Last patch applied, exit ``/tmp``
popd
mkdir lcm-build
diff --git a/scripts/package/linux/ubuntu/focal/package b/scripts/package/linux/ubuntu/focal/package
deleted file mode 100755
index 1bdf37bd..00000000
--- a/scripts/package/linux/ubuntu/focal/package
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-
-# This file is part of libbot2.
-#
-# libbot2 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.
-#
-# libbot2 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 libbot2. If not, see .
-
-# This script will start a docker container that contains the requirements to
-# build libbot2 (except LCM which is built as part of this process). It will
-# then copy a script in the docker container that has been start, and run that
-# script which builds and packages LCM, builds and packages libbot2, and copy
-# the 2 deb archives in the current working directory before stopping and
-# removing the docker container.
-
-set -euxo pipefail
-
-readonly timestamp=$(date -u +%Y%m%d)
-
-rm -f lcm_1.4.0-gabdd8a2_amd64.deb libbot2_0.0.1.*-1_amd64.deb
-
-docker build --tag libbot2-focal-prereqs "$(git rev-parse --show-toplevel)"/scripts/setup/linux/ubuntu/focal/
-docker run --detach --name libbot2-focal --tty libbot2-focal-prereqs
-trap 'docker stop libbot2-focal && docker rm libbot2-focal' EXIT
-docker cp "$(git rev-parse --show-toplevel)" libbot2-focal:/tmp/libbot2
-docker exec libbot2-focal /tmp/libbot2/scripts/package/linux/ubuntu/common/build.sh "${timestamp}"
-docker cp libbot2-focal:/tmp/lcm_1.4.0-gabdd8a2_amd64.deb .
-docker cp libbot2-focal:/tmp/"libbot2_0.0.1.${timestamp}-1_amd64.deb" .
-
-# Test package
-docker run --detach --name libbot2-focal-test --tty ubuntu:20.04
-trap 'docker stop libbot2-focal libbot2-focal-test && docker rm libbot2-focal libbot2-focal-test' EXIT
-docker cp lcm_1.4.0-2_amd64gabdd8a2_amd64.deb libbot2-focal-test:/tmp
-docker cp "libbot2_0.0.1.${timestamp}-1_amd64.deb" libbot2-focal-test:/tmp
-docker cp "$(git rev-parse --show-toplevel)" libbot2-focal-test:/tmp/libbot2
-docker exec libbot2-focal-test /tmp/libbot2/scripts/package/linux/ubuntu/common/test.sh "${timestamp}"
diff --git a/scripts/package/linux/ubuntu/jammy/package b/scripts/package/linux/ubuntu/noble/package
similarity index 59%
rename from scripts/package/linux/ubuntu/jammy/package
rename to scripts/package/linux/ubuntu/noble/package
index 42e2e761..0cef8520 100755
--- a/scripts/package/linux/ubuntu/jammy/package
+++ b/scripts/package/linux/ubuntu/noble/package
@@ -28,18 +28,18 @@ readonly timestamp=$(date -u +%Y%m%d)
rm -f lcm_1.4.0-gabdd8a2_amd64.deb libbot2_0.0.1.*-1_amd64.deb
-docker build --tag libbot2-jammy-prereqs "$(git rev-parse --show-toplevel)"/scripts/setup/linux/ubuntu/jammy/
-docker run --detach --name libbot2-jammy --tty libbot2-jammy-prereqs
-trap 'docker stop libbot2-jammy && docker rm libbot2-jammy' EXIT
-docker cp "$(git rev-parse --show-toplevel)" libbot2-jammy:/tmp/libbot2
-docker exec libbot2-jammy /tmp/libbot2/scripts/package/linux/ubuntu/common/build.sh "${timestamp}"
-docker cp libbot2-jammy:/tmp/lcm_1.4.0-gabdd8a2_amd64.deb .
-docker cp libbot2-jammy:/tmp/"libbot2_0.0.1.${timestamp}-1_amd64.deb" .
+docker build --tag libbot2-noble-prereqs "$(git rev-parse --show-toplevel)"/scripts/setup/linux/ubuntu/noble/
+docker run --detach --name libbot2-noble --tty libbot2-noble-prereqs
+trap 'docker stop libbot2-noble && docker rm libbot2-noble' EXIT
+docker cp "$(git rev-parse --show-toplevel)" libbot2-noble:/tmp/libbot2
+docker exec libbot2-noble /tmp/libbot2/scripts/package/linux/ubuntu/common/build.sh "${timestamp}"
+docker cp libbot2-noble:/tmp/lcm_1.4.0-gabdd8a2_amd64.deb .
+docker cp libbot2-noble:/tmp/"libbot2_0.0.1.${timestamp}-1_amd64.deb" .
# Test package
-docker run --detach --name libbot2-jammy-test --tty ubuntu:22.04
-trap 'docker stop libbot2-jammy libbot2-jammy-test && docker rm libbot2-jammy libbot2-jammy-test' EXIT
-docker cp lcm_1.4.0-gabdd8a2_amd64.deb libbot2-jammy-test:/tmp
-docker cp "libbot2_0.0.1.${timestamp}-1_amd64.deb" libbot2-jammy-test:/tmp
-docker cp "$(git rev-parse --show-toplevel)" libbot2-jammy-test:/tmp/libbot2
-docker exec libbot2-jammy-test /tmp/libbot2/scripts/package/linux/ubuntu/common/test.sh "${timestamp}"
+docker run --detach --name libbot2-noble-test --tty ubuntu:24.04
+trap 'docker stop libbot2-noble libbot2-noble-test && docker rm libbot2-noble libbot2-noble-test' EXIT
+docker cp lcm_1.4.0-gabdd8a2_amd64.deb libbot2-noble-test:/tmp
+docker cp "libbot2_0.0.1.${timestamp}-1_amd64.deb" libbot2-noble-test:/tmp
+docker cp "$(git rev-parse --show-toplevel)" libbot2-noble-test:/tmp/libbot2
+docker exec libbot2-noble-test /tmp/libbot2/scripts/package/linux/ubuntu/common/test.sh "${timestamp}"
diff --git a/scripts/setup/linux/ubuntu/bionic/Dockerfile b/scripts/setup/linux/ubuntu/bionic/Dockerfile
deleted file mode 100644
index 306fe8ed..00000000
--- a/scripts/setup/linux/ubuntu/bionic/Dockerfile
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file is part of libbot2.
-#
-# libbot2 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.
-#
-# libbot2 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 libbot2. If not, see .
-
-FROM ubuntu:18.04
-COPY ./install_prereqs /tmp/install_prereqs
-ARG DEBIAN_FRONTEND=noninteractive
-RUN /tmp/install_prereqs \
- && rm -rf /var/lib/apt/lists/* \
- && rm -f /tmp/install_prereqs
diff --git a/scripts/setup/linux/ubuntu/bionic/install_prereqs b/scripts/setup/linux/ubuntu/bionic/install_prereqs
deleted file mode 100755
index 96be2a82..00000000
--- a/scripts/setup/linux/ubuntu/bionic/install_prereqs
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-# This file is part of libbot2.
-#
-# libbot2 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.
-#
-# libbot2 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 libbot2. If not, see .
-
-set -euo pipefail
-
-if [[ "${EUID}" -ne 0 ]]; then
- echo 'This script must be run as root' >&2
- exit 1
-fi
-
-export DEBIAN_FRONTEND=noninteractive
-
-apt-get -qq update || (sleep 15; apt-get -qq update)
-apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
- lsb-release
-
-if [[ "$(lsb_release -cs)" != 'bionic' ]]; then
- echo 'This script requires Ubuntu 18.04 (Bionic)' >&2
- exit 2
-fi
-
-apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
- build-essential \
- ca-certificates \
- default-jdk \
- doxygen \
- file \
- freeglut3-dev \
- git \
- gnupg \
- libglib2.0-dev \
- libgtk-3-dev \
- libjpeg8-dev \
- libpng-dev \
- libxmu-dev \
- pkg-config \
- python3-dev \
- python3-gi \
- python3-numpy \
- python3-scipy \
- wget \
- zlib1g-dev
-
-wget -qO- https://apt.kitware.com/keys/kitware-archive-latest.asc \
- | gpg --dearmor > /etc/apt/trusted.gpg.d/kitware.gpg
-
-echo 'deb https://apt.kitware.com/ubuntu/ bionic main' \
- > /etc/apt/sources.list.d/kitware.list
-
-apt-get -qq update || (sleep 15; apt-get -qq update)
-apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
- cmake
-
-# TODO: Install a compatible version of LCM.
diff --git a/scripts/setup/linux/ubuntu/jammy/Dockerfile b/scripts/setup/linux/ubuntu/jammy/Dockerfile
deleted file mode 100644
index c291ef7e..00000000
--- a/scripts/setup/linux/ubuntu/jammy/Dockerfile
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file is part of libbot2.
-#
-# libbot2 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.
-#
-# libbot2 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 libbot2. If not, see .
-
-FROM ubuntu:22.04
-COPY ./install_prereqs /tmp/install_prereqs
-RUN /tmp/install_prereqs \
- && rm -rf /var/lib/apt/lists/* \
- && rm -f /tmp/install_prereqs
diff --git a/scripts/setup/linux/ubuntu/jammy/install_prereqs b/scripts/setup/linux/ubuntu/jammy/install_prereqs
deleted file mode 100755
index bfcab386..00000000
--- a/scripts/setup/linux/ubuntu/jammy/install_prereqs
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-# This file is part of libbot2.
-#
-# libbot2 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.
-#
-# libbot2 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 libbot2. If not, see .
-
-set -euo pipefail
-
-if [[ "${EUID}" -ne 0 ]]; then
- echo 'This script must be run as root' >&2
- exit 1
-fi
-
-export DEBIAN_FRONTEND=noninteractive
-
-apt-get -qq update || (sleep 15; apt-get -qq update)
-apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
- lsb-release
-
-if [[ "$(lsb_release -cs)" != 'jammy' ]]; then
- echo 'This script requires Ubuntu 22.04 (Focal)' >&2
- exit 2
-fi
-
-apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
- build-essential \
- ca-certificates \
- default-jdk \
- doxygen \
- file \
- freeglut3-dev \
- git \
- gnupg \
- libglib2.0-dev \
- libgtk-3-dev \
- libjpeg8-dev \
- libpng-dev \
- libxmu-dev \
- pkg-config \
- python3-dev \
- python3-gi \
- python3-numpy \
- python3-scipy \
- wget \
- zlib1g-dev
-
-wget -qO- https://apt.kitware.com/keys/kitware-archive-latest.asc \
- | gpg --dearmor > /etc/apt/trusted.gpg.d/kitware.gpg
-
-echo 'deb https://apt.kitware.com/ubuntu/ jammy main' \
- > /etc/apt/sources.list.d/kitware.list
-
-apt-get -qq update || (sleep 15; apt-get -qq update)
-apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
- cmake
-
-# TODO: Install a compatible version of LCM.
diff --git a/scripts/setup/linux/ubuntu/focal/Dockerfile b/scripts/setup/linux/ubuntu/noble/Dockerfile
similarity index 97%
rename from scripts/setup/linux/ubuntu/focal/Dockerfile
rename to scripts/setup/linux/ubuntu/noble/Dockerfile
index d45f57c2..e39aeb04 100644
--- a/scripts/setup/linux/ubuntu/focal/Dockerfile
+++ b/scripts/setup/linux/ubuntu/noble/Dockerfile
@@ -13,7 +13,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with libbot2. If not, see .
-FROM ubuntu:20.04
+FROM ubuntu:24.04
COPY ./install_prereqs /tmp/install_prereqs
RUN /tmp/install_prereqs \
&& rm -rf /var/lib/apt/lists/* \
diff --git a/scripts/setup/linux/ubuntu/focal/install_prereqs b/scripts/setup/linux/ubuntu/noble/install_prereqs
similarity index 89%
rename from scripts/setup/linux/ubuntu/focal/install_prereqs
rename to scripts/setup/linux/ubuntu/noble/install_prereqs
index 4b8e6f1e..abdd2289 100755
--- a/scripts/setup/linux/ubuntu/focal/install_prereqs
+++ b/scripts/setup/linux/ubuntu/noble/install_prereqs
@@ -28,8 +28,8 @@ apt-get -qq update || (sleep 15; apt-get -qq update)
apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends install \
lsb-release
-if [[ "$(lsb_release -cs)" != 'focal' ]]; then
- echo 'This script requires Ubuntu 20.04 (Focal)' >&2
+if [[ "$(lsb_release -cs)" != 'noble' ]]; then
+ echo 'This script requires Ubuntu 24.04 (Noble)' >&2
exit 2
fi
@@ -39,12 +39,13 @@ apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends ins
default-jdk \
doxygen \
file \
- freeglut3-dev \
git \
gnupg \
libglib2.0-dev \
+ libglut-dev \
libgtk-3-dev \
libjpeg8-dev \
+ liblbfgsb0 \
libpng-dev \
libxmu-dev \
pkg-config \
@@ -52,13 +53,14 @@ apt-get -o Acquire::Retries=4 -o Dpkg::Use-Pty=0 -qy --no-install-recommends ins
python3-gi \
python3-numpy \
python3-scipy \
+ python3-setuptools \
wget \
zlib1g-dev
wget -qO- https://apt.kitware.com/keys/kitware-archive-latest.asc \
| gpg --dearmor > /etc/apt/trusted.gpg.d/kitware.gpg
-echo 'deb https://apt.kitware.com/ubuntu/ focal main' \
+echo 'deb https://apt.kitware.com/ubuntu/ noble main' \
> /etc/apt/sources.list.d/kitware.list
apt-get -qq update || (sleep 15; apt-get -qq update)