使用 CMake 打开 Doxygen 文档主页
Open Main Page of Doxygen Documentation with CMake
我有一个使用 Google 测试的项目。我在根目录中有以下 CMake 文件:
set(CMAKE_C_COMPILER gcc)
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
project(PROJECT)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(SOURCES src/a.cpp src/b.cpp)
set(TESTSOURCES test/tests.cpp src/a.cpp src/br.cpp)
set(HEADERS src/a.h src/b.h src/c.h src/c.h)
set(CMAKE_CXX_FLAGS "${MAKE_CXX_FLAGS} -std=c++0x")
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
find_package(CURL REQUIRED)
# Locate GTest
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
if(CMAKE_COMPILER_IS_GNUCC)
add_definitions(-Wall -Werror -lcurl)
endif(CMAKE_COMPILER_IS_GNUCC)
add_executable(tests ${TESTSOURCES} ${HEADERS} )
target_link_libraries(beergame-tests curl Qt5::Widgets ${GTEST_LIBRARIES} pthread)
目前,我还没有在 CMakeLists.txt 中添加任何关于文档的内容。要生成文档,我只使用 doxygen config-file
,它会在我的 latex 文件夹中创建 html/latex 文档。但是,它并没有真正打开文档及其主页。
如何编辑我的 CMakeLists.txt 使其自动打开文档并使用什么命令?
为了运行 tests.cpp
,我这样做:
cd build
cmake ..
make
如果您想在CMake 完成之前构建并打开Doxygen 文档,您可以在CMake 配置阶段使用execute_process()
构建它。您可以调用 firefox <path-to-html>/index.html
(或其他浏览器)作为单独的 COMMAND
以在构建后打开文档。
find_package(Doxygen)
if(DOXYGEN_FOUND)
execute_process(
COMMAND ${DOXYGEN_EXECUTABLE} config-file.doxygen
COMMAND firefox ${CMAKE_CURRENT_SOURCE_DIR}/doc/html/index.html
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating and opening documentation for project: tests"
)
endif()
注意,在Windows10,您可能不需要指定要使用的浏览器;只需在 COMMAND
之后列出 index.html
文件即可在默认浏览器中打开它。
如果您计划将 Doxygen 构建到一个单独的 目标 ,您可以使用 add_custom_target()
:
做类似的事情
find_package(Doxygen)
if(DOXYGEN_FOUND)
add_custom_target(tests-Documentation
COMMAND ${DOXYGEN_EXECUTABLE} config-file.doxygen
COMMAND firefox ${CMAKE_CURRENT_SOURCE_DIR}/doc/html/index.html
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating documentation for project: tests"
VERBATIM
)
endif()
我有一个使用 Google 测试的项目。我在根目录中有以下 CMake 文件:
set(CMAKE_C_COMPILER gcc)
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
project(PROJECT)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(SOURCES src/a.cpp src/b.cpp)
set(TESTSOURCES test/tests.cpp src/a.cpp src/br.cpp)
set(HEADERS src/a.h src/b.h src/c.h src/c.h)
set(CMAKE_CXX_FLAGS "${MAKE_CXX_FLAGS} -std=c++0x")
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
find_package(CURL REQUIRED)
# Locate GTest
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
if(CMAKE_COMPILER_IS_GNUCC)
add_definitions(-Wall -Werror -lcurl)
endif(CMAKE_COMPILER_IS_GNUCC)
add_executable(tests ${TESTSOURCES} ${HEADERS} )
target_link_libraries(beergame-tests curl Qt5::Widgets ${GTEST_LIBRARIES} pthread)
目前,我还没有在 CMakeLists.txt 中添加任何关于文档的内容。要生成文档,我只使用 doxygen config-file
,它会在我的 latex 文件夹中创建 html/latex 文档。但是,它并没有真正打开文档及其主页。
如何编辑我的 CMakeLists.txt 使其自动打开文档并使用什么命令?
为了运行 tests.cpp
,我这样做:
cd build
cmake ..
make
如果您想在CMake 完成之前构建并打开Doxygen 文档,您可以在CMake 配置阶段使用execute_process()
构建它。您可以调用 firefox <path-to-html>/index.html
(或其他浏览器)作为单独的 COMMAND
以在构建后打开文档。
find_package(Doxygen)
if(DOXYGEN_FOUND)
execute_process(
COMMAND ${DOXYGEN_EXECUTABLE} config-file.doxygen
COMMAND firefox ${CMAKE_CURRENT_SOURCE_DIR}/doc/html/index.html
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating and opening documentation for project: tests"
)
endif()
注意,在Windows10,您可能不需要指定要使用的浏览器;只需在 COMMAND
之后列出 index.html
文件即可在默认浏览器中打开它。
如果您计划将 Doxygen 构建到一个单独的 目标 ,您可以使用 add_custom_target()
:
find_package(Doxygen)
if(DOXYGEN_FOUND)
add_custom_target(tests-Documentation
COMMAND ${DOXYGEN_EXECUTABLE} config-file.doxygen
COMMAND firefox ${CMAKE_CURRENT_SOURCE_DIR}/doc/html/index.html
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating documentation for project: tests"
VERBATIM
)
endif()