From caa232cca295a7c82a72144b885fecf58e04470a Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Thu, 21 Nov 2013 15:09:54 +0000 Subject: [PATCH] Adding Eigen header files as source files to show up in IDE projects --- gtsam/3rdparty/CMakeLists.txt | 25 ++++++++++++++++--------- gtsam/CMakeLists.txt | 1 + 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/gtsam/3rdparty/CMakeLists.txt b/gtsam/3rdparty/CMakeLists.txt index d8eca0fcf..3fb5cf185 100644 --- a/gtsam/3rdparty/CMakeLists.txt +++ b/gtsam/3rdparty/CMakeLists.txt @@ -3,17 +3,24 @@ install(FILES CCOLAMD/Include/ccolamd.h DESTINATION include/gtsam/3rdparty/CCOLA install(FILES UFconfig/UFconfig.h DESTINATION include/gtsam/3rdparty/UFconfig) if(NOT GTSAM_USE_SYSTEM_EIGEN) + # Find plain .h files + file(GLOB_RECURSE eigen_headers "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/Eigen/*.h") + + # Find header files without extension + file(GLOB eigen_dir_headers_all "Eigen/Eigen/*") + foreach(eigen_dir ${eigen_dir_headers_all}) + get_filename_component(filename ${eigen_dir} NAME) + if (NOT ((${filename} MATCHES "CMakeLists.txt") OR (${filename} MATCHES "src") OR (${filename} MATCHES ".svn"))) + list(APPEND eigen_headers "${CMAKE_CURRENT_SOURCE_DIR}/Eigen/Eigen/${filename}") + install(FILES Eigen/Eigen/${filename} DESTINATION include/gtsam/3rdparty/Eigen/Eigen) + endif() + endforeach(eigen_dir) + + # Add to project source + set(eigen_headers ${eigen_headers} PARENT_SCOPE) + # install Eigen - only the headers in our 3rdparty directory install(DIRECTORY Eigen/Eigen DESTINATION include/gtsam/3rdparty/Eigen FILES_MATCHING PATTERN "*.h") - file(GLOB eigen_dir_headers_all "Eigen/Eigen/*") - - # ensure that Eigen folders without extensions get added - foreach(eigen_dir ${eigen_dir_headers_all}) - get_filename_component(filename ${eigen_dir} NAME) - if (NOT ((${filename} MATCHES "CMakeLists.txt") OR (${filename} MATCHES "src") OR (${filename} MATCHES ".svn"))) - install(FILES Eigen/Eigen/${filename} DESTINATION include/gtsam/3rdparty/Eigen/Eigen) - endif() - endforeach(eigen_dir) endif() diff --git a/gtsam/CMakeLists.txt b/gtsam/CMakeLists.txt index f66624f67..a80876100 100644 --- a/gtsam/CMakeLists.txt +++ b/gtsam/CMakeLists.txt @@ -21,6 +21,7 @@ add_subdirectory(3rdparty) # build convenience library set (3rdparty_srcs + ${eigen_headers} # Set by 3rdparty/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/CCOLAMD/Source/ccolamd.c ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/CCOLAMD/Source/ccolamd_global.c ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/UFconfig/UFconfig.c)