1
0
mirror of https://github.com/eclipse/paho.mqtt.cpp.git synced 2025-05-09 11:21:24 +08:00

Bumped C++ requirement to C++17, and pushed CMake requirement to v3.12

This commit is contained in:
fpagliughi 2024-06-18 16:01:55 -04:00
parent 7d5dcce159
commit 25e6c612e3
3 changed files with 19 additions and 14 deletions

View File

@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
## Version 1.5.0 (Unreleased)
- Required C++ standard raised to C++17
- CMake minimum required version raised to v3.12
- Clients always created for v5 persistence format, making it universal for any connection.
- If the application specifies a version it is kept as a hint for default connections.
- The version for the connection should be specified in the connect options.

View File

@ -22,7 +22,7 @@
# Frank Pagliughi
#*******************************************************************************/
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.12)
project(PahoMqttCpp VERSION "1.5.0.1")
@ -100,9 +100,9 @@ else()
find_package(eclipse-paho-mqtt-c REQUIRED)
endif()
## --- C++11 build flags ---
## --- C++17 build flags ---
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

View File

@ -2,7 +2,7 @@
This repository contains the source code for the [Eclipse Paho](http://eclipse.org/paho) MQTT C++ client library for memory-managed operating systems such as Linux, MacOS, and Windows.
This code builds a library which enables Modern C++ applications (C++11 and beyond) to connect to an [MQTT](http://mqtt.org) broker, publish messages, subscribe to topics, and receive messages from the broker.
This code builds a library which enables Modern C++ applications (C++17 and beyond) to connect to an [MQTT](http://mqtt.org) broker, publish messages, subscribe to topics, and receive messages from the broker.
The library has the following features:
@ -33,6 +33,15 @@ To keep up with the latest announcements for this project, or to ask questions:
**Email:** [Eclipse Paho Mailing List](https://accounts.eclipse.org/mailing-list/paho-dev)
### Unreleased Features in This Branch
- Required C++ standard raised to C++17
- CMake minimum required version raised to v3.12
- Reformat the sources and added a .clang-format file (a project master and a slightly-different one for headers).
- Clients always created for v5 persistence format, making it universal for any connection.
- If the application specifies a version it is kept as a hint for default connections.
- The version for the connection should be specified in the connect options.
### What's New in v1.4.0
@ -50,10 +59,6 @@ The v1.4.0 release is primarily concerned with reorganizing the sources and fixi
For a full list of updates see the [CHANGELOG](https://github.com/eclipse/paho.mqtt.cpp/blob/master/CHANGELOG.md)
## Coming Next
The next release, v1.5, will upgrade the library to C++17 and start adding features the the newer C++ version supports, like an API that uses `std::variant<>`, `std::option<>`, `constexpr`, and so on.
## Contributing
Contributions to this project are gladly welcomed and appreciated Before submitting a Pull Request, please keep three things in mind:
@ -110,8 +115,8 @@ On *nix systems CMake creates Makefiles.
The build process currently supports a number of Unix and Linux flavors. The build process requires the following tools:
* CMake v3.5 or newer
* A fully-compatible C++11 compiler (GCC, Clang, etc)
* CMake v3.12 or newer
* A fully-compatible C++17 compiler (GCC, Clang, etc)
On Debian based systems this would mean that the following packages have to be installed:
@ -218,8 +223,8 @@ It's better not to mix DLLs and static libraries, but if you do link the Paho C+
#### Building the Library on Windows
The build process currently supports a number Windows versions. The build process requires the following tools:
* CMake GUI v3.5 or newer
* Visual Studio 2017 or newer
* CMake GUI v3.12 or newer
* Visual Studio 2019 or newer
The libraries can be completely built at an MSBuild Command Prompt. Download the Paho C and C++ library sources, then open a command window and first compile the Paho C library:
@ -239,8 +244,6 @@ It seems quite odd, but even on a 64-bit system using a 64-bit compiler, MSVC se
The 64-bit target can be selected using the CMake generator switch, *-G*, at configuration time. The full version must be provided.
For MSVS 2019 and beyond:
> cmake -G "Visual Studio 16 2019" -Ax64 -Bbuild -H. -DCMAKE_INSTALL_PREFIX=C:\mqtt\paho-c
> ...