使用CMake引用文件

时间:2012-06-21 13:56:22

标签: cmake

是否有一种链接特定文件的方法,以便我可以在我的代码中引用它们? 我正在开发一个项目,我正在我的代码中读取一个视频文件,我想引用它:

const char* videopath = "myvideo.avi"

CMake通常在新创建的目录中构建,以便我不知道相对路径。目前的解决方法是将视频文件作为绝对路径引用,如:

videopath = "/home/NewProggie/Video/myvideo.avi"

我想知道是否有更好的方法,使用CMake?

1 个答案:

答案 0 :(得分:3)

检查CONFIGURE_FILE

CMakeLists.txt

INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${CMAKE_CURRENT_BINARY_DIR}
)
SET(MY_AVI_PATH "${CMAKE_CURRENT_SOURCE_DIR}/movies/foo.avi")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/avi.h.in ${CMAKE_CURRENT_BINARY_DIR}/avi.h @ONLY)

avi.h.in

#pragma once
#define MY_AVI_PATH L"@MY_AVI_PATH@"

结果avi.h

#pragma once
#define MY_AVI_PATH L"c:\foo\dir\movies\file.avi"