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:
parent
7d5dcce159
commit
25e6c612e3
@ -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.
|
||||
|
@ -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)
|
||||
|
||||
|
25
README.md
25
README.md
@ -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
|
||||
> ...
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user