cart-elc

Source code for CART-ELC
git clone git://git.laack.co/cart-elc.git
Log | Files | Refs | README | LICENSE

TopicCMakeGuide.dox (1914B)


      1 namespace Eigen {
      2 
      3 /**
      4 
      5 \page TopicCMakeGuide Using %Eigen in CMake Projects
      6 
      7 %Eigen provides native CMake support which allows the library to be easily
      8 used in CMake projects.
      9 
     10 \note %CMake 3.0 (or later) is required to enable this functionality.
     11 
     12 %Eigen exports a CMake target called `Eigen3::Eigen` which can be imported
     13 using the `find_package` CMake command and used by calling
     14 `target_link_libraries` as in the following example:
     15 \code{.cmake}
     16 cmake_minimum_required (VERSION 3.0)
     17 project (myproject)
     18 
     19 find_package (Eigen3 3.3 REQUIRED NO_MODULE)
     20 
     21 add_executable (example example.cpp)
     22 target_link_libraries (example Eigen3::Eigen)
     23 \endcode
     24 
     25 The above code snippet must be placed in a file called `CMakeLists.txt` alongside
     26 `example.cpp`. After running
     27 \code{.sh}
     28 $ cmake path-to-example-directory
     29 \endcode
     30 CMake will produce project files that generate an executable called `example`
     31 which requires at least version 3.3 of %Eigen. Here, `path-to-example-directory`
     32 is the path to the directory that contains both `CMakeLists.txt` and
     33 `example.cpp`.
     34 
     35 Do not forget to set the <a href="https://cmake.org/cmake/help/v3.7/variable/CMAKE_PREFIX_PATH.html">\c CMAKE_PREFIX_PATH </a> variable if Eigen is not installed in a default location or if you want to pick a specific version. For instance:
     36 \code{.sh}
     37 $ cmake path-to-example-directory -DCMAKE_PREFIX_PATH=$HOME/mypackages
     38 \endcode
     39 An alternative is to set the \c Eigen3_DIR cmake's variable to the respective path containing the \c Eigen3*.cmake files. For instance:
     40 \code{.sh}
     41 $ cmake path-to-example-directory -DEigen3_DIR=$HOME/mypackages/share/eigen3/cmake/
     42 \endcode
     43 
     44 If the `REQUIRED` option is omitted when locating %Eigen using
     45 `find_package`, one can check whether the package was found as follows:
     46 \code{.cmake}
     47 find_package (Eigen3 3.3 NO_MODULE)
     48 
     49 if (TARGET Eigen3::Eigen)
     50   # Use the imported target
     51 endif (TARGET Eigen3::Eigen)
     52 \endcode
     53 
     54 */
     55 
     56 }