cmake_minimum_required(VERSION 3.18) project(DockingAtHOME VERSION 1.0.0 LANGUAGES CXX CUDA) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CUDA_STANDARD 14) # Options option(BUILD_WITH_CUDA "Build with CUDA support" ON) option(BUILD_BOINC_CLIENT "Build BOINC client integration" ON) option(BUILD_TESTS "Build test suite" ON) option(BUILD_EXAMPLES "Build example programs" ON) # Find required packages find_package(CUDA REQUIRED) find_package(Threads REQUIRED) find_package(OpenSSL REQUIRED) # Include directories include_directories( ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/external/autodock/src ${CMAKE_SOURCE_DIR}/external/cudpp/include ${CMAKE_SOURCE_DIR}/external/boinc/lib ${CUDA_INCLUDE_DIRS} ) # Subdirectories add_subdirectory(external) add_subdirectory(src) add_subdirectory(python) if(BUILD_TESTS) enable_testing() add_subdirectory(tests) endif() if(BUILD_EXAMPLES) add_subdirectory(examples) endif() # Installation install(DIRECTORY include/ DESTINATION include/docking-at-home) install(DIRECTORY config/ DESTINATION etc/docking-at-home) install(FILES README.md LICENSE DESTINATION share/doc/docking-at-home) # Package configuration set(CPACK_PACKAGE_NAME "DockingAtHOME") set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Distributed Molecular Docking Platform") set(CPACK_PACKAGE_VENDOR "OpenPeer AI, Riemann Computing Inc., Bleunomics") include(CPack)