CMake安装和重命名找不到文件

时间:2019-06-14 13:55:39

标签: cmake

我正在尝试为正在构建的项目制作并安装config.cmake文件,而安装部分无法正常工作,因为显然找不到该文件。我最初使用的是来自cmake的INSTALL命令,当该命令不起作用时,我尝试使用file(RENAME ...),因为我对它有更多的经验-似乎都不起作用。我已验证文件是在正确的位置并使用预期的文件名制作的。

这是CMakeLists.txt的相关部分:

__GetZoneResult_ = { mts:'1357465', province:'����', catName:'�й��ƶ�', telString:'13574652375', areaVid:'30514', ispVid:'3236139', carrier:'�����ƶ�’ }

这是我尝试符文cmake的相关输出:

################################################################################
# Build the config.cmake file for finding project information
################################################################################
file(WRITE ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake "set(${PROJECT_NAME}_PROTO_DIR ${PROTO_MAIN_DIR})\n")
file(APPEND ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake "set(${PROJECT_NAME}_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/include/;${PROTO_GEN_DIR})\n")
file(APPEND ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake "set(${PROJECT_NAME}_LIBRARY_DIR ${CMAKE_CURRENT_LIST_DIR}/lib/)\n")
file(APPEND ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake "set(${PROJECT_NAME}_LIBRARIES ${PROJECT_LIBRARIES})\n")

message( "CMAKE_BINARY_DIR: " ${CMAKE_BINARY_DIR} )
message( "PROJECT_NAME: " ${PROJECT_NAME} )

#INSTALL(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake DESTINATION ~/CMake/Modules/)
file(RENAME ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake ~/CMake/Modules/${PROJECT_NAME}Config.cmake)

,这里的输出确认文件是我期望的位置,并带有我期望的名称:

CMAKE_BINARY_DIR: /home/ava/workspace/frontseat_drivers/build
PROJECT_NAME: frontseat
CMake Error at src/frontseat/CMakeLists.txt:47 (file):
  file RENAME failed to rename

    /home/ava/workspace/frontseat_drivers/build/frontseatConfig.cmake

  to

    ~/CMake/Modules/frontseatConfig.cmake

  because: No such file or directory

什么会导致CMake无法看到文件?

1 个答案:

答案 0 :(得分:0)

该错误可能与目标文件 conda有关。这是因为CMake无法解释~/CMake/Modules/frontseatConfig.cmake部分,因此它无法正确解析路径。

使用~代替~指向用户的主目录。