@@ -13,9 +13,11 @@ find_package(Threads MODULE REQUIRED)
13
13
14
14
find_package (pegtl CONFIG REQUIRED )
15
15
16
- add_executable (schemagen GraphQLTree.cpp SchemaGenerator.cpp )
16
+ add_executable (schemagen
17
+ GraphQLTree.cpp
18
+ GraphQLResponse.cpp
19
+ SchemaGenerator.cpp )
17
20
target_link_libraries (schemagen PRIVATE taocpp::pegtl )
18
- target_include_directories (schemagen SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS} )
19
21
target_include_directories (schemagen PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
20
22
set_property (TARGET schemagen PROPERTY CXX_STANDARD 11 )
21
23
@@ -26,16 +28,14 @@ add_custom_command(
26
28
COMMENT "Generating IntrospectionSchema files"
27
29
)
28
30
29
- find_package (RapidJSON CONFIG REQUIRED )
30
-
31
31
add_library (graphqlservice
32
32
GraphQLTree.cpp
33
+ GraphQLResponse.cpp
33
34
GraphQLService.cpp
34
35
Introspection.cpp
35
36
IntrospectionSchema.cpp )
36
37
target_link_libraries (graphqlservice PRIVATE taocpp::pegtl )
37
38
target_link_libraries (graphqlservice PUBLIC ${CMAKE_THREAD_LIBS_INIT} )
38
- target_include_directories (graphqlservice SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS} )
39
39
target_include_directories (graphqlservice SYSTEM INTERFACE $< INSTALL_INTERFACE:include> )
40
40
target_include_directories (graphqlservice PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
41
41
set_property (TARGET graphqlservice PROPERTY CXX_STANDARD 11 )
@@ -57,21 +57,22 @@ if(BUILD_TESTS OR UPDATE_SAMPLES)
57
57
)
58
58
59
59
if (BUILD_TESTS )
60
+ find_package (RapidJSON CONFIG REQUIRED )
61
+
60
62
add_library (todaygraphql
61
63
${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
64
67
graphqlservice )
65
- target_include_directories (todaygraphql SYSTEM PRIVATE ${RAPIDJSON_INCLUDE_DIRS} )
68
+ target_include_directories (todaygraphql SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS} )
66
69
target_include_directories (todaygraphql PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
67
70
set_property (TARGET todaygraphql PROPERTY CXX_STANDARD 11 )
68
71
69
72
add_executable (test_today
70
73
test_today.cpp )
71
- target_link_libraries (test_today
72
- graphqlservice
74
+ target_link_libraries (test_today PRIVATE
73
75
todaygraphql )
74
- target_include_directories (test_today SYSTEM PRIVATE ${RAPIDJSON_INCLUDE_DIRS} )
75
76
target_include_directories (test_today PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
76
77
set_property (TARGET test_today PROPERTY CXX_STANDARD 11 )
77
78
@@ -80,12 +81,10 @@ if(BUILD_TESTS OR UPDATE_SAMPLES)
80
81
81
82
add_executable (tests
82
83
tests.cpp )
83
- target_link_libraries (tests
84
- graphqlservice
84
+ target_link_libraries (tests PRIVATE
85
85
todaygraphql
86
86
GTest::GTest
87
87
GTest::Main )
88
- target_include_directories (tests SYSTEM PRIVATE ${RAPIDJSON_INCLUDE_DIRS} )
89
88
target_include_directories (tests PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
90
89
set_property (TARGET tests PROPERTY CXX_STANDARD 11 )
91
90
@@ -122,9 +121,11 @@ install(TARGETS schemagen
122
121
123
122
install (FILES
124
123
GraphQLTree.h
124
+ GraphQLResponse.h
125
125
GraphQLService.h
126
126
Introspection.h
127
127
${CMAKE_BINARY_DIR} /IntrospectionSchema.h
128
+ JSONResponse.h
128
129
DESTINATION include /graphqlservice
129
130
CONFIGURATIONS Release )
130
131
0 commit comments