zoukankan      html  css  js  c++  java
  • CMakeLists.txt install

    本部分是关于ros CMakeLists.txt install  :可参考http://wiki.ros.org/catkin/CMakeLists.txt

    1.CMakeLists.txt中的install规则之前的构建时间完成之后,目标将会放在catkin空间的devel空间之下.然而,通常我们想把目标安装到系统里面(关于安装路径的信息在REP 122中找到),以便可以由其他人来使用或者可以在一个局部文件中用于系统安装层面的测试.换句话说,如果想要"make install"你的代码,那么就需要指定目标安装在哪儿.

    以上的完成都是通过CMake install()函数来实现,下面是install函数的一些参数:

    1)TARGETS 哪一个目标将要被安装.

    2)ARCHIVE DESTINATION 静态库以及DLL(Windows).lib

    3)LIBRARY DESTINATION 非-DLL共享库以及模块(modules)

    4)RUNTIME DESTINATION 可执行目标以及DLL(Windows)格式的共享库

    以共享库作为例子:

    install(TARGETS ${PROJECT_NAME}
      ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
      LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
      RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
    )
    View Code

    可执行文件的例子:

    install(TARGETS ${PROJECT_NAME}_node
      RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
    )
    View Code

    除了这些标准的目标之外,一些文件必须安装到指定的文件夹.例如:a library containing Python bindings must be installed to a different folder to be importable in Python:

    install(TARGETS python_module_library
      ARCHIVE DESTINATION ${CATKIN_PACKAGE_PYTHON_DESTINATION}
      LIBRARY DESTINATION ${CATKIN_PACKAGE_PYTHON_DESTINATION}
    )
    View Code

    2.安装python可执行脚本

    对于python代码,不同于c++风格,在你的CMakeLists.txt中使用如下,即可:

    catkin_install_python(PROGRAMS scripts/myscript
      DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
    View Code

    对于安装python脚本以及模块的详细细节,以及如果布局整个文件夹,可参考catkin manual.

    如果只是安装python脚本,不需要提供任何modules,那么就不需要创建上面提到的setup.py文件,也不需要调用catkin_python_setup().

    3.安装头文件

    头文件也必须安装到include文件夹中,通常通过安装整个文件夹的文件来实现(可选择的通过文件名类型以及排除svn 子文件夹的方式来过滤).通过以下安装规则来实现:

    install(DIRECTORY include/${PROJECT_NAME}/
      DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
      PATTERN ".svn" EXCLUDE
    )
    View Code

    或者如果在include下的子文件没有匹配package名字:

    install(DIRECTORY include/
      DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION}
      PATTERN ".svn" EXCLUDE
    )
    View Code

    4.安装launch文件以及其他的资源

    其他的资源像launch文件可以被安装到${CATKIN_PACKAGE_SHARE_DESTINATION}:

    install(DIRECTORY launch/
      DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
      PATTERN ".svn" EXCLUDE)
  • 相关阅读:
    文本每行都应该换行——vi文件末尾自动换行,不会导致php输出空行
    路由器 DNSMasq 替代 hosts,支持Android、iPhone、PC
    互联网创业的准备——web server:apache、nginx、lighttpd与php module、fastcgi
    dev qa prod
    互联网创业的准备——框架:从MVC到开放API
    Realtek 8192cu win8 驱动
    Win8 RTM 安装到 UEFI PC
    互联网创业的准备——数据库:硬盘iops、mysql
    互联网创业的准备——数据备份
    互联网创业的准备——依赖服务:云主机、域名、代码库
  • 原文地址:https://www.cnblogs.com/gary-guo/p/11389067.html
Copyright © 2011-2022 走看看