@@ -55,11 +55,14 @@ if(GRAPHQL_UPDATE_SAMPLES)
55
55
endif ()
56
56
57
57
# sample
58
- file (STRINGS ${CMAKE_CURRENT_SOURCE_DIR} /separate/today_schema_files SEPARATE_SCHEMA_CPP )
59
- list (TRANSFORM SEPARATE_SCHEMA_CPP PREPEND ${CMAKE_CURRENT_SOURCE_DIR} /separate/ )
60
-
61
- add_library (separateschema OBJECT ${SEPARATE_SCHEMA_CPP} )
62
- target_link_libraries (separateschema PUBLIC graphqlservice )
58
+ set (SEPARATE_SCHEMA_PATHS "" )
59
+ file (STRINGS ${CMAKE_CURRENT_SOURCE_DIR} /separate/today_schema_files SEPARATE_SCHEMA_FILES )
60
+ foreach (CPP_FILE IN LISTS SEPARATE_SCHEMA_FILES )
61
+ list (APPEND SEPARATE_SCHEMA_PATHS "${CMAKE_CURRENT_SOURCE_DIR} /separate/${CPP_FILE} " )
62
+ endforeach (CPP_FILE )
63
+
64
+ add_library (separateschema OBJECT ${SEPARATE_SCHEMA_PATHS} )
65
+ add_dependencies (separateschema graphqlservice )
63
66
target_include_directories (separateschema PUBLIC
64
67
${CMAKE_CURRENT_BINARY_DIR} /../include
65
68
${CMAKE_CURRENT_SOURCE_DIR} /../include
@@ -71,9 +74,14 @@ if(GRAPHQL_UPDATE_SAMPLES)
71
74
add_dependencies (separateschema update_samples )
72
75
endif ()
73
76
74
- add_library (separategraphql today/SeparateToday.cpp )
75
- target_link_libraries (separategraphql PUBLIC separateschema )
76
- target_include_directories (separategraphql PUBLIC today )
77
+ add_library (separategraphql
78
+ today/SeparateToday.cpp
79
+ $< TARGET_OBJECTS:separateschema> )
80
+ add_dependencies (separategraphql separateschema )
81
+ target_link_libraries (separategraphql PUBLIC graphqlservice )
82
+ target_include_directories (separategraphql PUBLIC
83
+ $< TARGET_PROPERTY:separateschema,INCLUDE_DIRECTORIES>
84
+ today )
77
85
78
86
add_executable (sample today/sample.cpp )
79
87
target_link_libraries (sample PRIVATE
@@ -87,20 +95,25 @@ target_include_directories(sample PRIVATE
87
95
if (GRAPHQL_BUILD_TESTS )
88
96
# tests
89
97
add_library (unifiedschema OBJECT unified/TodaySchema.cpp )
90
- target_link_libraries (unifiedschema PUBLIC graphqlservice )
98
+ add_dependencies (unifiedschema graphqlservice )
91
99
target_include_directories (unifiedschema PUBLIC
92
100
${CMAKE_CURRENT_BINARY_DIR} /../include
93
101
${CMAKE_CURRENT_SOURCE_DIR} /../include
94
102
${CMAKE_CURRENT_SOURCE_DIR} /../PEGTL/include
95
103
unified )
96
- add_bigobj_flag (unifiedschema )
97
104
98
105
if (GRAPHQL_UPDATE_SAMPLES )
99
106
# wait for the sample update to complete
100
107
add_dependencies (unifiedschema update_samples )
101
108
endif ()
102
109
103
- add_library (unifiedgraphql today/UnifiedToday.cpp )
104
- target_link_libraries (unifiedgraphql PUBLIC unifiedschema )
105
- target_include_directories (unifiedgraphql PUBLIC today )
110
+ add_library (unifiedgraphql
111
+ today/UnifiedToday.cpp
112
+ $< TARGET_OBJECTS:unifiedschema> )
113
+ add_dependencies (unifiedgraphql unifiedschema )
114
+ target_link_libraries (unifiedgraphql PUBLIC graphqlservice )
115
+ target_include_directories (unifiedgraphql PUBLIC
116
+ $< TARGET_PROPERTY:unifiedschema,INCLUDE_DIRECTORIES>
117
+ today )
118
+ add_bigobj_flag (unifiedgraphql )
106
119
endif ()
0 commit comments