# Source CMakeLists.txt cmake_minimum_required(VERSION 3.18) # BOINC integration library add_library(docking_boinc SHARED boinc/boinc_wrapper.cpp ) target_link_libraries(docking_boinc PRIVATE external_deps PUBLIC ${CMAKE_THREAD_LIBS_INIT} ) target_include_directories(docking_boinc PUBLIC ${CMAKE_SOURCE_DIR}/include ) # AutoDock GPU library if(BUILD_WITH_CUDA) add_library(docking_autodock SHARED autodock/autodock_gpu.cu ) target_link_libraries(docking_autodock PRIVATE external_deps PUBLIC ${CUDA_LIBRARIES} ) target_include_directories(docking_autodock PUBLIC ${CMAKE_SOURCE_DIR}/include PUBLIC ${CUDA_INCLUDE_DIRS} ) set_target_properties(docking_autodock PROPERTIES CUDA_SEPARABLE_COMPILATION ON CUDA_RESOLVE_DEVICE_SYMBOLS ON ) endif() # Main application add_executable(docking_at_home main.cpp ) target_link_libraries(docking_at_home PRIVATE docking_boinc PRIVATE docking_autodock ) # Python bindings add_subdirectory(python) # Installation install(TARGETS docking_at_home docking_boinc RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) if(BUILD_WITH_CUDA) install(TARGETS docking_autodock LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) endif()