Skip to content

Commit 0e18daf

Browse files
committed
Intermediate changes
1 parent 9b113c1 commit 0e18daf

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ add_subdirectory(library/cpp)
4242
add_subdirectory(src)
4343
add_subdirectory(util)
4444

45-
#_ydb_sdk_validate_public_headers()
45+
_ydb_sdk_validate_public_headers()
4646

4747
if (YDB_SDK_EXAMPLES)
4848
add_subdirectory(examples)

cmake/common.cmake

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,16 +186,36 @@ function(_ydb_sdk_add_library Tgt)
186186
${ARGN}
187187
)
188188

189-
set(LibraryMode "")
190-
set(IncludeMode "PUBLIC")
189+
set(libraryMode "")
190+
set(includeMode "PUBLIC")
191191
if (ARG_INTERFACE)
192-
set(LibraryMode "INTERFACE")
193-
set(IncludeMode "INTERFACE")
192+
set(libraryMode "INTERFACE")
193+
set(includeMode "INTERFACE")
194194
endif()
195-
add_library(${Tgt} ${LibraryMode})
196-
target_include_directories(${Tgt} ${IncludeMode}
195+
add_library(${Tgt} ${libraryMode})
196+
target_include_directories(${Tgt} ${includeMode}
197197
$<BUILD_INTERFACE:${YDB_SDK_SOURCE_DIR}>
198198
$<BUILD_INTERFACE:${YDB_SDK_BINARY_DIR}>
199199
$<BUILD_INTERFACE:${YDB_SDK_SOURCE_DIR}/include>
200200
)
201201
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

Comments
 (0)