diff --git a/Modules/ThirdParty/Eigen3/CMakeLists.txt b/Modules/ThirdParty/Eigen3/CMakeLists.txt index 794c615be55..acd29f41a42 100644 --- a/Modules/ThirdParty/Eigen3/CMakeLists.txt +++ b/Modules/ThirdParty/Eigen3/CMakeLists.txt @@ -55,7 +55,18 @@ if(ITK_USE_SYSTEM_EIGEN) ) else() set(ITKEigen3_LIBRARIES eigen_internal) - set(ITKEigen3_INCLUDE_DIRS ${ITKEigen3_SOURCE_DIR}/src) + # Two include directories are required so both ITK's own + # ITK_EIGEN(X) macro convention and the upstream + # Eigen convention resolve. ITK code rooted at + # ${ITKEigen3_SOURCE_DIR}/src uses the macro form; external + # consumers (proxTV, anything else that includes Eigen the + # standard way) need the parent of , which is + # ${ITKEigen3_SOURCE_DIR}/src/itkeigen. + set( + ITKEigen3_INCLUDE_DIRS + ${ITKEigen3_SOURCE_DIR}/src + ${ITKEigen3_SOURCE_DIR}/src/itkeigen + ) endif() # For the generated itk_eigen.h