我正在使用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
Run Code Online (Sandbox Code Playgroud)
我的根级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)
Run Code Online (Sandbox Code Playgroud)
并且文档文件中的CMakeList文件是 -
include(UseLATEX)
ADD_LATEX_DOCUMENT(Doc.tex
#BIBFILES mybib.bib
IMAGE_DIRS images
DEFAULT_PDF
)
Run Code Online (Sandbox Code Playgroud)
现在我在build
文件夹中编译我的项目.有什么办法可以将Doc.pdf
文件build/doc
夹中创建的文件复制回我原来的构建文件夹吗?
由于ADD_LATEX_DOCUMENT
添加了pdf
此处命名的CMake目标,您应该可以使用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)
Run Code Online (Sandbox Code Playgroud)
每次构建目标时,此自定义命令都会调用cmake可执行文件(保存在变量中${CMAKE_COMMAND}
)以及-E copy
参数pdf
.
归档时间: |
|
查看次数: |
3394 次 |
最近记录: |