Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
17dcab0
chore(modules): bump minimum CMake version for modules support
wravery Sep 10, 2024
b152a94
chore(modules): make macOS build action use Ninja instead of makefiles
wravery Sep 10, 2024
cc88694
chore(modules): add vcpkg submodule and update workflows
wravery Sep 10, 2024
10391bb
chore(modules): workflow fixes
wravery Sep 10, 2024
8aad123
chore(modules): rewind vcpkg submodule to match baseline.json
wravery Sep 10, 2024
3a6166a
chore(modules): try universe PPA on ubuntu-latest
wravery Sep 10, 2024
ab729b2
fix(workflow): try synchronizing the submodule with manifest baseline
wravery Sep 10, 2024
f54f040
fix(workflow): try fetching all history in checkout
wravery Sep 10, 2024
743fb91
fix(workflow): hash vcpkg.json manifest in cache key
wravery Sep 10, 2024
b045094
fix(workflow): remove old arch from macos cache key
wravery Sep 10, 2024
1c77733
fix(vcpkg): rollback submodule to match vcpkg distributed with VS
wravery Sep 10, 2024
c0831b7
fix(cmake): opt-in to CMP0167 BoostConfig.cmake policy in 3.30
wravery Sep 10, 2024
8553608
fix(cmake): use the right variable exported from BoostConfig.cmake
wravery Sep 10, 2024
8f7aabb
fix(includes): get rid of dependencies from internal headers on publi…
wravery Sep 12, 2024
7dc77fa
fix(includes): missing standard headers
wravery Sep 12, 2024
e9c7081
Merge pull request #312 from wravery/next
wravery Sep 12, 2024
64452a3
fix: replace C-style size_t with std::size_t
wravery Sep 12, 2024
1996b5a
chore(cleanup): remove support for experimental coroutines
wravery Sep 12, 2024
1d24695
chore(modules): try building internal headers as modules
wravery Sep 12, 2024
decc8e6
fix(cmake): update the check_coroutine_impl function
wravery Sep 12, 2024
1d3a536
fix(buiild): remove duplicate includes and specify C++20
wravery Sep 12, 2024
a9120e4
fix(modules): consistent Internal.Version module usage
wravery Sep 12, 2024
591275a
fix(includes): move redundant headers to header that uses them
wravery Sep 12, 2024
836e5b1
fix: ignore vc140.pdb that VS keeps dropping
wravery Sep 12, 2024
85053f5
fix(includes): try moving all imports after system includes
wravery Sep 12, 2024
0e74aae
chore: disable macOS build on each push
wravery Sep 13, 2024
e587a4b
feat(modules): finish wrapping modules around headers
wravery Sep 13, 2024
7e8d6f8
chore(cmake): install headers and module interfaces together
wravery Sep 13, 2024
bf6b48d
chore(modules): move primary interface to internal/Module.ixx
wravery Sep 13, 2024
5980cb9
fix(modules): separate modules instead of partitioning for ICE
wravery Sep 13, 2024
4d9c874
fix(modules): re-exporting all of the modules together seems to be wh…
wravery Sep 13, 2024
f45e744
fix(modules): add interface modules for include/graphqlservice/intros…
wravery Sep 13, 2024
c928aa4
feat(modules): generate public interface modules in schemagen
wravery Sep 13, 2024
d68dbcc
feat(modules): generate public interface modules in clientgen
wravery Sep 13, 2024
954520c
fix(modules): simplify exports with using statements
wravery Sep 13, 2024
fbcd728
feat(modules): wrap public headers in interface modules
wravery Sep 13, 2024
d0e48fd
chore(modules): test with TodayMock as a module
wravery Sep 13, 2024
efd938d
fix(modules): try re-exporting modules referenced in TodayMock.ixx
wravery Sep 13, 2024
ac63319
fix(modules): try to fix CI build breaks in MSVC and GCC
wravery Sep 13, 2024
ba0dd2d
fix(modules): change import order so TodaySchema is last
wravery Sep 13, 2024
957f6a3
fix(modules): get rid of intermediate exported namespaces
wravery Sep 13, 2024
c06996c
fix(include): include algorithm for std::sort
wravery Sep 13, 2024
c850bbc
fix(modules): make sure all consumers of todaygraphql use C++20
wravery Sep 13, 2024
22ed39d
fix(modules): try making lambdas noexcept for GCC mangling
wravery Sep 14, 2024
5dc0f90
fix(gcc): try specifying -fabi-version=0
wravery Sep 14, 2024
de35976
fix(gcc): try -fabi-compat-version
wravery Sep 14, 2024
81bf6bc
fix(cmake): ignore CMakeUserPresets.json
wravery Sep 14, 2024
ec2a29d
fix(modules): wrap JSONResponse and TodayMock
wravery Sep 15, 2024
31150a2
fix(modules): re-export transitive module dependencies
wravery Sep 15, 2024
63af1a8
fix(cmake): remove old try_compile tests
wravery Sep 16, 2024
598d627
feat(cmake): add a project CMakePresets.json file
wravery Sep 16, 2024
3f53e2b
fix(workflow): switch the Linux CI to clang-18 presets
wravery Sep 16, 2024
a954052
fix(ci): suppress vcpkg toolchain file on Linux CI
wravery Sep 16, 2024
b52d9a3
fix(ci): use preset from source directory
wravery Sep 16, 2024
4c94d19
fix(ci): reenable gcc-14 by turning off modules
wravery Sep 16, 2024
26db35e
fix(ci): reenable macOS CI by disabling modules
wravery Sep 16, 2024
763c136
fix(ci): switch macOS CI back to Ninja
wravery Sep 16, 2024
c30fcf1
fix(ci): build header only libs as OBJECT instead of STATIC
wravery Sep 16, 2024
37f2264
Merge pull request #313 from wravery/next
wravery Sep 16, 2024
b6b829d
fix(modules): reexport internal modules referenced in public modules
wravery Sep 16, 2024
6ab4af0
chore(release): update version to 5.0.0
wravery Sep 16, 2024
129d69f
fix(deps): use updated CMake variables for Boost.Beast detection
wravery Sep 16, 2024
b57272f
fix(modules): switch to inline namespace in GraphQLParse.h
wravery Sep 16, 2024
8bd97b6
fix(fmt): cleanup extra blank line in client module interfaces
wravery Sep 16, 2024
20057dd
fix(cmake): propagate GRAPHQL_BUILD_MODULES to consumers as target props
wravery Sep 16, 2024
67b56d8
fix(ci): switch macOS build back to xcode
wravery Sep 16, 2024
e1636d2
Merge pull request #314 from wravery/next
wravery Sep 16, 2024
2d8ea00
fix(cmake): installed targets don't preserve target properties
wravery Sep 16, 2024
87258e0
fix(cmake): drop unnecessary set_target_properties
wravery Sep 16, 2024
7c3e3a8
feat(ranges): start adopting ranges
wravery Sep 16, 2024
e8d8a85
feat(format): replace trivial uses of std::ostringstream with std::fo…
wravery Sep 17, 2024
79af047
fix(fmt): minor fixes following up to last change
wravery Sep 17, 2024
8eb93c4
Merge pull request #315 from wravery/next
wravery Sep 17, 2024
7cee86d
feat(json): default taocpp-json impl for graphqljson
wravery Sep 17, 2024
405df2f
Merge pull request #316 from wravery/next
wravery Sep 17, 2024
358b042
fix(sample): using wrong member itr for variables
wravery Sep 18, 2024
fa15fb7
fix(coro): stop spawning waiter threads for async futures
wravery Sep 18, 2024
be11263
feat(sample): add non-trivial async field resolvers to proxy client
wravery Sep 18, 2024
658bc81
Merge pull request #317 from wravery/next
wravery Sep 18, 2024
e216334
feat(sharetypes): rearrange namespaces so they can overlap
wravery Sep 19, 2024
88ec463
feat(sharetypes): reuse schema types in proxy client
wravery Sep 19, 2024
1769f19
feat(sharetypes): enable shared types for client benchmark
wravery Sep 19, 2024
4e0cc8c
fix(CI): samples/client/benchmark dir needs module support
wravery Sep 19, 2024
173fb57
Merge pull request #318 from wravery/next
wravery Sep 19, 2024
35274d5
fix: #297 only require 1 field per Subscription
wravery Sep 20, 2024
29c3c83
feat(sharedtypes): implement simpler update_graphql_shared_client_files
wravery Sep 20, 2024
4d54be8
Merge pull request #319 from wravery/next
wravery Sep 21, 2024
0e5ded2
fix: #321
wravery Sep 24, 2024
eee1d66
fix: split shared types into separate <Prefix>SharedTypes.cpp
wravery Sep 24, 2024
e1e5f1f
fix: include <Prefix>SharedTypes.h in clients
wravery Sep 24, 2024
68b9d33
fix: cleanup extra blank lines
wravery Sep 24, 2024
2dc6ebe
fix(dll): move introspection DLL exports to shared types header
wravery Sep 24, 2024
7426833
Merge pull request #322 from wravery/next
wravery Sep 24, 2024
1e874c9
fix: #324
wravery Sep 25, 2024
85c139c
fix: explicitly type default initializers for clarity
wravery Sep 25, 2024
44bc921
Merge pull request #325 from wravery/next
wravery Sep 25, 2024
9505d83
feat: deferred ResolverVisitor
wravery Oct 13, 2024
8bf5f5d
fix: variable shadowing
wravery Oct 13, 2024
17a9884
feat: add visitor APIs
wravery Oct 13, 2024
bc364ed
chore: refactor service::ResolverVisitor to response::ValueVisitor
wravery Oct 13, 2024
0906b28
feat: generate client ResponseVisitor implementations
wravery Oct 17, 2024
df8db6a
fix: unit test with identical results using visitor
wravery Oct 17, 2024
9664efd
fix: warning on MSVC from switch statements without case
wravery Oct 17, 2024
a610521
Merge pull request #326 from wravery/visitor-queue
wravery Oct 17, 2024
7af225c
feat: implement Schema merge
wravery Oct 19, 2024
b00f34b
chore: code cleanup
wravery Oct 20, 2024
fbbd02a
feat: implement Object resolver and possible types merge
wravery Oct 20, 2024
62887b0
fix: misc bugs in Schema merge
wravery Oct 20, 2024
6d55067
chore(test): refactor mock services and add a stitched schema sample
wravery Oct 20, 2024
8b0102c
feat: generalize stitched service in Request::stitch
wravery Oct 21, 2024
e85fc7e
Merge pull request #327 from wravery/schema-stitch
wravery Oct 21, 2024
11d7d0c
feat: add ResolverResult::visit and visitErrorValues
wravery Oct 22, 2024
117120b
feat: replace response::Writer with response::ValueVisitor
wravery Oct 22, 2024
abb31c3
Merge pull request #328 from wravery/unify-visitor
wravery Oct 22, 2024
4d7ba4f
fix: Object::_stitched can only have 1 or 2 entries
wravery Oct 22, 2024
29376f2
Merge pull request #329 from wravery/next
wravery Oct 22, 2024
f605261
fix: patch introspection resolvers in Object::StitchObject
wravery Oct 22, 2024
7662396
fix: code cleanup to reduce duplication
wravery Oct 22, 2024
633c50b
Merge pull request #331 from wravery/next
wravery Oct 23, 2024
634b513
fix: only use include directory from taocpp::json
wravery Oct 23, 2024
075e172
fix: export internal/DllExports.h
wravery Oct 23, 2024
150387a
Merge pull request #332 from wravery/next
wravery Oct 23, 2024
52afd7f
fix: add the file prefix to the include guard macros
wravery Oct 26, 2024
8d328c9
fix: simplify includes in StitchedSchema.cpp
wravery Oct 26, 2024
11426ca
fix: add schemagen --prefix-headers option
wravery Oct 26, 2024
b1a4d0a
Merge pull request #333 from wravery/next
wravery Oct 26, 2024
b53247c
Add enum value validation
Nov 6, 2024
bd85564
Trigger conversion error
gitmodimo Nov 21, 2024
f7cfbc5
Update generated files
Nov 21, 2024
523d16f
Fix list of boolean argument
gitmodimo Nov 19, 2024
2cfdc5b
Merge pull request #336 from gitmodimo/issues-334
wravery Dec 7, 2024
e48538f
chore: regenerate samples with enum validation
wravery Dec 7, 2024
b61e0d5
Merge pull request #339 from wravery/next
wravery Dec 7, 2024
7fb19c2
Merge branch 'main' of https://github.com/microsoft/cppgraphqlgen int…
wravery Dec 8, 2024
3643116
fix(merge): regenerate samples after merge
wravery Dec 8, 2024
dce7c1f
Merge remote-tracking branch 'gitmodimo/input-boolean-list' into merg…
wravery Dec 8, 2024
29ccf43
fix: handle potential modifiers on bool lists
wravery Dec 8, 2024
f5fa468
Merge pull request #341 from wravery/merge-337
wravery Dec 8, 2024
876b0cb
chore(deps): update PEGTL sub-module to 3.2.8
wravery Nov 2, 2024
10d1124
fix(build): build today and stitched samples without modules
wravery Nov 2, 2024
8e0aa14
fix: #338
wravery Dec 9, 2024
9bf6d47
fix: update test for new sample field
wravery Dec 9, 2024
98d1229
Merge pull request #342 from wravery/next
wravery Dec 9, 2024
db4bd32
Initial plan
Copilot Sep 15, 2026
6fb11bb
Add @cppType directive for custom scalar C++ types (fixes #346)
Copilot Sep 15, 2026
fc80ecd
Merge next into feature branch, replacing the @cppType schema-directi…
Copilot Sep 15, 2026
14af541
Add response::AnyScalar: type-erased std::any payload for custom scal…
Copilot Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 0 additions & 11 deletions .github/dependabot.yml

This file was deleted.

30 changes: 11 additions & 19 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,42 @@ name: Linux
on: [push, pull_request]

jobs:
gcc10:
Linux:
strategy:
fail-fast: false
matrix:
config: [Debug, Release]
compiler: [gcc-14, clang-18]
config: [debug, release]

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v4.1.3
with:
submodules: true

- name: Install Dependencies
run: |
sudo add-apt-repository -y universe
sudo apt-get update
sudo apt-get install -yq libgtest-dev libboost-program-options-dev rapidjson-dev ninja-build gcc-10 g++-10
sudo apt-get install -yq libgtest-dev libboost-program-options-dev rapidjson-dev ninja-build

- name: Build GTest
run: |
cmake -E make_directory gtest
cd gtest
cmake -DCMAKE_BUILD_TYPE=${{ matrix.config }} -G Ninja /usr/src/gtest
cmake -DCMAKE_BUILD_TYPE=${{ matrix.config == 'debug' && 'Debug' || 'Release' }} -G Ninja /usr/src/gtest
cmake --build . -j -v
sudo cmake --install .

- name: Create Build Environment
run: cmake -E make_directory build

- name: Configure CMake
shell: pwsh
env:
CC: gcc-10
CXX: g++-10
working-directory: build/
run: |
$cmakeBuildType = '${{ matrix.config }}'

cmake "-DCMAKE_BUILD_TYPE=$cmakeBuildType" -G Ninja ${{ github.workspace }}
run: cmake --preset ${{ matrix.compiler }}-${{ matrix.config }} -DGRAPHQL_USE_TAOCPP_JSON=OFF -DCMAKE_TOOLCHAIN_FILE=

- name: Build
working-directory: build/
run: cmake --build . -j -v
run: cmake --build --preset ${{ matrix.compiler }}-${{ matrix.config }} -j -v

- name: Test
working-directory: build/
run: ctest --output-on-failure
run: ctest --preset ${{ matrix.compiler }}-${{ matrix.config }} --output-on-failure
22 changes: 16 additions & 6 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,48 @@ jobs:
matrix:
config: [Debug, Release]

runs-on: macos-13
runs-on: macos-latest

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v4.1.3
with:
submodules: true
fetch-depth: 0

- name: Cache vcpkg
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
uses: actions/cache@v4.0.2
id: cache-vcpkg
with:
path: build/vcpkg_cache/
key: vcpkg-binaries-x64-osx
key: vcpkg-binaries-osx-${{ hashFiles('vcpkg.json') }}

- name: Create Build Environment
if: ${{ !steps.cache-vcpkg.outputs.cache-hit }}
run: |
cmake -E make_directory build
cmake -E make_directory build/vcpkg_cache

- name: Boostrap vcpkg
shell: pwsh
working-directory: vcpkg/
run: |
./bootstrap-vcpkg.sh
./vcpkg integrate install

- name: Configure
shell: pwsh
env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
working-directory: build/
run: |
$vcpkgToolchain = Join-Path $env:VCPKG_INSTALLATION_ROOT './scripts/buildsystems/vcpkg.cmake' -Resolve
$vcpkgToolchain = Join-Path $env:VCPKG_ROOT './scripts/buildsystems/vcpkg.cmake' -Resolve
$cmakeBuildType = '${{ matrix.config }}'

$cachedBinaries = Join-Path $(Get-Location) './vcpkg_cache/' -Resolve
$cacheAccess = $(if ('${{ steps.cache-vcpkg.outputs.cache-hit }}' -eq 'true') { 'read' } else { 'write' })
$env:VCPKG_BINARY_SOURCES = "clear;files,$cachedBinaries,$cacheAccess"

cmake "-DCMAKE_TOOLCHAIN_FILE=$vcpkgToolchain" "-DCMAKE_BUILD_TYPE=$cmakeBuildType" ${{ github.workspace }}
cmake "-DCMAKE_TOOLCHAIN_FILE=$vcpkgToolchain" "-DCMAKE_BUILD_TYPE=$cmakeBuildType" "-DGRAPHQL_BUILD_MODULES=OFF" ${{ github.workspace }}

- name: Build
working-directory: build/
Expand Down
20 changes: 15 additions & 5 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,46 @@ jobs:
libs: ['shared', 'static']
config: ['Debug', 'Release']

runs-on: windows-2022
runs-on: windows-latest

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v4.1.3
with:
submodules: true
fetch-depth: 0

- name: Set target triplet
id: set-variables
shell: pwsh
run: echo "vcpkg_triplet=${{ matrix.arch }}-windows$(if ('${{ matrix.libs }}' -eq 'static') { '-static' })" >> $env:GITHUB_OUTPUT

- name: Cache vcpkg
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
uses: actions/cache@v4.0.2
id: cache-vcpkg
with:
path: build/vcpkg_cache/
key: vcpkg-binaries-${{ steps.set-variables.outputs.vcpkg_triplet }}
key: vcpkg-binaries-${{ steps.set-variables.outputs.vcpkg_triplet }}-${{ hashFiles('vcpkg.json') }}

- name: Create Build Environment
if: ${{ !steps.cache-vcpkg.outputs.cache-hit }}
run: |
cmake -E make_directory build
cmake -E make_directory build/vcpkg_cache

- name: Boostrap vcpkg
shell: pwsh
working-directory: vcpkg/
run: |
./bootstrap-vcpkg.bat
./vcpkg integrate install

- name: Configure
shell: pwsh
env:
VCPKG_ROOT: ${{ github.workspace }}\vcpkg
working-directory: build/
run: |
$vcpkgToolchain = Join-Path $env:VCPKG_INSTALLATION_ROOT '.\scripts\buildsystems\vcpkg.cmake' -Resolve
$vcpkgToolchain = Join-Path $env:VCPKG_ROOT './scripts/buildsystems/vcpkg.cmake' -Resolve
$vcpkgTriplet = '${{ steps.set-variables.outputs.vcpkg_triplet }}'
$cmakeSharedLibs = $(if ('${{ matrix.libs }}' -eq 'shared') { 'ON' } else { 'OFF' })
$msbuildArch = $(if ('${{ matrix.arch }}' -eq 'x64') { 'X64' } else { 'Win32' })
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CMakeSettings.json
CMakeCache.txt
CTestCostData.txt
CTestTestfile.cmake
CMakeUserPresets.json
DartConfiguration.tcl
install_manifest.txt
LastTest.log
Expand All @@ -40,3 +41,4 @@ settings.json
build/
install/
isenseconfig/
vc140.pdb
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "PEGTL"]
path = PEGTL
url = https://github.com/taocpp/PEGTL.git
[submodule "vcpkg"]
path = vcpkg
url = https://github.com/microsoft/vcpkg.git
23 changes: 14 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

