From b4dcae20ccc5189bb8102693af7ae00b74b050be Mon Sep 17 00:00:00 2001 From: "Louis R. Marascio" Date: Wed, 22 Sep 2021 11:39:23 -0500 Subject: [PATCH 1/2] Add option `MSGPACK_BUILD_DOCS`. This option explicitly controls the generation of targets related to Doxygen generation, rather than relying solely on whether Doxygen is discovered. It is enabled by default to preserve existing behavior, but if disabled then no Doxygen targets will be generated. This is useful when the library is included via CMake's `add_subdirectory()`. --- CMakeLists.txt | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 916e40eb..102fadbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,7 @@ OPTION (MSGPACK_CXX20 "Using c++20 compiler" OFF) OPTION (MSGPACK_32BIT "32bit compile" OFF) OPTION (MSGPACK_USE_X3_PARSE "Use Boost X3 parse" OFF) OPTION (MSGPACK_BUILD_TESTS "Build tests" OFF) +OPTION (MSGPACK_BUILD_DOCS "Build Doxygen documentation" ON) OPTION (MSGPACK_FUZZ_REGRESSION "Enable regression testing" OFF) OPTION (MSGPACK_BUILD_EXAMPLES "Build msgpack examples" OFF) OPTION (MSGPACK_GEN_COVERAGE "Generate coverage report" OFF) @@ -153,28 +154,30 @@ IF (MSGPACK_BUILD_EXAMPLES) ENDIF () # Doxygen -FIND_PACKAGE (Doxygen) -IF (DOXYGEN_FOUND) - LIST (APPEND Doxyfile_cpp_CONTENT - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "FILE_PATTERNS = *.hpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "OUTPUT_DIRECTORY = doc_cpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "INPUT = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "EXTRACT_ALL = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "STRIP_FROM_PATH = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - ) - IF (DOXYGEN_DOT_FOUND) +IF (MSGPACK_BUILD_DOCS) + FIND_PACKAGE (Doxygen) + IF (DOXYGEN_FOUND) LIST (APPEND Doxyfile_cpp_CONTENT - COMMAND ${CMAKE_COMMAND} -E echo "HAVE_DOT = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${CMAKE_COMMAND} -E echo "FILE_PATTERNS = *.hpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${CMAKE_COMMAND} -E echo "OUTPUT_DIRECTORY = doc_cpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${CMAKE_COMMAND} -E echo "INPUT = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${CMAKE_COMMAND} -E echo "EXTRACT_ALL = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${CMAKE_COMMAND} -E echo "STRIP_FROM_PATH = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + ) + IF (DOXYGEN_DOT_FOUND) + LIST (APPEND Doxyfile_cpp_CONTENT + COMMAND ${CMAKE_COMMAND} -E echo "HAVE_DOT = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + ) + ENDIF () + ADD_CUSTOM_TARGET ( + doxygen + ${Doxyfile_cpp_CONTENT} + COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"MessagePack for C++\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp + VERBATIM ) ENDIF () - ADD_CUSTOM_TARGET ( - doxygen - ${Doxyfile_cpp_CONTENT} - COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"MessagePack for C++\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - VERBATIM - ) ENDIF () # Install library. From e148b2b26d56e3609697b2335f59d9550ef8a5e1 Mon Sep 17 00:00:00 2001 From: Takatoshi Kondo Date: Thu, 23 Sep 2021 10:42:15 +0900 Subject: [PATCH 2/2] Minimized boost install. --- .github/workflows/gha.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gha.yml b/.github/workflows/gha.yml index 4ff4d420..4608260d 100644 --- a/.github/workflows/gha.yml +++ b/.github/workflows/gha.yml @@ -210,7 +210,7 @@ jobs: run: | vcpkg update vcpkg install zlib:x64-windows - vcpkg install boost:x64-windows + vcpkg install boost-assert:x64-windows boost-numeric-conversion:x64-windows boost-variant:x64-windows boost-utility:x64-windows boost-fusion:x64-windows boost-optional:x64-windows boost-predef:x64-windows boost-preprocessor:x64-windows boost-timer:x64-windows boost-test:x64-windows - name: Build and test shell: powershell