| # 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() | |