cmake 如何让CLion运行安装目标

8ljdwjyq  于 2023-08-05  发布在  其他
关注(0)|答案(3)|浏览(180)

我正在一个已经使用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运行'install'目标。我希望能够创建一个新的运行/调试配置,但目标:下拉列表只包含使用 add_executable()add_library() 添加的目标。
我还尝试在设置对话框的构建选项中添加'install'。然而,现在对每个目标运行安装,包括“clean”,这是不正确的。

jgzswidk

jgzswidk1#

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


的数据
(来源:cloudfront.net

原始答案:

我认为CLion还没有实现这个功能。但是,您可以通过添加CMake “custom target”(使用add_custom_target())来解决此限制,该CMake “custom target” 将执行make install命令:

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

字符串
现在,您所要做的就是从CLion的“targets”菜单中“构建”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}")

zzzyeukh

zzzyeukh2#

@maddouri的评论已经回答了你的问题。或者,在Settings -> Build,Execution,Deployment -> CMake下,您也可以将Debug或Release构建类型的Build Option设置为类似**-j 2 install**的内容。通过此设置,每当CLion构建代码时,它也会安装您的目标!

7vux5j2d

7vux5j2d3#

如果希望在启动之前自动进行安装,请打开“运行|编辑配置对话框中,选择所需的运行/调试配置,按下启动前部分中的应用程序常规添加,然后从下拉列表中选择安装:
x1c 0d1x的数据

相关问题