Skip to content

Commit a3d65a0

Browse files
authored
Extract example code from docs (#291)
1 parent d4d41c6 commit a3d65a0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+71
-1223
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ include(CTest)
2626
if (BUILD_TESTING)
2727
add_subdirectory(tests)
2828
add_subdirectory(benchmarks)
29-
add_subdirectory(samples)
29+
add_subdirectory(docs)
3030
endif()

docs/CMakeLists.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
project(msft_proxy_docs)
2+
3+
find_package(Python3 REQUIRED COMPONENTS Interpreter)
4+
5+
file(GLOB_RECURSE DOC_FILES "*.md")
6+
set(EXTRACTION_SCRIPT ${CMAKE_SOURCE_DIR}/tools/extract_example_code_from_docs.py)
7+
set(EXAMPLES_DIR ${CMAKE_BINARY_DIR}/examples_from_docs)
8+
file(MAKE_DIRECTORY "${EXAMPLES_DIR}")
9+
execute_process(
10+
COMMAND ${Python3_EXECUTABLE} ${EXTRACTION_SCRIPT} ${CMAKE_CURRENT_SOURCE_DIR} ${EXAMPLES_DIR}
11+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
12+
COMMAND_ERROR_IS_FATAL ANY
13+
)
14+
15+
file(GLOB EXAMPLE_SOURCES "${EXAMPLES_DIR}/*.cpp")
16+
set_source_files_properties(${EXAMPLE_SOURCES} PROPERTIES GENERATED TRUE)
17+
foreach(SOURCE ${EXAMPLE_SOURCES})
18+
get_filename_component(EXECUTABLE_NAME ${SOURCE} NAME_WE)
19+
add_executable(${EXECUTABLE_NAME} ${SOURCE})
20+
target_link_libraries(${EXECUTABLE_NAME} PRIVATE msft_proxy)
21+
if (MSVC)
22+
target_compile_options(${EXECUTABLE_NAME} PRIVATE /W4)
23+
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
24+
target_compile_options(${EXECUTABLE_NAME} PRIVATE -Wall -Wextra -Wpedantic -Wno-c++2b-extensions)
25+
else()
26+
target_compile_options(${EXECUTABLE_NAME} PRIVATE -Wall -Wextra -Wpedantic)
27+
endif()
28+
endforeach()

samples/CMakeLists.txt

Lines changed: 0 additions & 20 deletions
This file was deleted.

samples/PRO_DEF_FREE_AS_MEM_DISPATCH.cpp

Lines changed: 0 additions & 19 deletions
This file was deleted.

samples/PRO_DEF_FREE_DISPATCH.cpp

Lines changed: 0 additions & 19 deletions
This file was deleted.

samples/PRO_DEF_MEM_DISPATCH.cpp

Lines changed: 0 additions & 21 deletions
This file was deleted.

samples/access_proxy.cpp

Lines changed: 0 additions & 31 deletions
This file was deleted.

samples/allocate_proxy.cpp

Lines changed: 0 additions & 18 deletions
This file was deleted.

samples/allocate_proxy_shared.cpp

Lines changed: 0 additions & 22 deletions
This file was deleted.

samples/basic_facade_builder.cpp

Lines changed: 0 additions & 39 deletions
This file was deleted.

samples/basic_facade_builder/add_convention.cpp

Lines changed: 0 additions & 31 deletions
This file was deleted.

samples/basic_facade_builder/add_facade.cpp

Lines changed: 0 additions & 52 deletions
This file was deleted.

samples/basic_facade_builder/add_reflection.cpp

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)