Skip to content

Commit 739d00d

Browse files
committed
Move to C++17
1 parent d911eea commit 739d00d

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
### CMake Version #############################################################
1+
### CMake Version ##############################################################
22

33
cmake_minimum_required(VERSION 3.10)
44

5-
### Project Configuration #####################################################
5+
### Project Configuration ######################################################
66

77
get_filename_component(PROJECT_DIR_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
88
string(REPLACE " " "_" PROJECT_DIR_NAME ${PROJECT_DIR_NAME})
@@ -13,7 +13,7 @@ project(${PROJECT_DIR_NAME}
1313

1414
set(LIB_NAME shift)
1515

16-
### List of Files #############################################################
16+
### List of Files ##############################################################
1717

1818
set(DEMO
1919
${PROJECT_SOURCE_DIR}/demo/credentials.py
@@ -45,15 +45,16 @@ set(OTHER
4545
${PROJECT_SOURCE_DIR}/setup.py
4646
)
4747

48-
### Compiler Flags ############################################################
48+
### Compiler Flags #############################################################
4949

5050
# Important for libraries
5151
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
5252

53-
# C++14
54-
set(CMAKE_CXX_STANDARD 14)
53+
# C++17
54+
set(CMAKE_CXX_STANDARD 17)
5555
set(CMAKE_CXX_STANDARD_REQUIRED ON)
5656
set(CMAKE_CXX_EXTENSIONS OFF)
57+
add_definitions("-DHAVE_STD_UNIQUE_PTR=1") # QuickFIX C++17 compatibility req.
5758

5859
# Common Flags
5960
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexceptions -pedantic-errors")
@@ -68,7 +69,7 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -finline-functions -flto")
6869

6970
# GCC (Ubuntu 18.04 LTS Bionic Beaver)
7071
if(UNIX AND NOT APPLE)
71-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
72+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
7273
endif(UNIX AND NOT APPLE)
7374

7475
# GCC (Raspbian Buster for Raspberry Pi 4)
@@ -79,19 +80,18 @@ endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l")
7980

8081
# Clang (macOS Catalina 10.15)
8182
if(APPLE)
82-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
8383
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-overloaded-virtual")
8484
include_directories(/usr/local/include)
8585
endif(APPLE)
8686

87-
### Build Types ###############################################################
87+
### Build Types ################################################################
8888

8989
# if no build type is set, the default is Release
9090
if(NOT CMAKE_BUILD_TYPE)
9191
set(CMAKE_BUILD_TYPE Release)
9292
endif(NOT CMAKE_BUILD_TYPE)
9393

94-
### Build Configuration #######################################################
94+
### Build Configuration ########################################################
9595

9696
find_package(pybind11 REQUIRED)
9797

@@ -118,4 +118,4 @@ target_include_directories(${LIB_NAME}
118118
target_link_libraries(${LIB_NAME}
119119
PRIVATE ${LIBCORECLIENT})
120120

121-
###############################################################################
121+
################################################################################

DeveloperGuide.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ <h4 id="pybind11">pybind11:</h4>
675675
<a class="sourceLine" id="cb1-3" data-line-number="3"><span class="fu">git</span> checkout tags/v2.2.4 <span class="co"># v2.3.0 has a bug with char enums</span></a>
676676
<a class="sourceLine" id="cb1-4" data-line-number="4"><span class="fu">mkdir</span> build</a>
677677
<a class="sourceLine" id="cb1-5" data-line-number="5"><span class="bu">cd</span> build</a>
678-
<a class="sourceLine" id="cb1-6" data-line-number="6"><span class="fu">cmake</span> -DPYBIND11_PYTHON_VERSION=3.7 ..</a>
678+
<a class="sourceLine" id="cb1-6" data-line-number="6"><span class="fu">cmake</span> -DCMAKE_CXX_STANDARD=17 -DPYBIND11_PYTHON_VERSION=3.7 ..</a>
679679
<a class="sourceLine" id="cb1-7" data-line-number="7"><span class="fu">make</span></a>
680680
<a class="sourceLine" id="cb1-8" data-line-number="8"><span class="fu">sudo</span> make install</a></code></pre></div>
681681
<hr />

DeveloperGuide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ cd pybind11
2525
git checkout tags/v2.2.4 # v2.3.0 has a bug with char enums
2626
mkdir build
2727
cd build
28-
cmake -DPYBIND11_PYTHON_VERSION=3.7 ..
28+
cmake -DCMAKE_CXX_STANDARD=17 -DPYBIND11_PYTHON_VERSION=3.7 ..
2929
make
3030
sudo make install
3131
```

0 commit comments

Comments
 (0)