如何让 CLion 成为 运行 安装目标
How do I get CLion to run an install target
我正在一个已经在使用 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' 目标。我希望能够创建一个新的 Run/Debug 配置,但目标:下拉列表仅包含使用 add_executable() 和 [ 添加的那些目标=34=]().
我还尝试将 'install' 添加到“设置”对话框中的“构建”选项。然而 运行s 现在为每个目标安装,包括 'clean' 这是不正确的。
更新: 自 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}")
@maddouri 的评论已经解决了您的问题。或者,在 Settings -> Build, Execution, Deployment -> CMake 下,您还可以将 Debug 或 Release 构建类型的 Build Option 设置为类似-j 2 安装。使用此设置,每当 CLion 构建代码时,它也会安装您的目标!
我正在一个已经在使用 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' 目标。我希望能够创建一个新的 Run/Debug 配置,但目标:下拉列表仅包含使用 add_executable() 和 [ 添加的那些目标=34=]().
我还尝试将 'install' 添加到“设置”对话框中的“构建”选项。然而 运行s 现在为每个目标安装,包括 'clean' 这是不正确的。
更新: 自 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}")
@maddouri 的评论已经解决了您的问题。或者,在 Settings -> Build, Execution, Deployment -> CMake 下,您还可以将 Debug 或 Release 构建类型的 Build Option 设置为类似-j 2 安装。使用此设置,每当 CLion 构建代码时,它也会安装您的目标!