2

这是我尝试使用 CMake 2.8.2 重现问题的设置:

/test.sh:

/CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)

SET(CPACK_PACKAGE_NAME test)
SET(CPACK_PACKAGE_VERSION 1.0)

LIST(APPEND CPACK_GENERATOR RPM)

SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "test.sh")

INCLUDE(CPack)

然后:

mkdir build && cd build && cmake .. && make package

结果:

CPackRPM:警告:CPACK_RPM_POST_INSTALL_SCRIPT_FILE 不存在 - 忽略

如何让构建系统知道我的文件 test.sh ?

4

1 回答 1

7

您需要使用绝对路径:

SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/test.sh")

这是必需的,因为 CPackRPM 需要文件的绝对路径,因为 CPack 不知道test.sh相对于源代码树。

于 2010-08-31T16:22:32.700 回答