X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/83cc0e2714415e57b06c1ab26d3e4d9f78b628e7..6b7673abe18e0ec5dd467abe9f6272e707417c22:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 87770205e8..eb7d618a9d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,11 +67,6 @@ endif() set(CMAKE_THREAD_PREFER_PTHREAD TRUE) find_package(Threads) -### Check for Eigen library -find_package (Eigen3 3.3 REQUIRED NO_MODULE) -message(STATUS "Found Eigen3: ${EIGEN3_INCLUDE_DIR}") -include_directories(${EIGEN3_INCLUDE_DIR}) - ### Setup Options include(${CMAKE_HOME_DIRECTORY}/tools/cmake/Option.cmake) @@ -244,6 +239,22 @@ if(enable_ns3) endif() endif() +### Check for Eigen library +set(SIMGRID_HAVE_EIGEN3 0) +find_package (Eigen3 3.3 CONFIG + HINTS ${EIGEN3_HINT}) +if (Eigen3_FOUND) + set(SIMGRID_HAVE_EIGEN3 1) + message(STATUS "Found Eigen3: ${EIGEN3_INCLUDE_DIR}") + include_directories(${EIGEN3_INCLUDE_DIR}) + if ("3.3.4" VERSION_EQUAL EIGEN3_VERSION_STRING AND CMAKE_COMPILER_IS_GNUCC) + message(STATUS "Avoid build error of Eigen3 v3.3.4 using -Wno-error=int-in-bool-context") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=int-in-bool-context") + endif() +else() + message(STATUS "Disabling model BMF because Eigen3 was not found. If it's installed, use EIGEN3_HINT to hint cmake about the location of Eigen3Config.cmake") +endif() + set(SIMGRID_HAVE_MSG 0) if(enable_msg) set(SIMGRID_HAVE_MSG 1) @@ -852,7 +863,7 @@ if(enable_python) string(REGEX REPLACE "^/usr/" "${CMAKE_INSTALL_PREFIX}/" SIMGRID_PYTHON_LIBDIR ${Python3_SITEARCH}) endif("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr") endif() - install(TARGETS python-bindings + install(TARGETS python-bindings LIBRARY DESTINATION "${SIMGRID_PYTHON_LIBDIR}") else() message(FATAL_ERROR "Please install pybind11-dev to build the Python bindings (or disable that option).") @@ -962,6 +973,11 @@ if(pybind11_FOUND) else() message(" Compile Python bindings .....: OFF (disabled, or pybind11 not found)") endif() +if(Eigen3_FOUND) + message(" Eigen3 library ..............: ${EIGEN3_VERSION_STRING} in ${EIGEN3_INCLUDE_DIR}") +else() + message(" Eigen3 library ..............: not found (EIGEN3_HINT='${EIGEN3_HINT}').") +endif() message(" Compile Smpi ................: ${HAVE_SMPI}") message(" Smpi fortran ..............: ${SMPI_FORTRAN}") message(" MPICH3 testsuite ..........: ${enable_smpi_MPICH3_testsuite}")