Skip to content

Commit

Permalink
Official Release 17.0.0: Merge pull request #35 from rcsoccersim/develop
Browse files Browse the repository at this point in the history
Official Release 17.0.0
  • Loading branch information
hidehisaakiyama authored Apr 2, 2022
2 parents 6017d1d + 47b7348 commit 6607203
Show file tree
Hide file tree
Showing 74 changed files with 34,288 additions and 1,336 deletions.
14 changes: 8 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)

project(rcssmonitor VERSION 16.1.0)
project(rcssmonitor VERSION 17.0.0)

if(CMAKE_VERSION VERSION_LESS "3.7.0")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
Expand All @@ -22,13 +22,13 @@ include(CheckIncludeFileCXX)
if(WIN32)
check_include_file("windows.h" HAVE_WINDOWS_H)
endif()
check_include_file_cxx("netinet/in.h" HAVE_NETINET_IN_H)
check_include_file_cxx("arpa/inet.h" HAVE_ARPA_INET_H)

# check boost
find_package(Boost 1.38.0 COMPONENTS program_options system REQUIRED)
if(Boost_PROGRAM_OPTIONS_FOUND)
set(HAVE_BOOST_PROGRAM_OPTIONS TRUE)
endif()
#find_package(Boost 1.38.0 COMPONENTS program_options system REQUIRED)
#if(Boost_PROGRAM_OPTIONS_FOUND)
# set(HAVE_BOOST_PROGRAM_OPTIONS TRUE)
#endif()

# check Qt
find_package(Qt5 COMPONENTS Core Gui Widgets Network REQUIRED)
Expand All @@ -44,6 +44,7 @@ if(ZLIB_FOUND)
set(HAVE_LIBZ TRUE)
endif()


