This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
View | Details | Raw Unified | Return to bug 1072 | Differences between
and this patch

Collapse All | Expand All

(-)a/CMakeLists.txt (-19 / +34 lines)
Lines 87-105 endif() Link Here
87
87
88
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
88
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
89
  message(STATUS "Standard libraries to link to explicitly: ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}")
89
  message(STATUS "Standard libraries to link to explicitly: ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}")
90
else()
90
else()
91
  message(STATUS "Standard libraries to link to explicitly: none")
91
  message(STATUS "Standard libraries to link to explicitly: none")
92
endif()
92
endif()
93
93
94
option(EIGEN_BUILD_BTL "Build benchmark suite" OFF)
94
option(EIGEN_BUILD_BTL "Build benchmark suite" OFF)
95
if(NOT WIN32)
95
96
  option(EIGEN_BUILD_PKGCONFIG "Build pkg-config .pc file for Eigen" ON)
96
find_package(PkgConfig)
97
endif(NOT WIN32)
97
option(EIGEN_INSTALL_PKGCONFIG "Install pkg-config .pc file for Eigen" ${PKG_CONFIG_FOUND})
98
98
99
set(CMAKE_INCLUDE_CURRENT_DIR ON)
99
set(CMAKE_INCLUDE_CURRENT_DIR ON)
100
100
101
option(EIGEN_SPLIT_LARGE_TESTS "Split large tests into smaller executables" ON)
101
option(EIGEN_SPLIT_LARGE_TESTS "Split large tests into smaller executables" ON)
102
102
103
option(EIGEN_DEFAULT_TO_ROW_MAJOR "Use row-major as default matrix storage order" OFF)
103
option(EIGEN_DEFAULT_TO_ROW_MAJOR "Use row-major as default matrix storage order" OFF)
104
if(EIGEN_DEFAULT_TO_ROW_MAJOR)
104
if(EIGEN_DEFAULT_TO_ROW_MAJOR)
105
  add_definitions("-DEIGEN_DEFAULT_TO_ROW_MAJOR")
105
  add_definitions("-DEIGEN_DEFAULT_TO_ROW_MAJOR")
Lines 371-404 macro(ei_add_target_property target prop Link Here
371
  set_target_properties(${target} PROPERTIES ${prop} "${previous} ${value}")
371
  set_target_properties(${target} PROPERTIES ${prop} "${previous} ${value}")
372
endmacro(ei_add_target_property)
372
endmacro(ei_add_target_property)
373
373
374
install(FILES
374
install(FILES
375
  signature_of_eigen3_matrix_library
375
  signature_of_eigen3_matrix_library
376
  DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
376
  DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
377
  )
377
  )
378
378
379
if(EIGEN_BUILD_PKGCONFIG)
379
if(EIGEN_INSTALL_PKGCONFIG)
380
    SET(path_separator ":")
380
    if(NOT DEFINED EIGEN_INSTALL_PKGCONFIG_DIR)
381
    STRING(REPLACE ${path_separator} ";" pkg_config_libdir_search "$ENV{PKG_CONFIG_LIBDIR}")
381
382
    message(STATUS "searching for 'pkgconfig' directory in PKG_CONFIG_LIBDIR ( $ENV{PKG_CONFIG_LIBDIR} ), ${CMAKE_INSTALL_PREFIX}/share, and ${CMAKE_INSTALL_PREFIX}/lib")
382
      if(PKG_CONFIG_FOUND AND NOT DEFINED CMAKE_INSTALL_PREFIX)
383
    FIND_PATH(pkg_config_libdir pkgconfig ${pkg_config_libdir_search} ${CMAKE_INSTALL_PREFIX}/share ${CMAKE_INSTALL_PREFIX}/lib ${pkg_config_libdir_search})
383
        # For a default system-wide installation, let's try with the default pc_path
384
    if(pkg_config_libdir)
384
        execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} pkg-config --variable=pc_path OUTPUT_VARIABLE pc_path1)
385
        SET(pkg_config_install_dir ${pkg_config_libdir})
385
        string(REGEX MATCH "^([^:]*).*" pc_path2 ${pc_path1})
386
        message(STATUS "found ${pkg_config_libdir}/pkgconfig" )
386
        if(CMAKE_MATCH_1)
387
    else(pkg_config_libdir)
387
          set(eigen_install_pkg_config_dir1 ${CMAKE_MATCH_1})
388
        SET(pkg_config_install_dir ${CMAKE_INSTALL_PREFIX}/share)
388
        endif()
389
        message(STATUS "pkgconfig not found; installing in ${pkg_config_install_dir}" )
389
      endif()
390
    endif(pkg_config_libdir)
390
391
      if(NOT DEFINED eigen_install_pkg_config_dir1)
392
        message(STATUS "searching for 'pkgconfig' directory in ${CMAKE_INSTALL_PREFIX}/lib, and ${CMAKE_INSTALL_PREFIX}/share")
393
        find_path(eigen_install_pkg_config_dir2 pkgconfig ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/share)
394
        if(eigen_install_pkg_config_dir2)
395
          set(eigen_install_pkg_config_dir1 "${eigen_install_pkg_config_dir2}/pkgconfig")
396
        endif()
397
      endif()
398
399
      if(eigen_install_pkg_config_dir1)
400
        message(STATUS "found ${eigen_install_pkg_config_dir1}")
401
      else()
402
        set(eigen_install_pkg_config_dir1 ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
403
      endif()
404
405
      set(EIGEN_INSTALL_PKGCONFIG_DIR ${eigen_install_pkg_config_dir1} CACHE PATH "Installation path for .pc files.")
406
407
    endif(NOT DEFINED EIGEN_INSTALL_PKGCONFIG_DIR)
391
408
392
    configure_file(eigen3.pc.in eigen3.pc)
409
    configure_file(eigen3.pc.in eigen3.pc)
393
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
410
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc DESTINATION ${EIGEN_INSTALL_PKGCONFIG_DIR} )
394
        DESTINATION ${pkg_config_install_dir}/pkgconfig
411
endif(EIGEN_INSTALL_PKGCONFIG)
395
        )
396
endif(EIGEN_BUILD_PKGCONFIG)
397
412
398
add_subdirectory(Eigen)
413
add_subdirectory(Eigen)
399
414
400
add_subdirectory(doc EXCLUDE_FROM_ALL)
415
add_subdirectory(doc EXCLUDE_FROM_ALL)
401
416
402
include(EigenConfigureTesting)
417
include(EigenConfigureTesting)
403
418
404
# fixme, not sure this line is still needed:
419
# fixme, not sure this line is still needed:

Return to bug 1072