首页 > 解决方案 > 安装过程中找不到 LICENSE.txt

问题描述

我正在开发一个使用 CMake 步骤生成构建文件的公式。在此期间,我遇到以下错误:

CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/CPack.cmake:441 (message):
  CPack license resource file: "/tmp/myformula-20180615-53709-m1sfii/LICENSE.txt"
  could not be found.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/CPack.cmake:446 (cpack_check_file_exists)
  CMakeModules/installer.cmake:49 (include)
  CMakeLists.txt:219 (include)

我检查了临时目录,发现 LICENSE.txt 实际上丢失了。浏览 brew 源代码我看到 brew 认为这是一个Metafile。是不是被过滤掉了?我该如何预防?

标签: homebrew

解决方案


我认为 CPack 只是在寻找您自己提供的 licence.txt。

所以要么:

  1. 您可以创建许可证文件并使用:

    set (CPACK_RESOURCE_FILE_LICENSE  
        "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
    

当然,您需要在哪里设置CMAKE_CURRENT_SOURCE_DIR,或者只是为您的首选文件夹硬编码以进行测试。

  1. 如果您不关心许可证,请不要设置CPACK_RESOURCE_FILE_LICENSE. 打包应成功并出现许可证警告。

推荐阅读