cmake_minimum_required(VERSION 3.15)
cmake_minimum_required(VERSION 3.28)

# Enable CMAKE_MSVC_RUNTIME_LIBRARY on Windows: https://cmake.org/cmake/help/latest/policy/CMP0091.html
cmake_policy(SET CMP0091 NEW)

# Do not set default MSVC warning flags: https://cmake.org/cmake/help/latest/policy/CMP0092.html
cmake_policy(SET CMP0092 NEW)
if(POLICY CMP0167)
# Prefer the upstream BoostConfig.cmake file instead of the builtin FindBoost module: https://cmake.org/cmake/help/latest/policy/CMP0167.html
cmake_policy(SET CMP0167 NEW)
endif()

# Export compile commands for other tools, e.g. SonarLint.
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
Expand All @@ -34,10 +33,11 @@ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.git")
endif()
endif()

option(GRAPHQL_BUILD_MODULES "Build the C++20 module interface libraries." ON)
option(GRAPHQL_BUILD_SCHEMAGEN "Build the schemagen tool." ON)
option(GRAPHQL_BUILD_CLIENTGEN "Build the clientgen tool." ON)
option(GRAPHQL_BUILD_TESTS "Build the tests and sample schema library." ON)
option(GRAPHQL_USE_RAPIDJSON "Use RapidJSON for JSON serialization." ON)
option(GRAPHQL_USE_TAOCPP_JSON "Use taocpp-json for JSON serialization." ON)

