rice 4.7.1 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -1
- data/CMakeLists.txt +14 -22
- data/CMakePresets.json +203 -75
- data/FindRuby.cmake +358 -123
- data/bin/rice-doc.rb +58 -141
- data/include/rice/api.hpp +261 -0
- data/include/rice/rice.hpp +2459 -1693
- data/include/rice/stl.hpp +450 -546
- data/lib/rice/doc/config.rb +70 -0
- data/lib/rice/doc/cpp_reference.rb +1 -4
- data/lib/rice/doc/mkdocs.rb +58 -20
- data/lib/rice/doc/rice.rb +21 -0
- data/lib/rice/doc.rb +1 -0
- data/lib/rice/make_rice_headers.rb +7 -0
- data/lib/rice/native_registry.rb +5 -10
- data/lib/rice/rbs.rb +6 -6
- data/lib/rice/version.rb +1 -1
- data/lib/rubygems_plugin.rb +12 -9
- data/rice/Arg.hpp +12 -6
- data/rice/Arg.ipp +14 -7
- data/rice/Buffer.ipp +44 -40
- data/rice/Callback.hpp +1 -1
- data/rice/Callback.ipp +2 -7
- data/rice/Constructor.hpp +1 -1
- data/rice/Constructor.ipp +11 -11
- data/rice/Data_Object.ipp +15 -15
- data/rice/Data_Type.hpp +9 -10
- data/rice/Data_Type.ipp +33 -31
- data/rice/Director.hpp +1 -0
- data/rice/Enum.ipp +58 -39
- data/rice/Exception.hpp +4 -4
- data/rice/Exception.ipp +7 -7
- data/rice/NoGVL.hpp +13 -0
- data/rice/Reference.hpp +56 -0
- data/rice/Reference.ipp +96 -0
- data/rice/Return.hpp +4 -1
- data/rice/Return.ipp +0 -6
- data/rice/cpp_api/Array.hpp +41 -4
- data/rice/cpp_api/Array.ipp +105 -9
- data/rice/cpp_api/Class.hpp +7 -2
- data/rice/cpp_api/Class.ipp +9 -4
- data/rice/cpp_api/Hash.ipp +7 -4
- data/rice/cpp_api/Module.hpp +4 -4
- data/rice/cpp_api/Module.ipp +12 -10
- data/rice/cpp_api/Object.hpp +10 -4
- data/rice/cpp_api/Object.ipp +20 -12
- data/rice/cpp_api/String.hpp +2 -2
- data/rice/cpp_api/String.ipp +11 -8
- data/rice/cpp_api/Symbol.ipp +7 -7
- data/rice/cpp_api/shared_methods.hpp +5 -9
- data/rice/detail/Forwards.hpp +18 -0
- data/rice/detail/Forwards.ipp +60 -0
- data/rice/detail/InstanceRegistry.hpp +0 -2
- data/rice/detail/Native.hpp +31 -21
- data/rice/detail/Native.ipp +282 -130
- data/rice/detail/NativeAttributeGet.hpp +5 -7
- data/rice/detail/NativeAttributeGet.ipp +26 -26
- data/rice/detail/NativeAttributeSet.hpp +2 -4
- data/rice/detail/NativeAttributeSet.ipp +20 -16
- data/rice/detail/NativeCallback.hpp +77 -0
- data/rice/detail/NativeCallback.ipp +280 -0
- data/rice/detail/NativeFunction.hpp +11 -21
- data/rice/detail/NativeFunction.ipp +58 -119
- data/rice/detail/NativeInvoker.hpp +4 -4
- data/rice/detail/NativeInvoker.ipp +7 -7
- data/rice/detail/NativeIterator.hpp +2 -4
- data/rice/detail/NativeIterator.ipp +18 -14
- data/rice/detail/NativeMethod.hpp +10 -20
- data/rice/detail/NativeMethod.ipp +54 -114
- data/rice/detail/NativeProc.hpp +5 -7
- data/rice/detail/NativeProc.ipp +39 -28
- data/rice/detail/NativeRegistry.hpp +1 -1
- data/rice/detail/NativeRegistry.ipp +29 -0
- data/rice/detail/Parameter.hpp +15 -8
- data/rice/detail/Parameter.ipp +102 -43
- data/rice/detail/Proc.ipp +14 -28
- data/rice/detail/RubyType.ipp +2 -53
- data/rice/detail/Type.hpp +23 -7
- data/rice/detail/Type.ipp +77 -93
- data/rice/detail/TypeRegistry.ipp +5 -4
- data/rice/detail/Wrapper.hpp +13 -12
- data/rice/detail/Wrapper.ipp +97 -44
- data/rice/detail/from_ruby.hpp +8 -6
- data/rice/detail/from_ruby.ipp +306 -173
- data/rice/detail/ruby.hpp +23 -0
- data/rice/libc/file.hpp +4 -4
- data/rice/rice.hpp +9 -8
- data/rice/rice_api/Native.ipp +5 -1
- data/rice/rice_api/NativeRegistry.ipp +14 -1
- data/rice/rice_api/Parameter.ipp +1 -1
- data/rice/ruby_mark.hpp +2 -1
- data/rice/stl/complex.ipp +12 -8
- data/rice/stl/map.ipp +27 -22
- data/rice/stl/monostate.ipp +16 -12
- data/rice/stl/multimap.hpp +0 -2
- data/rice/stl/multimap.ipp +27 -22
- data/rice/stl/optional.ipp +27 -11
- data/rice/stl/pair.ipp +5 -5
- data/rice/stl/reference_wrapper.ipp +5 -4
- data/rice/stl/set.ipp +16 -16
- data/rice/stl/shared_ptr.hpp +9 -9
- data/rice/stl/shared_ptr.ipp +52 -185
- data/rice/stl/string.ipp +18 -18
- data/rice/stl/string_view.ipp +1 -1
- data/rice/stl/tuple.ipp +15 -36
- data/rice/stl/unique_ptr.hpp +9 -3
- data/rice/stl/unique_ptr.ipp +86 -120
- data/rice/stl/unordered_map.ipp +20 -15
- data/rice/stl/variant.ipp +37 -21
- data/rice/stl/vector.ipp +41 -36
- data/rice/traits/function_traits.hpp +19 -19
- data/rice/traits/method_traits.hpp +4 -4
- data/rice/traits/rice_traits.hpp +162 -39
- data/rice.gemspec +1 -3
- data/test/test_Array.cpp +261 -3
- data/test/test_Attribute.cpp +6 -3
- data/test/test_Buffer.cpp +6 -42
- data/test/test_Callback.cpp +77 -23
- data/test/test_Data_Object.cpp +1 -1
- data/test/test_Data_Type.cpp +21 -22
- data/test/test_Director.cpp +2 -4
- data/test/test_Enum.cpp +34 -5
- data/test/test_File.cpp +9 -5
- data/test/test_From_Ruby.cpp +4 -3
- data/test/test_GVL.cpp +3 -3
- data/test/test_Hash.cpp +1 -1
- data/test/test_Inheritance.cpp +14 -14
- data/test/test_Iterator.cpp +54 -22
- data/test/test_Keep_Alive.cpp +1 -1
- data/test/test_Keep_Alive_No_Wrapper.cpp +7 -3
- data/test/test_Module.cpp +5 -5
- data/test/test_Overloads.cpp +345 -48
- data/test/test_Proc.cpp +54 -0
- data/test/test_Reference.cpp +181 -0
- data/test/test_Self.cpp +2 -2
- data/test/test_Stl_Set.cpp +6 -6
- data/test/test_Stl_SharedPtr.cpp +172 -33
- data/test/test_Stl_String_View.cpp +4 -2
- data/test/test_Stl_Tuple.cpp +1 -1
- data/test/test_Stl_UniquePtr.cpp +48 -3
- data/test/test_Stl_Variant.cpp +6 -14
- data/test/test_Stl_Vector.cpp +61 -30
- data/test/test_String.cpp +4 -2
- data/test/test_Struct.cpp +1 -1
- data/test/test_Symbol.cpp +1 -1
- data/test/test_To_Ruby.cpp +1 -0
- data/test/test_Type.cpp +36 -35
- data/test/test_global_functions.cpp +1 -1
- data/test/unittest.cpp +1 -1
- data/test/unittest.hpp +5 -5
- metadata +12 -10
- data/rice/Function.hpp +0 -17
- data/rice/Function.ipp +0 -13
- data/rice/detail/MethodInfo.hpp +0 -48
- data/rice/detail/MethodInfo.ipp +0 -99
- data/rice/detail/NativeCallbackFFI.hpp +0 -55
- data/rice/detail/NativeCallbackFFI.ipp +0 -152
- data/rice/detail/NativeCallbackSimple.hpp +0 -30
- data/rice/detail/NativeCallbackSimple.ipp +0 -29
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 60ee7533ef1a2e8fae4a992ef2d1dc2f3dd1cd4ab260217058e9de77ead8f80b
|
|
4
|
+
data.tar.gz: 83393a7a4238d817da51eccc5392d318bb2dab00e57d9ce688867a748a50f7a5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26c796a5fcac6d816f9cddda0944be07a16cc93a0264221a351f4612061ed3b0e61dd4ab99eae0470ebc62e483f762820116024f6814f9f0023adccc466d66cf
|
|
7
|
+
data.tar.gz: aacb86cb9d086100650839ac2cf2cf49d60dcf4604f3539be24e0922c3f3ca3a8f06dfb0511e1e1b3281e9f475cf621218ac165b4c155e5d6e4e2083b3444823
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 4.9.0 (2026-01-01)
|
|
4
|
+
This release revamps smart pointer support for `std::shared_ptr` and `std::unique_ptr`.
|
|
5
|
+
|
|
6
|
+
Rice now always creates wrapper classes for smart pointers under the `Std` module (e.g., `Std::SharedPtr≺MyClass≻`, `Std::UniquePtr≺MyClass≻`). These wrapper classes expose methods like `empty?`, `get`, `swap`, and for shared_ptr, `use_count`. Methods defined on the managed type are automatically forwarded to the wrapper class using Ruby's `Forwardable` module.
|
|
7
|
+
|
|
8
|
+
This change is backwards compatible for Ruby code but not C++ code. If you have implemented your own Smart Pointer wrapper then please read the Smart Pointer documentation for more information on how to update it.
|
|
9
|
+
|
|
10
|
+
## 4.8.0 (2025-12-29)
|
|
11
|
+
This release focuses on making Rice easier to use:
|
|
12
|
+
|
|
13
|
+
* Compilation times are approximately 2x faster than version 4.7
|
|
14
|
+
* Compiled library sizes are about 30% smaller
|
|
15
|
+
* Improved keyword argument support
|
|
16
|
+
* Improved method override support
|
|
17
|
+
* Improved CMake support
|
|
18
|
+
* Improved rbs generation support
|
|
19
|
+
* Improved api documentation generation support
|
|
20
|
+
* Expanded and improved documentation
|
|
21
|
+
* Enum values can now be compared against their underlying type (e.g., `Season::Red == 0`)
|
|
22
|
+
* STL containers now support `==` and `eql?` for equality comparison
|
|
23
|
+
* Automatic creation of `std::shared_ptr<T>` Ruby classes
|
|
24
|
+
* Support for C++ references in callbacks
|
|
25
|
+
* Array class now supports random iterators
|
|
26
|
+
* Fixed Ruby detection for Homebrew installations on macOS
|
|
27
|
+
* Added support for references to fundamental types
|
|
28
|
+
|
|
29
|
+
However, these changes did require some breaking changes, which include:
|
|
30
|
+
|
|
31
|
+
* `Return().isBuffer()` is replaced by `ReturnBuffer()`
|
|
32
|
+
* `Arg("").isBuffer()` is replaced by `ArgBuffer("")`
|
|
33
|
+
* `Function().noGVL()` is replaced by `NoGvL()`
|
|
34
|
+
* `is_convertible` methods must now return a `double` instead of a `Convertible` enum
|
|
35
|
+
* All function/method parameter default values are verified. You may see errors like "ArgumentError: Type is not registered with Rice" or "Invalid AnyCast". In either case, make sure to check that specified default values are correct.
|
|
36
|
+
|
|
1
37
|
## 4.7.1 (2025-10-28)
|
|
2
38
|
Updates:
|
|
3
39
|
* Update overload resolution to take into account function arguments that are tagged as buffers via Arg("").setBuffer().
|
|
@@ -217,7 +253,7 @@ There are a ton of changes, but some of the most important ones:
|
|
|
217
253
|
Ruby RArray type to the system. This is not something that we should support going forward
|
|
218
254
|
as these internals are going to change.
|
|
219
255
|
|
|
220
|
-
|
|
256
|
+
## 2.0.0 (2015-11-27)
|
|
221
257
|
|
|
222
258
|
* Deprecated all versions of Ruby < 2.0
|
|
223
259
|
* Removed Rice::VM.
|
data/CMakeLists.txt
CHANGED
|
@@ -1,27 +1,19 @@
|
|
|
1
|
-
cmake_minimum_required
|
|
1
|
+
cmake_minimum_required(VERSION 3.26)
|
|
2
2
|
|
|
3
|
-
project(
|
|
3
|
+
project(rice LANGUAGES CXX)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
# Put actual target definitions in a separate file so the root stays tiny.
|
|
6
|
+
include(${CMAKE_CURRENT_SOURCE_DIR}/Rice.cmake)
|
|
7
7
|
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# The default of /EHsc crashes Ruby when calling longjmp with optimizations on (/O2)
|
|
16
|
-
string(REGEX REPLACE "/EHsc" "/EHs" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
|
17
|
-
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
18
|
-
add_compile_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
|
19
|
-
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
20
|
-
add_compile_options(-ftemplate-backtrace-limit=0)
|
|
21
|
-
# https://github.com/doxygen/doxygen/issues/9269#issuecomment-1094975328
|
|
22
|
-
#add_compile_options(unittest PRIVATE -Wa,-mbig-obj)
|
|
23
|
-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og")
|
|
8
|
+
# Default behavior:
|
|
9
|
+
# - If you're working on Rice directly (top-level), build tests by default (good for Visual Studio).
|
|
10
|
+
# - If Rice is consumed via FetchContent/add_subdirectory, do NOT build tests by default.
|
|
11
|
+
if (PROJECT_IS_TOP_LEVEL)
|
|
12
|
+
option(RICE_BUILD_TESTS "Build Rice tests" ON)
|
|
13
|
+
else ()
|
|
14
|
+
option(RICE_BUILD_TESTS "Build Rice tests" OFF)
|
|
24
15
|
endif ()
|
|
25
16
|
|
|
26
|
-
|
|
27
|
-
add_subdirectory
|
|
17
|
+
if (RICE_BUILD_TESTS AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
|
|
18
|
+
add_subdirectory(test)
|
|
19
|
+
endif ()
|
data/CMakePresets.json
CHANGED
|
@@ -1,75 +1,203 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": 6,
|
|
3
|
+
"configurePresets": [
|
|
4
|
+
{
|
|
5
|
+
"name": "base",
|
|
6
|
+
"hidden": true,
|
|
7
|
+
"generator": "Ninja",
|
|
8
|
+
"binaryDir": "${sourceDir}/build/${presetName}",
|
|
9
|
+
"installDir": "${sourceDir}/install/${presetName}"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "linux-debug",
|
|
13
|
+
"inherits": "base",
|
|
14
|
+
"displayName": "Linux Debug",
|
|
15
|
+
"cacheVariables": {
|
|
16
|
+
"CMAKE_BUILD_TYPE": "Debug",
|
|
17
|
+
"CMAKE_CXX_FLAGS": "-Wall -ftemplate-backtrace-limit=0 -Og"
|
|
18
|
+
},
|
|
19
|
+
"condition": {
|
|
20
|
+
"type": "equals",
|
|
21
|
+
"lhs": "${hostSystemName}",
|
|
22
|
+
"rhs": "Linux"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "linux-release",
|
|
27
|
+
"inherits": "base",
|
|
28
|
+
"displayName": "Linux Release",
|
|
29
|
+
"cacheVariables": {
|
|
30
|
+
"CMAKE_BUILD_TYPE": "Release",
|
|
31
|
+
"CMAKE_CXX_FLAGS": "-Wall -ftemplate-backtrace-limit=0 -O3 -DNDEBUG"
|
|
32
|
+
},
|
|
33
|
+
"condition": {
|
|
34
|
+
"type": "equals",
|
|
35
|
+
"lhs": "${hostSystemName}",
|
|
36
|
+
"rhs": "Linux"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "macos-debug",
|
|
41
|
+
"inherits": "base",
|
|
42
|
+
"displayName": "macOS Debug",
|
|
43
|
+
"cacheVariables": {
|
|
44
|
+
"CMAKE_BUILD_TYPE": "Debug",
|
|
45
|
+
"CMAKE_CXX_FLAGS": "-Wall -Wno-unused-private-field -ftemplate-backtrace-limit=0 -Og"
|
|
46
|
+
},
|
|
47
|
+
"condition": {
|
|
48
|
+
"type": "equals",
|
|
49
|
+
"lhs": "${hostSystemName}",
|
|
50
|
+
"rhs": "Darwin"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "macos-release",
|
|
55
|
+
"inherits": "base",
|
|
56
|
+
"displayName": "macOS Release",
|
|
57
|
+
"cacheVariables": {
|
|
58
|
+
"CMAKE_BUILD_TYPE": "Release",
|
|
59
|
+
"CMAKE_CXX_FLAGS": "-Wall -Wno-unused-private-field -ftemplate-backtrace-limit=0 -O3 -DNDEBUG"
|
|
60
|
+
},
|
|
61
|
+
"condition": {
|
|
62
|
+
"type": "equals",
|
|
63
|
+
"lhs": "${hostSystemName}",
|
|
64
|
+
"rhs": "Darwin"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "windows",
|
|
69
|
+
"hidden": true,
|
|
70
|
+
"inherits": "base",
|
|
71
|
+
"condition": {
|
|
72
|
+
"type": "equals",
|
|
73
|
+
"lhs": "${hostSystemName}",
|
|
74
|
+
"rhs": "Windows"
|
|
75
|
+
},
|
|
76
|
+
"toolchainFile": "$env{VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "msvc-debug",
|
|
80
|
+
"inherits": "windows",
|
|
81
|
+
"displayName": "MSVC x64 Debug",
|
|
82
|
+
"cacheVariables": {
|
|
83
|
+
"CMAKE_BUILD_TYPE": "Debug",
|
|
84
|
+
"CMAKE_CXX_COMPILER": "cl.exe",
|
|
85
|
+
"CMAKE_CXX_FLAGS": "/EHs /W4 /bigobj /utf-8 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE",
|
|
86
|
+
"CMAKE_MSVC_DEBUG_INFORMATION_FORMAT": "EditAndContinue"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "msvc-release",
|
|
91
|
+
"inherits": "windows",
|
|
92
|
+
"displayName": "MSVC x64 Release",
|
|
93
|
+
"cacheVariables": {
|
|
94
|
+
"CMAKE_BUILD_TYPE": "Release",
|
|
95
|
+
"CMAKE_CXX_COMPILER": "cl.exe",
|
|
96
|
+
"CMAKE_CXX_FLAGS": "/EHs /W4 /bigobj /utf-8 /O2 /DNDEBUG /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE",
|
|
97
|
+
"CMAKE_MSVC_DEBUG_INFORMATION_FORMAT": "ProgramDatabase"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "clang-windows-debug",
|
|
102
|
+
"inherits": "windows",
|
|
103
|
+
"displayName": "Clang Windows Debug",
|
|
104
|
+
"cacheVariables": {
|
|
105
|
+
"CMAKE_BUILD_TYPE": "Debug",
|
|
106
|
+
"CMAKE_CXX_COMPILER": "clang-cl.exe",
|
|
107
|
+
"CMAKE_CXX_FLAGS": "/EHs /W4 /bigobj /utf-8 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /clang:-Wno-unused-private-field"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "clang-windows-release",
|
|
112
|
+
"inherits": "windows",
|
|
113
|
+
"displayName": "Clang Windows Release",
|
|
114
|
+
"cacheVariables": {
|
|
115
|
+
"CMAKE_BUILD_TYPE": "Release",
|
|
116
|
+
"CMAKE_CXX_COMPILER": "clang-cl.exe",
|
|
117
|
+
"CMAKE_CXX_FLAGS": "/EHs /W4 /bigobj /utf-8 /O2 /DNDEBUG /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /clang:-Wno-unused-private-field"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "mingw-debug",
|
|
122
|
+
"inherits": "base",
|
|
123
|
+
"displayName": "Mingw x64 Debug",
|
|
124
|
+
"cacheVariables": {
|
|
125
|
+
"CMAKE_BUILD_TYPE": "Debug",
|
|
126
|
+
"CMAKE_CXX_COMPILER": "g++.exe",
|
|
127
|
+
"CMAKE_CXX_FLAGS": "-Wall -ftemplate-backtrace-limit=0 -Wa,-mbig-obj -Og"
|
|
128
|
+
},
|
|
129
|
+
"condition": {
|
|
130
|
+
"type": "equals",
|
|
131
|
+
"lhs": "${hostSystemName}",
|
|
132
|
+
"rhs": "Windows"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "mingw-release",
|
|
137
|
+
"inherits": "base",
|
|
138
|
+
"displayName": "Mingw x64 Release",
|
|
139
|
+
"cacheVariables": {
|
|
140
|
+
"CMAKE_BUILD_TYPE": "Release",
|
|
141
|
+
"CMAKE_CXX_COMPILER": "g++.exe",
|
|
142
|
+
"CMAKE_CXX_FLAGS": "-Wall -ftemplate-backtrace-limit=0 -Wa,-mbig-obj -O3 -DNDEBUG"
|
|
143
|
+
},
|
|
144
|
+
"condition": {
|
|
145
|
+
"type": "equals",
|
|
146
|
+
"lhs": "${hostSystemName}",
|
|
147
|
+
"rhs": "Windows"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"buildPresets": [
|
|
152
|
+
{
|
|
153
|
+
"name": "linux-debug",
|
|
154
|
+
"displayName": "Build Linux Debug",
|
|
155
|
+
"configurePreset": "linux-debug"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "linux-release",
|
|
159
|
+
"displayName": "Build Linux Release",
|
|
160
|
+
"configurePreset": "linux-release"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "macos-debug",
|
|
164
|
+
"displayName": "Build macOS Debug",
|
|
165
|
+
"configurePreset": "macos-debug"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "macos-release",
|
|
169
|
+
"displayName": "Build macOS Release",
|
|
170
|
+
"configurePreset": "macos-release"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "msvc-debug",
|
|
174
|
+
"displayName": "Build MSVC x64 Debug",
|
|
175
|
+
"configurePreset": "msvc-debug"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"name": "msvc-release",
|
|
179
|
+
"displayName": "Build MSVC x64 Release",
|
|
180
|
+
"configurePreset": "msvc-release"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "clang-windows-debug",
|
|
184
|
+
"displayName": "Build Clang Windows Debug",
|
|
185
|
+
"configurePreset": "clang-windows-debug"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "clang-windows-release",
|
|
189
|
+
"displayName": "Build Clang Windows Release",
|
|
190
|
+
"configurePreset": "clang-windows-release"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "mingw-debug",
|
|
194
|
+
"displayName": "Build Mingw x64 Debug",
|
|
195
|
+
"configurePreset": "mingw-debug"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "mingw-release",
|
|
199
|
+
"displayName": "Build Mingw x64 Release",
|
|
200
|
+
"configurePreset": "mingw-release"
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
}
|