8

UseLATEX.cmakeを使用して、プロジェクトのドキュメント フォルダーをコンパイルしています。

私のプロジェクトは次のように構成されています -

.
├── CMakeLists.txt
├── bin
├── build
├── cmake
│   ├── CMakeCompilerFlags.cmake
│   ├── CMakeDefaults.cmake
│   ├── MacroEnsureOutOfSourceBuilds.cmake
│   └── UseLATEX.cmake
├── doc
│   ├── Doc.tex
│   ├── CMakeLists.txt
│   └── images
│       ├── img1.png
│       ├── img2.png
│       ├── img3.png
│       └── img4.jpeg
............
└── src
    ├── CMakeLists.txt
    ├── file1.cpp
    ├── file2.cpp
    └── file3.cpp

私のルートレベルのcmakeファイルはこのようなものです...

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

# Set path for CMake
set(CMAKE_MODULE_PATH
    "${CMAKE_SOURCE_DIR}/cmake"
    ${CMAKE_MODULE_PATH}
)

# Define project settings
project(proj)
set(APPLICATION_NAME ${PROJECT_NAME})
include(CMakeDefaults)

# Compile Program and Docs
include_directories(inc)
add_subdirectory(src)
add_subdirectory(doc)

また、ドキュメント ファイル内の CMakeList ファイルは --

include(UseLATEX)

ADD_LATEX_DOCUMENT(Doc.tex
    #BIBFILES mybib.bib
    IMAGE_DIRS images
    DEFAULT_PDF
)

buildここで、プロジェクトをフォルダーにコンパイルします。Doc.pdfフォルダーに作成されたファイルbuild/docを元のビルド フォルダーにコピーして戻す方法はありますか?

4

1 に答える 1

7

ADD_LATEX_DOCUMENTここで名前を付けたCMakeターゲットを追加するのでpdf、を利用できるはずですadd_custom_command。通話/doc/CMakeLists.txt に以下を追加してみてください。ADD_LATEX_DOCUMENT

add_custom_command(TARGET pdf POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy
                       ${CMAKE_CURRENT_BINARY_DIR}/Doc.pdf
                       ${CMAKE_BINARY_DIR}/Doc.pdf)

このカスタムコマンドは、ターゲットがビルドされるたびに、引数${CMAKE_COMMAND}とともにcmake実行可能ファイル(変数に保持されている)を呼び出します。-E copypdf

于 2013-01-09T23:07:52.803 に答える