DockingAtHOME / src /CMakeLists.txt
Mentors4EDU's picture
Upload 42 files
35aaa09 verified
# 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()