【问题标题】:How do I get CLion to run an install target如何让 CLion 运行安装目标
【发布时间】:2016-02-20 16:48:46
【问题描述】:

我正在对已经使用 CMake 的现有项目评估 CLion 1.2.1。该项目由几个库模块和一个可执行文件组成。

我有一个安装目标,用于将可执行文件和配置文件一起收集到 bin 文件夹中以进行调试:

...
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
install(FILES config.xml DESTINATION ${CMAKE_BINARY_DIR}/bin/)

在命令行上构建时,我只是运行:

make install

按预期构建二进制文件,如果成功则运行上述安装命令。

我的问题是我无法让 CLion 运行“安装”目标。我希望能够创建新的运行/调试配置,但目标:下拉列表仅包含使用 add_executable()add_library() 添加的目标。

我还尝试在“设置”对话框的“构建”选项中添加“安装”。但是,现在为每个目标运行安装,包括不正确的“干净”。

【问题讨论】:

标签: cmake clion


【解决方案1】:

更新:截至2018.1 EAP, build 181.3741.16,如果您的项目定义了安装目标,CLion 支持运行cmake install


(来源:cloudfront.net


原答案:

我认为 CLion 尚未实现此功能。但是,您可以通过添加将执行 make install 命令的 CMake “自定义目标”(使用 add_custom_target())来解决此限制:

add_custom_target(install_${PROJECT_NAME}
                  $(MAKE) install
                  DEPENDS ${PROJECT_NAME}
                  COMMENT "Installing ${PROJECT_NAME}")

现在,您所要做的就是从 CLion 的“目标”菜单中“构建”install_YOUR_PROJECT_NAME 目标。

更新:

一种更跨平台的技术可能如下:

add_custom_target(install_${PROJECT_NAME}
                  "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target install
                  DEPENDS ${PROJECT_NAME}
                  COMMENT "Installing ${PROJECT_NAME}")

【讨论】:

    【解决方案2】:

    @maddouri 的评论已经解决了您的问题。或者,在 Settings -> Build, Execution, Deployment -> CMake 下,您还可以将 Debug 或 Release 构建类型的 Build Option 设置为 -j 2安装。使用此设置,每当 CLion 构建代码时,它也会安装您的目标!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-14
      • 2017-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多