Build: Bump required C++ to 17

add-device-sharing
Kyle Schwarz 2022-07-21 16:22:52 -04:00
parent ab54697745
commit a0f73755e8
2 changed files with 6 additions and 3 deletions

View File

@ -19,7 +19,7 @@ option(LIBICSNEO_ENABLE_CDCACM "Enable devices which communicate over USB CDC AC
option(LIBICSNEO_ENABLE_FTDI "Enable devices which communicate over USB FTDI2XX" ON) option(LIBICSNEO_ENABLE_FTDI "Enable devices which communicate over USB FTDI2XX" ON)
if(NOT CMAKE_CXX_STANDARD) if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 17)
endif() endif()
include(GNUInstallDirs) include(GNUInstallDirs)
@ -34,6 +34,9 @@ if(MSVC)
else() else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
endif() endif()
# http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html
# Still supported until a suitable replacement is standardized
add_definitions(-D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING)
else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) else() #if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-switch -Wno-unknown-pragmas")
endif() endif()

View File

@ -112,13 +112,13 @@ icsneo_closeDevice(myDevice);
## Building from Source ## Building from Source
### Windows ### Windows
Building will require Microsoft Visual Studio 2017+ and CMake to be installed. Building will require MSVC 2017 version 15.7 or newer and CMake to be installed.
### macOS ### macOS
Getting the dependencies is easiest with the Homebrew package manager. You will also need XCode installed. You can then install CMake, an up-to-date version of GCC or Clang, and `libusb-1.0`. Getting the dependencies is easiest with the Homebrew package manager. You will also need XCode installed. You can then install CMake, an up-to-date version of GCC or Clang, and `libusb-1.0`.
### Linux ### Linux
The dependencies are as follows The dependencies are as follows
- CMake 3.12 or above - CMake 3.12 or above
- GCC 4.7 or above, 4.8+ recommended - GCC 7 or above
- `libusb-1.0-0-dev` - `libusb-1.0-0-dev`
- `libpcap0.8-dev` - `libpcap0.8-dev`
- `build-essential` is recommended - `build-essential` is recommended