mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
Add Eigen to ExternalProject and automatically download if RDK_BUILD_DESCRIPTORS3D (#3075)
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -60,6 +60,7 @@ __pycache__/
|
||||
/External/catch/catch/
|
||||
/External/CoordGen/coordgen/
|
||||
/External/CoordGen/maeparser/
|
||||
/External/Eigen/eigen/
|
||||
/External/FreeSASA/freesasa-2.0.1/
|
||||
/External/INCHI-API/INCHI-1-SRC/
|
||||
/External/INCHI-API/src/
|
||||
|
||||
@@ -380,20 +380,18 @@ endif(RDK_BUILD_PYTHON_WRAPPERS)
|
||||
string(REGEX MATCH "clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER}")
|
||||
|
||||
find_package(Eigen3)
|
||||
if(EIGEN3_FOUND)
|
||||
if(RDK_BUILD_DESCRIPTORS3D)
|
||||
if(NOT EIGEN3_FOUND)
|
||||
add_subdirectory(External/Eigen)
|
||||
endif()
|
||||
target_compile_definitions(rdkit_base INTERFACE "-DRDK_BUILD_DESCRIPTORS3D")
|
||||
endif()
|
||||
|
||||
if(TARGET Eigen3::Eigen)
|
||||
target_compile_definitions(rdkit_base INTERFACE "-DRDK_HAS_EIGEN3")
|
||||
target_link_libraries(rdkit_base INTERFACE Eigen3::Eigen)
|
||||
set(RDK_HAS_EIGEN ON)
|
||||
endif(EIGEN3_FOUND)
|
||||
|
||||
if(RDK_BUILD_DESCRIPTORS3D)
|
||||
if(EIGEN3_FOUND)
|
||||
target_compile_definitions(rdkit_base INTERFACE "-DRDK_BUILD_DESCRIPTORS3D")
|
||||
else(EIGEN3_FOUND)
|
||||
message("Eigen3 not found, some Mol descriptors will not be built.")
|
||||
set(RDK_BUILD_DESCRIPTORS3D OFF)
|
||||
endif(EIGEN3_FOUND)
|
||||
endif(RDK_BUILD_DESCRIPTORS3D)
|
||||
endif()
|
||||
|
||||
if(RDK_BUILD_THREADSAFE_SSS)
|
||||
find_package (Threads)
|
||||
|
||||
17
External/Eigen/CMakeLists.txt
vendored
Normal file
17
External/Eigen/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
include(ExternalProject)
|
||||
set(EIGEN3_VERSION "3.3.9")
|
||||
set(EIGEN3_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/eigen)
|
||||
ExternalProject_Add(Eigen
|
||||
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
|
||||
GIT_TAG ${EIGEN3_VERSION}
|
||||
GIT_SHALLOW ON
|
||||
SOURCE_DIR ${EIGEN3_INCLUDE_DIR}
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
|
||||
add_library(Eigen3::Eigen INTERFACE IMPORTED GLOBAL)
|
||||
set_target_properties(Eigen3::Eigen PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${EIGEN3_INCLUDE_DIR})
|
||||
add_dependencies(Eigen3::Eigen Eigen)
|
||||
Reference in New Issue
Block a user