mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
- allows coordgen and maeparser to be built as static libraries (#1909)
This commit is contained in:
committed by
Greg Landrum
parent
833bf6335a
commit
45499c7bca
@@ -273,3 +273,20 @@ function(createExportTestHeaders)
|
||||
overwriteIfChanged("${CMAKE_BINARY_DIR}/${exportPath}" "${CMAKE_SOURCE_DIR}/${exportPath}")
|
||||
overwriteIfChanged("${CMAKE_BINARY_DIR}/${testPath}" "${CMAKE_SOURCE_DIR}/${testPath}")
|
||||
endfunction(createExportTestHeaders)
|
||||
|
||||
function(patchCoordGenMaeExportHeaders keyword path)
|
||||
file(APPEND "${path}"
|
||||
"// appended by CMake patchCoordGenMaeExportHeaders\n"
|
||||
"#if !defined(RDKIT_DYN_LINK) || defined(SWIG)\n"
|
||||
"#ifdef EXPORT_${keyword}\n"
|
||||
"#undef EXPORT_${keyword}\n"
|
||||
"#endif\n"
|
||||
"#define EXPORT_${keyword}\n"
|
||||
"#endif\n"
|
||||
"#ifndef SWIG\n"
|
||||
"#ifdef _MSC_VER\n"
|
||||
"#pragma warning(disable:4251)\n"
|
||||
"#pragma warning(disable:4275)\n"
|
||||
"#endif\n"
|
||||
"#endif\n")
|
||||
endfunction(patchCoordGenMaeExportHeaders)
|
||||
|
||||
11
External/CoordGen/CMakeLists.txt
vendored
11
External/CoordGen/CMakeLists.txt
vendored
@@ -1,6 +1,9 @@
|
||||
add_custom_target(coordgen_support ALL)
|
||||
|
||||
if(RDK_BUILD_COORDGEN_SUPPORT)
|
||||
add_definitions(-DIN_MAEPARSER)
|
||||
add_definitions(-DIN_COORDGEN)
|
||||
include(RDKitUtils)
|
||||
if(NOT DEFINED MAEPARSER_DIR)
|
||||
set(MAEPARSER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/maeparser")
|
||||
endif()
|
||||
@@ -13,15 +16,13 @@ if(RDK_BUILD_COORDGEN_SUPPORT)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/master.tar.gz
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
file(RENAME "maeparser-${RELEASE_NO}" "${MAEPARSER_DIR}")
|
||||
patchCoordGenMaeExportHeaders("MAEPARSER" "${MAEPARSER_DIR}/MaeParserConfig.hpp")
|
||||
else()
|
||||
message("-- Found MAEParser source in ${MAEPARSER_DIR}")
|
||||
endif()
|
||||
|
||||
file(GLOB MAESOURCES "${MAEPARSER_DIR}/*.cpp")
|
||||
rdkit_library(maeparser ${MAESOURCES} SHARED )
|
||||
if((MSVC AND RDK_INSTALL_DLLS_MSVC) OR ((NOT MSVC) AND WIN32))
|
||||
set_target_properties(maeparser PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
endif()
|
||||
install(TARGETS maeparser DESTINATION ${RDKit_LibDir})
|
||||
|
||||
if(NOT DEFINED COORDGEN_DIR)
|
||||
@@ -37,15 +38,13 @@ if(RDK_BUILD_COORDGEN_SUPPORT)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/master.tar.gz
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
file(RENAME "coordgenlibs-${RELEASE_NO}" "${COORDGEN_DIR}")
|
||||
patchCoordGenMaeExportHeaders("COORDGEN" "${COORDGEN_DIR}/CoordgenConfig.hpp")
|
||||
else()
|
||||
message("-- Found coordgenlibs source in ${COORDGEN_DIR}")
|
||||
endif()
|
||||
|
||||
file(GLOB CGSOURCES "${COORDGEN_DIR}/*.cpp")
|
||||
rdkit_library(coordgenlib ${CGSOURCES} SHARED LINK_LIBRARIES maeparser)
|
||||
if((MSVC AND RDK_INSTALL_DLLS_MSVC) OR ((NOT MSVC) AND WIN32))
|
||||
set_target_properties(coordgenlib PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
endif()
|
||||
install(TARGETS coordgenlib DESTINATION ${RDKit_LibDir})
|
||||
|
||||
set(MAE_FILES ${COORDGEN_DIR}/templates.mae )
|
||||
|
||||
Reference in New Issue
Block a user