# generate config.h
add_definitions(-DHAVE_CONFIG_H)
configure_file(
Expand All @@ -52,4 +53,5 @@ configure_file(
)

#
add_subdirectory(rcss)
add_subdirectory(src)
7 changes: 7 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2022-04-02 Hidehisa Akiyama <[email protected]>

* CMakeLists.txt:
* NEWS:
* configurea.ac:
- updated a major version number. Official release 17.0.0.

2022-01-21 Hidehisa Akiyama <[email protected]>

* CMakeLists.txt:
Expand Down
4 changes: 2 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
ACLOCAL_AMFLAGS=-I m4

SUBDIRS = src .
SUBDIRS = rcss src .

EXTRA_DIST = \
rcssmonitor.pro \
README.md \
CMakeLists.txt \
cmake-config.h.in \
icons/accelerate.xpm \
icons/blank.xpm \
icons/decelerate.xpm \
Expand Down
10 changes: 10 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
[17.0.0]
* Remove dependency on Boost library.

* Support the monitor protocol version 5 (RCG version 6), which is a
JSON-based format. The parser implemented at this time is quite
slow, so the default client version is set to the previous one.

* Reimplement the RCG parser library. The installation destination
of the library header files has been unified under PREFIX/include/rcss.

[16.1.0]
* Add a team graphic scaling option. Now, users can change the drawing
scale of team graphic images.
Expand Down
60 changes: 39 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,30 @@

**RoboCup Soccer Simulator Monitor** (rcssmonitor) is used to view the simulation as it takes place by connecting to the [RoboCup Soccer Simulator Server](https://github.com/rcsoccersim/rcssserver) (rcssserver) or to view the playback of a simulation by loading game log files.

## ⚽️ Quick Start
## :soccer: Quick Start

rcssmonitor is implemented by C++ and depends [Boost](https://www.boost.org/) and [Qt](https://www.qt.io/).
rcssmonitor is implemented by C++14 and depends [Qt5](https://www.qt.io/).
At first, related tools have to be installed on the system.
In the case of Ubuntu 16.04 or 18.04, execute the following commands:
In the case of Ubuntu 18.04 or 20.04, execute the following commands:

```
```bash
sudo apt update
sudo apt install build-essential libboost-all-dev qt5-default libfontconfig1-dev libaudio-dev libxt-dev libglib2.0-dev libxi-dev libxrender-dev
sudo apt install build-essential qt5-default libfontconfig1-dev libaudio-dev libxt-dev libglib2.0-dev libxi-dev libxrender-dev
```

Then, clone the repository. From its directory, execute commands:

```
autoreconf -i
```bash
./bootstrap
./configure
make
```

Alternatively you can download the tarball from [releases section](https://github.com/rcsoccersim/rcssmonitor/releases), extract it and run from its contents:
Alternatively you can download the tarball from the [releases section](https://github.com/rcsoccersim/rcssmonitor/releases), extract it and run from its contents:

```
```bash
tar xzvfp rcssmonitor-x.x.x.tar.gz
cd rcssmonitor-x.x.x
./configure
make
```
Expand All @@ -35,7 +37,7 @@ This will built the necessary binaries to get you up and running. `rcssmonitor/s

The version 16.0.0 or later support [CMake](https://cmake.org/). If CMake is prefered or problems with the above procedure, try the following commands:

```
```bash
mkdir build
cd build
cmake ..
Expand All @@ -45,54 +47,70 @@ make
In this case, `rcssmonitor/build/rcssmonitor` will be the binary for the monitor.


## 🛠 Configuring & Building
## :hammer_and_wrench: Configuring & Building

Before you can build RoboCup Soccer Simulator Monitor you will need to run the `configure` script located in the root of the distribution directory.
Before building rcssmonitor you will need to run the `configure` script located in the root of the distribution directory.

The default configuration will set up to install the monitor components in the following location:

`/usr/local/bin` for the executables

You may need administrator privileges to install the monitor into the default location. This locations can be modified by using configure's `--prefix=DIR` and related options. See `configure --help` for more details.
```bash
./configure --prefix=YOUR_INSTALLATION_DIR
```

The monitor has several features that can be enabled or disabled at configure time by using the `--enable-FEATURE[=ARG]` or `--disable-FEATURE` parameters to `configure`. `--disable-FEATURE` is equivalent to `--enable-FEATURE=no` and `--enable-FEATURE` is equivlant to `--enable-FEATURE=yes`. The only valid values for `ARG` are `yes` and `no`.

Once you have successfully configured the monitor, simply run `make` to build the sources.

If CMake is chosen, `ccmake` command is available for the configuration:

```
```bash
cd build
ccmake ..
```

## :package: Installing

## 📦 Installing
When you have completed building the monitor, it's components can be installed into their default locations or the locations specified during configuring by running
```bash
make install
```
Depending on where you are installing the monitor, you may need special permissions.

When you have completed building the monitor, it's components can be installed into their default locations or the locations specified during configuring by running `make install`. Depending on where you are installing the monitor, you may need special permissions.
## :wastebasket: Uninstalling
In the case of autotools, the monitor can also be easily removed by entering the distribution directory and running
```bash
make uninstall
```
This will remove all the files that where installed, but not any directories that were created during the installation process.

In the case of CMake, find `install_manifest.txt` under the build directory, then execute:
```bash
xargs rm < install_manifest.txt
```

The monitor can also be easily removed by entering the distribution directory and running `make uninstall`. This will remove all the files that where installed, but not any directories that were created during the installation process.

## Using the Monitor
## :play_or_pause_button: Using the Monitor

To start the monitor either type

```
```bash
./rcssmonitor
```

from the directory containing the executable or

```
```bash
rcssmonitor
```

If you invoke `rcssmonitor` with `--help` option, available options are displayed in your console.

## ✉ ️Contributing
## :incoming_envelope: Contributing

For bug reports, feature requests and latest updates, please goto
https://github.com/rcsoccersim/rcssmonitor and open an issue or a pull request.

> The RoboCup Soccer Server Maintainance Group
4 changes: 1 addition & 3 deletions cmake-config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,4 @@

#cmakedefine HAVE_WINDOWS_H

#cmakedefine HAVE_NETINET_IN_H

#cmakedefine HAVE_BOOST_PROGRAM_OPTIONS
#cmakedefine HAVE_ARPA_INET_H
75 changes: 24 additions & 51 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.61)
AC_INIT([rcssmonitor],[16.1.0],[https://github.com/rcsoccersim/rcssmonitor])
AC_INIT([rcssmonitor],[17.0.0],[https://github.com/rcsoccersim/rcssmonitor])

#LT_PREREQ(2.2.4)

Expand All @@ -12,6 +12,14 @@ AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])

##################################################
# libtool settings
##################################################

LT_INIT([shared disable-static])
LT_LANG([C++])
AC_SUBST(LIBTOOL_DEPS)

##################################################
# Checks for programs.
##################################################
Expand All @@ -27,13 +35,16 @@ AC_PROG_CXX
AC_CHECK_LIB([m], [cos],
[LIBS="-lm $LIBS"],
[AC_MSG_ERROR([*** -lm not found! ***])])
AC_CHECK_LIB([z], [deflate])
#AC_CHECK_LIB([z], [deflate])
AX_CHECK_ZLIB([],
[AC_MSG_NOTICE(Zlib not found.)])


##################################################
# Checks for header files.
##################################################

AC_CHECK_HEADERS([netinet/in.h])
AC_CHECK_HEADERS([arpa/inet.h])

##################################################
# Checks for typedefs, structures, and compiler characteristics.
Expand All @@ -59,49 +70,9 @@ AC_CHECK_FUNCS([memset rint strtol pow sqrt])
# ----------------------------------------------------------
# check Qt

AC_ARG_ENABLE(qt4,
AC_HELP_STRING([--enable-qt4],
[use Qt4 tool kit (default no)]))
AC_ARG_ENABLE(gl,
AC_HELP_STRING([--enable-gl],
[enable GLWidget for Qt (default no)]))

if test "x$enable_qt4" != "xyes"; then
AC_MSG_NOTICE(enabled Qt5)

QTMODULES="Qt5Core Qt5Gui Qt5Widgets Qt5Network"

if test "x$enable_gl" == "xyes"; then
AC_MSG_NOTICE(enabled GL5Widget)
CFLAGS="-DUSE_GLWIDGET $CFLAGS"
CXXFLAGS="-DUSE_GLWIDGET $CXXFLAGS"
QTMODULES="$QTMODULES Qt5OpenGL"
fi

AX_QT([5.0.0],[$QTMODULES])

else
AC_MSG_NOTICE(enabled Qt4)

QTMODULES="QtCore QtGui QtNetwork"

if test "x$enable_gl" == "xyes"; then
AC_MSG_NOTICE(enabled GLWidget)
CFLAGS="-DUSE_GLWIDGET $CFLAGS"
CXXFLAGS="-DUSE_GLWIDGET $CXXFLAGS"
QTMODULES="$QTMODULES QtOpenGL"
fi

AX_QT([4.3.0],[$QTMODULES])
fi

if test x$have_qt != xyes ; then
AC_MSG_ERROR([$QTMODULES could not be found.])
AM_CONDITIONAL(BUILD_QT, [test "1" = "0"])
else
CFLAGS="-fPIC $CFLAGS"
CXXFLAGS="-fPIC $CXXFLAGS"
AM_CONDITIONAL(BUILD_QT, [test "1" = "1"])
AX_HAVE_QT
if test "x$have_qt" != "xyes"; then
AC_MSG_ERROR([Qt not found.])
fi

# ----------------------------------------------------------
Expand All @@ -112,13 +83,15 @@ AX_CXX_COMPILE_STDCXX_14(noext)
# ----------------------------------------------------------
# check boost

AX_BOOST_BASE([1.38.0])
AX_BOOST_SYSTEM
AX_BOOST_PROGRAM_OPTIONS
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
#AX_BOOST_BASE([1.38.0])
#AX_BOOST_SYSTEM
#AX_BOOST_PROGRAM_OPTIONS
#CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
#LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"

# ----------------------------------------------------------
AC_CONFIG_FILES([Makefile
rcss/Makefile
rcss/rcg/Makefile
src/Makefile])
AC_OUTPUT
Loading

0 comments on commit 6607203

Please sign in to comment.