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: |