if(GRAPHQL_BUILD_SCHEMAGEN)
list(APPEND VCPKG_MANIFEST_FEATURES "schemagen")
Expand All @@ -51,8 +51,13 @@ if(GRAPHQL_BUILD_TESTS)
list(APPEND VCPKG_MANIFEST_FEATURES "tests")
endif()

if(GRAPHQL_USE_RAPIDJSON)
list(APPEND VCPKG_MANIFEST_FEATURES "rapidjson")
if(GRAPHQL_USE_TAOCPP_JSON)
list(APPEND VCPKG_MANIFEST_FEATURES "taocpp-json")
else()
option(GRAPHQL_USE_RAPIDJSON "Use RapidJSON for JSON serialization." ON)
if(GRAPHQL_USE_RAPIDJSON)
list(APPEND VCPKG_MANIFEST_FEATURES "rapidjson")
endif()
endif()

if(GRAPHQL_BUILD_SCHEMAGEN AND GRAPHQL_BUILD_CLIENTGEN)
Expand Down
120 changes: 120 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
{
"version": 8,
"configurePresets": [
{
"hidden": true,
"name": "ninja-generator",
"binaryDir": "build/${presetName}",
"toolchainFile": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake",
"generator": "Ninja"
},
{
"name": "debug",
"inherits": [ "ninja-generator" ],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "release",
"inherits": [ "ninja-generator" ],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "gcc-14-debug",
"inherits": [ "debug" ],
"condition": {
"type": "notEquals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"cacheVariables": {
"CMAKE_C_COMPILER": "/usr/bin/gcc-14",
"CMAKE_CXX_COMPILER": "/usr/bin/g++-14",
"GRAPHQL_BUILD_MODULES": false
}
},
{
"name": "gcc-14-release",
"inherits": [ "gcc-14-debug" ],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
}
},
{
"name": "clang-18-debug",
"inherits": [ "debug" ],
"condition": {
"type": "notEquals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"cacheVariables": {
"CMAKE_C_COMPILER": "/usr/bin/clang-18",
"CMAKE_CXX_COMPILER": "/usr/bin/clang++-18",
"CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS": "/usr/bin/clang-scan-deps-18"
}
},
{
"name": "clang-18-release",
"inherits": [ "clang-18-debug" ],
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
}
],
"buildPresets": [
{
"name": "debug",
"configurePreset": "debug"
},
{
"name": "release",
"configurePreset": "release"
},
{
"name": "gcc-14-debug",
"configurePreset": "gcc-14-debug"
},
{
"name": "gcc-14-release",
"configurePreset": "gcc-14-release"
},
{
"name": "clang-18-debug",
"configurePreset": "clang-18-debug"
},
{
"name": "clang-18-release",
"configurePreset": "clang-18-release"
}
],
"testPresets": [
{
"name": "debug",
"configurePreset": "debug"
},
{
"name": "release",
"configurePreset": "release"
},
{
"name": "gcc-14-debug",
"configurePreset": "gcc-14-debug"
},
{
"name": "gcc-14-release",
"configurePreset": "gcc-14-release"
},
{
"name": "clang-18-debug",
"configurePreset": "clang-18-debug"
},
{
"name": "clang-18-release",
"configurePreset": "clang-18-release"
}
]
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ There are some more targeted documents in the [doc](./doc) directory:
* [Query Responses](./doc/responses.md)
* [JSON Representation](./doc/json.md)
* [Field Resolvers](./doc/resolvers.md)
* [Custom Scalar Payloads](./doc/scalars.md)
* [Field Parameters](./doc/fieldparams.md)
* [Directives](./doc/directives.md)
* [Subscriptions](./doc/subscriptions.md)
Expand Down
2 changes: 1 addition & 1 deletion cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

cmake_minimum_required(VERSION 3.15)
cmake_minimum_required(VERSION 3.28)

# Enable version checks in find_package
include(CMakePackageConfigHelpers)
Expand Down
Loading
Loading