2015-11-18 74 views
12

我正在使用CMake的现有项目评估CLion 1.2.1。该项目由几个库模块和一个可执行文件组成。如何让CLion运行安装目标

我有一个安装目标,我用它来收集可执行文件和配置文件一起在一个bin文件夹进行调试:

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

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

make install 

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

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

我也尝试在设置对话框的Build选项中添加'install'。但是,现在每个目标都会安装,包括“干净”,这是不正确的。

+0

问题https://youtrack.jetbrains.com/issue/CPP-838 – KindDragon

回答

16

UPDATE:作为2018.1 EAP, build 181.3741.16,克利翁支持运行cmake install如果你的项目定义安装目标:


原来的答案:

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

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

现在,所有你需要做的就是“打造的” install_YOUR_PROJECT_NAME目标来自CLion的“目标”菜单。

更新:

更跨平台的技术可能是以下内容:关于这个

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