zoukankan      html  css  js  c++  java
  • Sopus库中FindEigen3.cmake内容详解笔记

    FindEigen3.cmake:

    # - Try to find Eigen3 lib
    # Once done this will define
    #
    #  EIGEN3_FOUND - system has eigen lib
    #  EIGEN3_INCLUDE_DIR - the eigen include directory
    
    # Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
    # Redistribution and use is allowed according to the terms of the BSD license.
    # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
    
    if( EIGEN3_INCLUDE_DIR )
        # in cache already
        set( EIGEN3_FOUND TRUE )
    else (EIGEN3_INCLUDE_DIR)
    #这里的PATH_SUFFIXES表示附加的路径后缀,也就是后面 HINTS后面的路径结尾处
    #都加上PATH_SUFFIXES 后面的东西,这里是都加上eigen3/
    #比如/usr/loacal/include/eigen3/ 他们会在这些路径中找NAMES后面的Eigen/Core这个文件 
    #然后将这个文件的路径送到新建立的变量EIGEN3_INCLUDE_DIR中
    #参考网址:http://www.cnblogs.com/coderfenghc/archive/2012/07/19/2599988.html
        find_path( EIGEN3_INCLUDE_DIR NAMES Eigen/Core
            PATH_SUFFIXES eigen3/
            HINTS
            ${INCLUDE_INSTALL_DIR}
            /usr/local/include
            ${KDE4_INCLUDE_DIR}
            )
    #这个include作用是找到FindPackageHandleStandardArgs.cmake文件(这个文件在CMake中的Modules文件夹),使得find_package_handle_standard_args()该函数可用。
    #If a module file is specified, the include command will search the CMake module directory automatically. Just use:include(FindPackageHandleStandardArgs)
    #参考网址:https://stackoverflow.com/questions/7005782/cmake-include-findpackagehandlestandardargs-cmake
        include( FindPackageHandleStandardArgs )
    
    #找Eigen3 这个安装包,在EIGEN3_INCLUDE_DIR 指示的路径中,或者后面添加的其他路径变量,如果能够找到
    #那么EIGEN3_FOUND就会自动设置成true 表示找到了这个库 如果DEFAULT_MSG_EIGEN3这个可选的参数写上了,则会
    #输出相应的成功找到或者失败找到的信息。
    #参考网址:https://cmake.org/cmake/help/v3.0/module/FindPackageHandleStandardArgs.html
        find_package_handle_standard_args( Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR )   
    
    #标记变量为高级,如果这个变量被设置成了高级或者非高级,则继续保持原来状态。
    #参考:https://cmake.org/cmake/help/v3.0/command/mark_as_advanced.html
        mark_as_advanced( EIGEN3_INCLUDE_DIR )
    endif(EIGEN3_INCLUDE_DIR)

    欢迎大家关注我的微信公众号「佛系师兄」,里面有关于 Ceres 以及 OpenCV 等更多技术文章。

    比如

    反复研究好几遍,我才发现关于 CMake 变量还可以这样理解!

    更多好的文章会优先在里面不定期分享!打开微信客户端,扫描下方二维码即可关注!

  • 相关阅读:
    PHP单引号和双引号的区别
    thinkphp实现导航高亮的简单方法
    js选中当前菜单后高亮显示的导航条
    Dubbo新版管控台
    把本人基于Dubbo的毕业设计分享粗来~
    Windows 查看端口占用情况
    GitLab 环境搭建【CentOS7】
    【非专业前端】vue+element+webpack
    【非专业前端】使用vue2.5.17+element2.4.5
    ElasticSearch6.3.2------入门
  • 原文地址:https://www.cnblogs.com/newneul/p/8367429.html
Copyright © 2011-2022 走看看