@@ -13,9 +13,11 @@ find_package(Threads MODULE REQUIRED)
1313
1414find_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)
1720target_link_libraries (schemagen PRIVATE taocpp::pegtl)
18- target_include_directories (schemagen SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS} )
1921target_include_directories (schemagen PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
2022set_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-
3131add_library (graphqlservice
3232 GraphQLTree.cpp
33+ GraphQLResponse.cpp
3334 GraphQLService.cpp
3435 Introspection.cpp
3536 IntrospectionSchema.cpp)
3637target_link_libraries (graphqlservice PRIVATE taocpp::pegtl)
3738target_link_libraries (graphqlservice PUBLIC ${CMAKE_THREAD_LIBS_INIT} )
38- target_include_directories (graphqlservice SYSTEM PUBLIC ${RAPIDJSON_INCLUDE_DIRS} )
3939target_include_directories (graphqlservice SYSTEM INTERFACE $<INSTALL_INTERFACE:include >)
4040target_include_directories (graphqlservice PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
4141set_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
123122install (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