Add Range v3 as a submodule

We want to utilize features from C++ 20 ranges but they haven't been entirely implemented in libc++ so in the meantime we use the reference implementation for it which is Ranges v3.
This commit is contained in:
PixelyIon 2021-11-21 12:55:33 +05:30
parent 89e9a41a86
commit dbc94f36d3
5 changed files with 14 additions and 0 deletions

3
.gitmodules vendored
View File

@ -42,3 +42,6 @@
path = app/libraries/llvm path = app/libraries/llvm
url = https://github.com/llvm/llvm-project.git url = https://github.com/llvm/llvm-project.git
shallow = true shallow = true
[submodule "C++ Range v3"]
path = app/libraries/range
url = https://github.com/ericniebler/range-v3

View File

@ -98,6 +98,9 @@ set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON) set(Boost_USE_MULTITHREADED ON)
add_subdirectory("libraries/boost") add_subdirectory("libraries/boost")
# C++ Range v3
add_subdirectory("libraries/range")
# Build Skyline with full debugging data and -Og for debug builds # Build Skyline with full debugging data and -Og for debug builds
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -glldb -gdwarf-5") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -glldb -gdwarf-5")

1
app/libraries/range Submodule

@ -0,0 +1 @@
Subproject commit 83783f578e0e6666d68a3bf17b0038a80e62530e

View File

@ -139,6 +139,7 @@
<string name="perfetto_description">Perfetto is used to profile and debug with detailed tracing</string> <string name="perfetto_description">Perfetto is used to profile and debug with detailed tracing</string>
<string name="fmtlib_description">{fmt} provides a modern C++ string formatting API</string> <string name="fmtlib_description">{fmt} provides a modern C++ string formatting API</string>
<string name="boost_description">Boost provides high-quality implementations of containers and other convenience functions in C++</string> <string name="boost_description">Boost provides high-quality implementations of containers and other convenience functions in C++</string>
<string name="rangev3_description">Range v3 is a reference implementation of ISO C++ 20 ranges, this allows us to use ranges while they are developed in LLVM\'s libc++</string>
<string name="frozen_description">Frozen provides compile-time immutable hash maps with a perfect hash function for faster lookups</string> <string name="frozen_description">Frozen provides compile-time immutable hash maps with a perfect hash function for faster lookups</string>
<string name="pugixml_description">pugixml is used to parse the preference XML to retrieve settings from C++</string> <string name="pugixml_description">pugixml is used to parse the preference XML to retrieve settings from C++</string>
<string name="opus_description">Opus Audio Codec provides a high-quality Opus decoder used to decode Opus-encoded audio provided by the guest</string> <string name="opus_description">Opus Audio Codec provides a high-quality Opus decoder used to decode Opus-encoded audio provided by the guest</string>

View File

@ -180,6 +180,12 @@
app:libraryUrl="https://www.boost.org" app:libraryUrl="https://www.boost.org"
app:summary="@string/boost_description" app:summary="@string/boost_description"
app:title="Boost" /> app:title="Boost" />
<emu.skyline.preference.LicensePreference
app:libraryCopyright="Copyright Eric Niebler 2019-present"
app:libraryLicense="@string/boost_software_license"
app:libraryUrl="https://github.com/ericniebler/range-v3"
app:summary="@string/rangev3_description"
app:title="Range v3" />
<emu.skyline.preference.LicensePreference <emu.skyline.preference.LicensePreference
app:libraryCopyright="Copyright 2016 QuarksLab" app:libraryCopyright="Copyright 2016 QuarksLab"
app:libraryLicense="@string/apache2_license" app:libraryLicense="@string/apache2_license"