@@ -186,16 +186,36 @@ function(_ydb_sdk_add_library Tgt)
186
186
${ARGN}
187
187
)
188
188
189
- set (LibraryMode "" )
190
- set (IncludeMode "PUBLIC" )
189
+ set (libraryMode "" )
190
+ set (includeMode "PUBLIC" )
191
191
if (ARG_INTERFACE )
192
- set (LibraryMode "INTERFACE" )
193
- set (IncludeMode "INTERFACE" )
192
+ set (libraryMode "INTERFACE" )
193
+ set (includeMode "INTERFACE" )
194
194
endif ()
195
- add_library (${Tgt} ${LibraryMode } )
196
- target_include_directories (${Tgt} ${IncludeMode }
195
+ add_library (${Tgt} ${libraryMode } )
196
+ target_include_directories (${Tgt} ${includeMode }
197
197
$< BUILD_INTERFACE:${YDB_SDK_SOURCE_DIR} >
198
198
$< BUILD_INTERFACE:${YDB_SDK_BINARY_DIR} >
199
199
$< BUILD_INTERFACE:${YDB_SDK_SOURCE_DIR} /include>
200
200
)
201
201
endfunction ()
202
+
203
+ function (_ydb_sdk_validate_public_headers )
204
+ file (GLOB_RECURSE allHeaders RELATIVE ${YDB_SDK_SOURCE_DIR} /include ${YDB_SDK_SOURCE_DIR} /include/ydb-cpp-sdk )
205
+ file (STRINGS ${YDB_SDK_SOURCE_DIR} /cmake/public_headers.txt specialHeaders )
206
+ list (APPEND allHeaders ${specialHeaders} )
207
+ file (COPY ${YDB_SDK_SOURCE_DIR} /include/ydb-cpp-sdk DESTINATION ${YDB_SDK_BINARY_DIR} /__validate_headers_dir/include )
208
+ foreach (path ${specialHeaders} )
209
+ get_filename_component (relPath ${path} DIRECTORY )
210
+ file (COPY ${YDB_SDK_SOURCE_DIR} /${path}
211
+ DESTINATION ${YDB_SDK_BINARY_DIR} /__validate_headers_dir/include/${relPath}
212
+ )
213
+ endforeach ()
214
+
215
+ list (TRANSFORM allHeaders PREPEND "#include <" )
216
+ list (TRANSFORM allHeaders APPEND ">" )
217
+ list (JOIN allHeaders "\n " fileContent )
218
+
219
+ file (WRITE ${YDB_SDK_BINARY_DIR} /__validate_headers_dir/main.cpp ${fileContent} )
220
+ endfunction ()
221
+
0 commit comments