cmake中执行什么安装命令?

时间:2018-11-02 15:29:05

标签: c++ cmake install ros catkin

对不起,我太天真了。我试图从此cmake网站的link来了解,但无法理解。我有一个示例cmake文件,其中

生成了一个可执行文件
  

add_executable($ {PROJECT_NAME} _node src / filename.cpp)

然后通过以下命令安装

  

install(TARGETS $ {PROJECT_NAME} _node $ {PROJECT_NAME}
   归档目的地$ {CATKIN_PACKAGE_LIB_DESTINATION}
   库目的地$ {CATKIN_PACKAGE_LIB_DESTINATION}
   RUNTIME DESTINATION $ {CATKIN_PACKAGE_BIN_DESTINATION})

这个cmake来自ROS,所以柳絮在那里。总体问题保持不变。有人知道,为什么我们需要安装TARGETS / FILES?

3 个答案:

答案 0 :(得分:0)

您不需要使用柳絮的INSTALL功能。

INSTALL函数将仅将最终的BINARYLIBRARY等复制到一个更安全的位置(例如,位于/opt/ros/<your-version>/share,lib,include的主要ros软件包空间),以使构建工作区不再拥挤且以确保文件安全,以防您的工作空间损坏。

答案 1 :(得分:0)

INSTALL至少在以下两种情况下有用:

  • 您下载了某些软件包的源代码,生成了要在系统中使用的二进制文件。您可以在/ usr / bin下INSTALL,例如

  • 您将编译一些库,该库将从其他产品中使用。它将收集所需文件(头文件,库...)以及仅这些文件,并将它们放置在已知位置,无论库编译在何处期望它们。

您可以复制它们,但是依靠CMake可以在更高层次上表达该过程。

答案 2 :(得分:0)

它只是在本地系统上安装内置的二进制文件。


如果必须从源中安装bashgit之类的工具(例如,使用其最新版本),请先构建它,然后再安装以使用。

>

如果本地系统没有必需的工具,或者其软件包不存在,或者打包的版本较旧,或者需要某些自定义,则从源代码进行构建和安装(从私有构建目录到公共系统目录)是一种正常方法。