@@ -101,6 +101,61 @@ if(GRAPHQL_UPDATE_SAMPLES)
101101 ${CMAKE_CURRENT_BINARY_DIR} /validation/ValidationSchema.cpp
102102 ${CMAKE_CURRENT_BINARY_DIR} /validation/ValidationSchema.h
103103 updated_samples)
104+
105+ if (GRAPHQL_BUILD_CLIENTGEN)
106+ file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /client)
107+
108+ # query.today.graphql
109+ add_custom_command (
110+ OUTPUT
111+ ${CMAKE_CURRENT_BINARY_DIR} /client/QueryClient.cpp
112+ ${CMAKE_CURRENT_BINARY_DIR} /client/QueryClient.h
113+ COMMAND clientgen --schema="${CMAKE_CURRENT_SOURCE_DIR} /schema.today.graphql" --request="${CMAKE_CURRENT_SOURCE_DIR} /query.today.graphql" --prefix ="Query" --namespace="query"
114+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
115+ QueryClient.cpp
116+ QueryClient.h
117+ ${CMAKE_CURRENT_SOURCE_DIR} /client
118+ DEPENDS clientgen schema.today.graphql query.today.graphql
119+ WORKING_DIRECTORY client
120+ COMMENT "Generating QueryClient samples" )
121+
122+ # mutate.today.graphql
123+ add_custom_command (
124+ OUTPUT
125+ ${CMAKE_CURRENT_BINARY_DIR} /client/MutateClient.cpp
126+ ${CMAKE_CURRENT_BINARY_DIR} /client/MutateClient.h
127+ COMMAND clientgen --schema="${CMAKE_CURRENT_SOURCE_DIR} /schema.today.graphql" --request="${CMAKE_CURRENT_SOURCE_DIR} /mutate.today.graphql" --prefix ="Mutate" --namespace="mutate"
128+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
129+ MutateClient.cpp
130+ MutateClient.h
131+ ${CMAKE_CURRENT_SOURCE_DIR} /client
132+ DEPENDS clientgen schema.today.graphql mutate.today.graphql
133+ WORKING_DIRECTORY client
134+ COMMENT "Generating MutateClient samples" )
135+
136+ # subscribe.today.graphql
137+ add_custom_command (
138+ OUTPUT
139+ ${CMAKE_CURRENT_BINARY_DIR} /client/SubscribeClient.cpp
140+ ${CMAKE_CURRENT_BINARY_DIR} /client/SubscribeClient.h
141+ COMMAND clientgen --schema="${CMAKE_CURRENT_SOURCE_DIR} /schema.today.graphql" --request="${CMAKE_CURRENT_SOURCE_DIR} /subscribe.today.graphql" --prefix ="Subscribe" --namespace="subscribe"
142+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
143+ SubscribeClient.cpp
144+ SubscribeClient.h
145+ ${CMAKE_CURRENT_SOURCE_DIR} /client
146+ DEPENDS clientgen schema.today.graphql subscribe.today.graphql
147+ WORKING_DIRECTORY client
148+ COMMENT "Generating SubscribeClient samples" )
149+
150+ add_custom_target (update_client_samples ALL
151+ DEPENDS
152+ ${CMAKE_CURRENT_BINARY_DIR} /client/QueryClient.cpp
153+ ${CMAKE_CURRENT_BINARY_DIR} /client/QueryClient.h
154+ ${CMAKE_CURRENT_BINARY_DIR} /client/MutateClient.cpp
155+ ${CMAKE_CURRENT_BINARY_DIR} /client/MutateClient.h
156+ ${CMAKE_CURRENT_BINARY_DIR} /client/SubscribeClient.cpp
157+ ${CMAKE_CURRENT_BINARY_DIR} /client/SubscribeClient.h)
158+ endif ()
104159endif ()
105160
106161# separateschema
0 commit comments