自定义命令/目标仅针对默认构建运行而不安装

时间:2018-03-03 11:21:32

标签: cmake

我希望默认情况下使用CMake与我的项目一起构建我的文档(doxygen)。我让CMake生成Makefile。到目前为止,我知道这些方法:

1)

add_custom_target(doc ALL
  COMMAND ${DOXYGEN_COMMAND})

2)

add_custom_command(
  TARGET my-executable
  POST_BUILD
  COMMAND ${DOXYGEN_COMMAND})

我对第一种方法的问题是目标是在构建和安装期间构建两者(即在运行make 时运行{{ 1}})。这是不行的。

第二种方法的问题在于它实际上并不正确:文档不必必须在可执行文件之后构建(事实上,它甚至可以并行完成) 。此外,我现在无法构建可执行文件。

有没有办法创建此自定义命令/目标,使其在make install(建筑物)期间仅运行 而不是make期间(安装)但独立于其他目标,如可执行文件?

基本上我需要一个"默认目标"。另外,我真的想避免递归执行CMake或直接执行。

1 个答案:

答案 0 :(得分:1)

只需创建一个文件,即存在意味着已构建文档文件:

!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_RUN "$INSTDIR\app.exe"
!define MUI_FINISHPAGE_RUN_TEXT "Run App now"
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_LANGUAGE English