File: CMakeLists.txt

package info (click to toggle)
rdkit 202503.6-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 222,000 kB
  • sloc: cpp: 411,111; python: 78,482; ansic: 26,181; java: 8,285; javascript: 4,404; sql: 2,393; yacc: 1,626; lex: 1,267; cs: 1,090; makefile: 581; xml: 229; fortran: 183; sh: 121
file content (60 lines) | stat: -rw-r--r-- 2,032 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
if(NOT RDK_BUILD_YAEHMOP_SUPPORT)
  return()
endif(NOT RDK_BUILD_YAEHMOP_SUPPORT)

add_definitions(-DRDK_BUILD_YAEHMOP_SUPPORT)

if(NOT DEFINED YAEHMOP_DIR)
  set(YAEHMOP_DIR "${CMAKE_CURRENT_SOURCE_DIR}/yaehmop")
endif()

if(NOT EXISTS "${YAEHMOP_DIR}/tightbind/bind.h")
    set(RELEASE_NO "2025.03.1")
    set(MD5 "93b7c8d9419b4899b44699cba3e23404")
    downloadAndCheckMD5("https://github.com/greglandrum/yaehmop/archive/refs/tags/v${RELEASE_NO}.tar.gz"
          "${CMAKE_CURRENT_SOURCE_DIR}/yaehmop-${RELEASE_NO}.tar.gz" ${MD5})
    execute_process(COMMAND ${CMAKE_COMMAND} -E tar zxf
      ${CMAKE_CURRENT_SOURCE_DIR}/yaehmop-${RELEASE_NO}.tar.gz
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

    file(RENAME "yaehmop-${RELEASE_NO}" "${YAEHMOP_DIR}")
else()
  message("-- Found YAeHMOP source in ${YAEHMOP_DIR}")
endif()

set(yaehmop_INCLUDE_DIRS ${YAEHMOP_DIR}/..
     CACHE STRING "yaehmop Include File" FORCE)
include_directories(${yaehmop_INCLUDE_DIRS})

if(CMAKE_COMPILER_IS_GNUCXX AND NOT CYGWIN)
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()

# bring in the eHT code, but skip the targets (we'll get yaehmop_eht anyway because it's a dependency)
add_subdirectory(yaehmop/tightbind EXCLUDE_FROM_ALL True)

# set install dir for the yaehmop library:
INSTALL(TARGETS yaehmop_eht EXPORT rdkit-targets
        DESTINATION ${RDKit_LibDir}/${RDKLIB_DEST}
        COMPONENT runtime )




set(EHT_PARAM_FILE ${CMAKE_CURRENT_SOURCE_DIR}/yaehmop/tightbind/eht_parms.dat )
install(FILES ${EHT_PARAM_FILE}
        DESTINATION ${RDKit_ShareDir}/Data
        COMPONENT data)

rdkit_library(EHTLib EHTTools.cpp SHARED LINK_LIBRARIES yaehmop_eht GraphMol )
target_compile_definitions(EHTLib PRIVATE RDKIT_EHTLIB_BUILD)
rdkit_headers(EHTTools.h DEST GraphMol)
rdkit_catch_test(testEHTLib1 test1.cpp
           LINK_LIBRARIES EHTLib FileParsers SmilesParse )

if(RDK_BUILD_PYTHON_WRAPPERS)
add_subdirectory(Wrap)
endif()