Skip to content

Commit

Permalink
Use C++20. (#2322)
Browse files Browse the repository at this point in the history
  • Loading branch information
tez011 committed Apr 26, 2024
1 parent 9288775 commit 7fb8c76
Show file tree
Hide file tree
Showing 16 changed files with 29 additions and 16 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/CI.yml
Expand Up @@ -280,7 +280,7 @@ jobs:
include: # package these differently
- type: AppImage
EXTRA_ARGS: '-DSUNSHINE_BUILD_APPIMAGE=ON'
dist: 20.04
dist: 22.04

steps:
- name: Maximize build space
Expand Down Expand Up @@ -323,6 +323,9 @@ jobs:
# allow newer gcc
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
# allow libfuse2 for appimage on 22.04
sudo add-apt-repository universe
sudo apt-get install -y \
build-essential \
cmake \
Expand All @@ -338,6 +341,7 @@ jobs:
libcurl4-openssl-dev \
libdrm-dev \
libevdev-dev \
libfuse2 \
libminiupnpc-dev \
libmfx-dev \
libnotify-dev \
Expand Down
2 changes: 1 addition & 1 deletion cmake/targets/common.cmake
Expand Up @@ -36,7 +36,7 @@ endif()

target_link_libraries(sunshine ${SUNSHINE_EXTERNAL_LIBRARIES} ${EXTRA_LIBS})
target_compile_definitions(sunshine PUBLIC ${SUNSHINE_DEFINITIONS})
set_target_properties(sunshine PROPERTIES CXX_STANDARD 17
set_target_properties(sunshine PROPERTIES CXX_STANDARD 20
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR})

Expand Down
1 change: 1 addition & 0 deletions src/config.cpp
Expand Up @@ -9,6 +9,7 @@
#include <iostream>
#include <thread>
#include <unordered_map>
#include <utility>

#include <boost/asio.hpp>
#include <boost/filesystem.hpp>
Expand Down
1 change: 1 addition & 0 deletions src/httpcommon.cpp
Expand Up @@ -7,6 +7,7 @@
#include "process.h"

#include <filesystem>
#include <utility>

#include <boost/property_tree/json_parser.hpp>
#include <boost/property_tree/ptree.hpp>
Expand Down
5 changes: 4 additions & 1 deletion src/network.cpp
Expand Up @@ -7,6 +7,7 @@
#include "logging.h"
#include "utility.h"
#include <algorithm>
#include <sstream>

using namespace std::literals;

Expand Down Expand Up @@ -169,7 +170,9 @@ namespace net {
addr_to_url_escaped_string(boost::asio::ip::address address) {
address = normalize_address(address);
if (address.is_v6()) {
return "["s + address.to_string() + ']';
std::stringstream ss;
ss << '[' << address.to_string() << ']';
return ss.str();
}
else {
return address.to_string();
Expand Down
1 change: 1 addition & 0 deletions src/network.h
Expand Up @@ -5,6 +5,7 @@
#pragma once

#include <tuple>
#include <utility>

#include <boost/asio.hpp>

Expand Down
1 change: 1 addition & 0 deletions src/nvhttp.cpp
Expand Up @@ -8,6 +8,7 @@

// standard includes
#include <filesystem>
#include <utility>

// lib includes
#include <Simple-Web-Server/server_http.hpp>
Expand Down
4 changes: 2 additions & 2 deletions src/platform/linux/cuda.cpp
Expand Up @@ -262,7 +262,7 @@ namespace cuda {
fs::path sysfs_dir { sysfs_path };
for (auto &entry : fs::directory_iterator { sysfs_dir }) {
auto file = entry.path().filename();
auto filestring = file.generic_u8string();
auto filestring = file.generic_string();
if (std::string_view { filestring }.substr(0, 4) != "card"sv) {
continue;
}
Expand Down Expand Up @@ -1049,4 +1049,4 @@ namespace platf {

return display_names;
}
} // namespace platf
} // namespace platf
2 changes: 1 addition & 1 deletion src/platform/linux/input.cpp
Expand Up @@ -1510,7 +1510,7 @@ namespace platf {
std::stringstream ss;
ss << std::hex << std::setfill('0');
for (const auto &ch : str) {
ss << ch;
ss << static_cast<uint_least32_t>(ch);
}

std::string hex_unicode(ss.str());
Expand Down
4 changes: 2 additions & 2 deletions src/platform/linux/kmsgrab.cpp
Expand Up @@ -614,7 +614,7 @@ namespace platf {
for (auto &entry : fs::directory_iterator { card_dir }) {
auto file = entry.path().filename();

auto filestring = file.generic_u8string();
auto filestring = file.generic_string();
if (filestring.size() < 4 || std::string_view { filestring }.substr(0, 4) != "card"sv) {
continue;
}
Expand Down Expand Up @@ -1641,7 +1641,7 @@ namespace platf {
for (auto &entry : fs::directory_iterator { card_dir }) {
auto file = entry.path().filename();

auto filestring = file.generic_u8string();
auto filestring = file.generic_string();
if (std::string_view { filestring }.substr(0, 4) != "card"sv) {
continue;
}
Expand Down
2 changes: 1 addition & 1 deletion src/platform/windows/input.cpp
Expand Up @@ -1411,7 +1411,7 @@ namespace platf {
ds4_update_state(gamepad_context_t &gamepad, const gamepad_state_t &gamepad_state) {
auto &report = gamepad.report.ds4.Report;

report.wButtons = ds4_buttons(gamepad_state) | ds4_dpad(gamepad_state);
report.wButtons = static_cast<uint16_t>(ds4_buttons(gamepad_state)) | static_cast<uint16_t>(ds4_dpad(gamepad_state));
report.bSpecial = ds4_special_buttons(gamepad_state);

report.bTriggerL = gamepad_state.lt;
Expand Down
4 changes: 2 additions & 2 deletions src/platform/windows/misc.cpp
Expand Up @@ -1691,8 +1691,8 @@ namespace platf {
}
int64_t
qpc_counter() {
LARGE_INTEGER performace_counter;
if (QueryPerformanceCounter(&performace_counter)) return performace_counter.QuadPart;
LARGE_INTEGER performance_counter;
if (QueryPerformanceCounter(&performance_counter)) return performance_counter.QuadPart;
return 0;
}

Expand Down
1 change: 1 addition & 0 deletions src/rtsp.cpp
Expand Up @@ -11,6 +11,7 @@ extern "C" {

#include <array>
#include <cctype>
#include <utility>

#include <boost/asio.hpp>
#include <boost/bind.hpp>
Expand Down
1 change: 1 addition & 0 deletions src/stream.h
Expand Up @@ -3,6 +3,7 @@
* @brief todo
*/
#pragma once
#include <utility>

#include <boost/asio.hpp>

Expand Down
2 changes: 1 addition & 1 deletion tests/CMakeLists.txt
Expand Up @@ -107,7 +107,7 @@ list(REMOVE_ITEM SUNSHINE_SOURCES ${CMAKE_SOURCE_DIR}/src/main.cpp)
add_executable(${PROJECT_NAME}
${TEST_SOURCES}
${SUNSHINE_SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17)
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 20)
target_link_libraries(${PROJECT_NAME}
${SUNSHINE_EXTERNAL_LIBRARIES}
gtest
Expand Down
8 changes: 4 additions & 4 deletions tools/CMakeLists.txt
Expand Up @@ -5,31 +5,31 @@ project(sunshine_tools)
include_directories("${CMAKE_SOURCE_DIR}")

add_executable(dxgi-info dxgi.cpp)
set_target_properties(dxgi-info PROPERTIES CXX_STANDARD 17)
set_target_properties(dxgi-info PROPERTIES CXX_STANDARD 20)
target_link_libraries(dxgi-info
${CMAKE_THREAD_LIBS_INIT}
dxgi
${PLATFORM_LIBRARIES})
target_compile_options(dxgi-info PRIVATE ${SUNSHINE_COMPILE_OPTIONS})

add_executable(audio-info audio.cpp)
set_target_properties(audio-info PROPERTIES CXX_STANDARD 17)
set_target_properties(audio-info PROPERTIES CXX_STANDARD 20)
target_link_libraries(audio-info
${CMAKE_THREAD_LIBS_INIT}
ksuser
${PLATFORM_LIBRARIES})
target_compile_options(audio-info PRIVATE ${SUNSHINE_COMPILE_OPTIONS})

add_executable(sunshinesvc sunshinesvc.cpp)
set_target_properties(sunshinesvc PROPERTIES CXX_STANDARD 17)
set_target_properties(sunshinesvc PROPERTIES CXX_STANDARD 20)
target_link_libraries(sunshinesvc
${CMAKE_THREAD_LIBS_INIT}
wtsapi32
${PLATFORM_LIBRARIES})
target_compile_options(sunshinesvc PRIVATE ${SUNSHINE_COMPILE_OPTIONS})

add_executable(ddprobe ddprobe.cpp)
set_target_properties(ddprobe PROPERTIES CXX_STANDARD 17)
set_target_properties(ddprobe PROPERTIES CXX_STANDARD 20)
target_link_libraries(ddprobe
${CMAKE_THREAD_LIBS_INIT}
dxgi
Expand Down

0 comments on commit 7fb8c76

Please sign in to comment.