Skip to content

Commit faddbd0

Browse files
authored
Merge pull request #13 from Microsoft/nojson
Refactor responses into a non-JSON type
2 parents 47e18ad + 75c3a2e commit faddbd0

20 files changed

+1757
-1136
lines changed

CMakeLists.txt

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ find_package(Threads MODULE REQUIRED)
1313

1414
find_package(pegtl CONFIG REQUIRED)
1515

16-
add_executable(schemagen GraphQLTree.cpp SchemaGenerator.cpp)
16+
add_executable(schemagen
17+
GraphQLTree.cpp
18+
GraphQLResponse.cpp
19+
SchemaGenerator.cpp)
1720
target_link_libraries(schemagen PRIVATE taocpp::pegtl)
18-
target_include_directories(schemagen SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS})
1921
target_include_directories(schemagen PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
2022
set_property(TARGET schemagen PROPERTY CXX_STANDARD 11)
2123

@@ -26,16 +28,14 @@ add_custom_command(
2628
COMMENT "Generating IntrospectionSchema files"
2729
)
2830

29-
find_package(RapidJSON CONFIG REQUIRED)
30-
3131
add_library(graphqlservice
3232
GraphQLTree.cpp
33+
GraphQLResponse.cpp
3334
GraphQLService.cpp
3435
Introspection.cpp
3536
IntrospectionSchema.cpp)
3637
target_link_libraries(graphqlservice PRIVATE taocpp::pegtl)
3738
target_link_libraries(graphqlservice PUBLIC ${CMAKE_THREAD_LIBS_INIT})
38-
target_include_directories(graphqlservice SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS})
3939
target_include_directories(graphqlservice SYSTEM INTERFACE $<INSTALL_INTERFACE:include>)
4040
target_include_directories(graphqlservice PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
4141
set_property(TARGET graphqlservice PROPERTY CXX_STANDARD 11)
@@ -57,21 +57,22 @@ if(BUILD_TESTS OR UPDATE_SAMPLES)
5757
)
5858

5959
if(BUILD_TESTS)
60+
find_package(RapidJSON CONFIG REQUIRED)
61+
6062
add_library(todaygraphql
6163
${CMAKE_BINARY_DIR}/TodaySchema.cpp
62-
Today.cpp)
63-
target_link_libraries(todaygraphql
64+
Today.cpp
65+
JSONResponse.cpp)
66+
target_link_libraries(todaygraphql PUBLIC
6467
graphqlservice)
65-
target_include_directories(todaygraphql SYSTEM PRIVATE ${RAPIDJSON_INCLUDE_DIRS})
68+
target_include_directories(todaygraphql SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS})
6669
target_include_directories(todaygraphql PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
6770
set_property(TARGET todaygraphql PROPERTY CXX_STANDARD 11)
6871

6972
add_executable(test_today
7073
test_today.cpp)
71-
target_link_libraries(test_today
72-
graphqlservice
74+
target_link_libraries(test_today PRIVATE
7375
todaygraphql)
74-
target_include_directories(test_today SYSTEM PRIVATE ${RAPIDJSON_INCLUDE_DIRS})
7576
target_include_directories(test_today PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
7677
set_property(TARGET test_today PROPERTY CXX_STANDARD 11)
7778

@@ -80,12 +81,10 @@ if(BUILD_TESTS OR UPDATE_SAMPLES)
8081

8182
add_executable(tests
8283
tests.cpp)
83-
target_link_libraries(tests
84-
graphqlservice
84+
target_link_libraries(tests PRIVATE
8585
todaygraphql
8686
GTest::GTest
8787
GTest::Main)
88-
target_include_directories(tests SYSTEM PRIVATE ${RAPIDJSON_INCLUDE_DIRS})
8988
target_include_directories(tests PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
9089
set_property(TARGET tests PROPERTY CXX_STANDARD 11)
9190

@@ -122,9 +121,11 @@ install(TARGETS schemagen
122121

123122
install(FILES
124123
GraphQLTree.h
124+
GraphQLResponse.h
125125
GraphQLService.h
126126
Introspection.h
127127
${CMAKE_BINARY_DIR}/IntrospectionSchema.h
128+
JSONResponse.h
128129
DESTINATION include/graphqlservice
129130
CONFIGURATIONS Release)
130131

0 commit comments

Comments
 (0)