Advertisement
Guest User

Untitled

a guest
Jun 16th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 5.16 KB | None | 0 0
  1. ---- CMakeLists.txt ----
  2.  
  3.  
  4. PROJECT(GPUCluster)
  5. CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
  6.  
  7. # Define what to build here
  8. OPTION(OPTION_CLIENT "Build the client software?" TRUE)
  9. IF(OPTION_CLIENT)
  10.     OPTION(USE_CUDA "Build cuda version of client?" TRUE)
  11. ENDIF(OPTION_CLIENT)
  12. OPTION(USE_BOINC "Build BOINC versions of the software" TRUE)
  13. IF(USE_BOINC)
  14.     OPTION(OPTION_BOINC_SERVER "Build BOINC Server application" TRUE)
  15. ENDIF(USE_BOINC)
  16.  
  17. # Version Numbers
  18. SET(GPUCluster_VERSION_MAJOR 0)
  19. SET(GPUCluster_VERSION_MINOR 1)
  20.  
  21. SET(GPUCluster_SERVER_VERSION_MAJOR 0)
  22. SET(GPUCluster_SERVER_VERSION_MINOR 1)
  23.  
  24. # Build script starts here
  25. SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin")
  26.  
  27. CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/src/GPUClusterConfig.h.in" "${PROJECT_BINARY_DIR}/GPUClusterConfig.h")
  28. INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}")
  29. INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/src")
  30. INCLUDE_DIRECTORIES("C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Include C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\include")
  31. SET(SRC_PATH "${PROJECT_SOURCE_DIR}/src")
  32.  
  33. IF(USE_CUDA)
  34.     #SET(CUDA_64_BIT_DEVICE_CODE FALSE)
  35.     SET(CUDA_NVCC_FLAGS "-arch=compute_13")
  36.     SET(CUDA_NVCC_FLAGS_DEBUG "-g;-G")
  37.     FIND_PACKAGE(CUDA)
  38.     IF(NOT CUDA_FOUND)
  39.         MESSAGE("CUDA COULD NOT BE FOUND!")
  40.         SET(USE_CUDA FALSE)
  41.     ENDIF(NOT CUDA_FOUND)
  42.     #SET(CUDA_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS};${CUDA_SDK_ROOT_DIR}/common/inc)
  43.     INCLUDE_DIRECTORIES( ${CUDA_SDK_ROOT_DIR}/common/inc )
  44. ENDIF(USE_CUDA)
  45.  
  46. SET(Boost_USE_STATIC_LIBS ON)
  47. SET(Boost_USE_MULTITHREADED ON)
  48. SET(Boost_ADDITIONAL_VERSIONS "1.42" "1.42.0" "1.43" "1.43.0" "1.44" "1.44.0")
  49. FIND_PACKAGE(Boost COMPONENTS program_options thread REQUIRED)
  50. #FIND_PACKAGE(Boost REQUIRED)
  51. INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
  52. LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
  53. #SET(GENERAL_LIBS ${Boost_LIBRARIES})
  54. SET(GENERAL_LIBS "")
  55. IF(WIN32)
  56.     ADD_DEFINITIONS(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
  57. ENDIF(WIN32)
  58.  
  59. SET(CLIENT_LIBS ${GENERAL_LIBS})
  60. SET(SERVER_LIBS ${GENERAL_LIBS})
  61. IF(USE_CUDA)
  62.     SET(CLIENT_LIBS ${CLIENT_LIBS} ${CUDA_LIBRARIES})
  63.     IF(WIN32)
  64.         SET(CLIENT_LIBS ${CLIENT_LIBS} ${CUDA_SDK_ROOT_DIR}/common/lib/cutil32.lib)
  65.     ELSE(WIN32)
  66.         SET(CLIENT_LIBS ${CLIENT_LIBS} ${CUDA_SDK_ROOT_DIR}/lib/libcutil_x86_64.a)
  67.     ENDIF(WIN32)
  68.     INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
  69. ENDIF(USE_CUDA)
  70.  
  71. # Include BOINC and BOINC LIBRARIES
  72. IF(USE_BOINC)
  73.     #LINK_DIRECTORIES("${PROJECT_SOURCE_DIR}/deps/boinc/bin")
  74.     INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/deps/boinc/api" "${PROJECT_SOURCE_DIR}/deps/boinc/lib" "${PROJECT_SOURCE_DIR}/deps/boinc/bin")
  75.     #FIND_LIBRARY(BOINC_LIBRARY NAMES boinc libboinc PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin" NO_DEFAULT_PATH)
  76.     FIND_LIBRARY(BOINC_LIBRARY NAMES boinc libboinc PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin")
  77.     #FIND_LIBRARY(BOINC_API_LIBRARY NAMES boinc_api libboincapi_staticcrt PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin" NO_DEFAULT_PATH)
  78.     FIND_LIBRARY(BOINC_API_LIBRARY NAMES boinc_api libboincapi_staticcrt PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin")
  79.     IF(NOT BOINC_LIBRARY)
  80.         MESSAGE(FATAL_ERROR "Boinc library not found!")
  81.     ENDIF(NOT BOINC_LIBRARY)
  82.     IF(NOT BOINC_API_LIBRARY)
  83.         MESSAGE(FATAL_ERROR "Boinc API library not found!")
  84.     ENDIF(NOT BOINC_API_LIBRARY)
  85.     SET(CLIENT_LIBS ${CLIENT_LIBS} ${BOINC_LIBRARY} ${BOINC_API_LIBRARY})
  86. ENDIF(USE_BOINC)
  87.  
  88. # Message Output
  89. MESSAGE("Options:")
  90. MESSAGE("  OPTION_CLIENT: ${OPTION_CLIENT}")
  91. MESSAGE("  USE_CUDA: ${USE_CUDA}")
  92. MESSAGE("  USE_BOINC: ${USE_BOINC}")
  93. MESSAGE("  OPTION_BOINC_SERVER: ${OPTION_BOINC_SERVER}")
  94.  
  95. MESSAGE("Boost information:")
  96. MESSAGE("  Boost_LIB_VERSION: ${Boost_LIB_VERSION}")
  97. MESSAGE("  Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
  98. MESSAGE("  Boost_LIBRARIES: ${Boost_LIBRARIES}")
  99. MESSAGE("  Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
  100.  
  101. IF(USE_BOINC)
  102.     MESSAGE("BOINC Information:")
  103.     MESSAGE("  BOINC_API_LIBRARY: ${BOINC_API_LIBRARY}")
  104.     MESSAGE("  BOINC_LIBRARY: ${BOINC_LIBRARY}")
  105. ENDIF(USE_BOINC)
  106.  
  107. IF(USE_CUDA)
  108.     MESSAGE("CUDA Information:")
  109.     MESSAGE("  CUDA_VERSION: ${CUDA_VERSION_STRING}")
  110.     MESSAGE("  CUDA_INCLUDE_DIRS: ${CUDA_INCLUDE_DIRS}")
  111.     MESSAGE("  CUDA_LIBRARIES: ${CUDA_LIBRARIES}")
  112.     MESSAGE("  CUDA_SDK_ROOT_DIR: ${CUDA_SDK_ROOT_DIR}")
  113. ENDIF(USE_CUDA)
  114.  
  115. MESSAGE("CLIENT_LIBS: ${Boost_LIBRARIES}")
  116.  
  117. ADD_SUBDIRECTORY(src)
  118.  
  119.  
  120. ---- src/CMakeLists.txt ----
  121.  
  122.  
  123.  
  124.  
  125. IF(OPTION_CLIENT)
  126.     # Define Source files
  127.     SET(CLIENT_SOURCES main.cpp gpucluster_io.cpp GPUCluster.h GPUCluster.cpp gpucluster_common.h sequence.h sequence.cpp gpucluster_threads.cpp gpucluster_threads.h gpucluster_d2.cpp gpucluster_d2.h)
  128.     SET(CUDA_SOURCES cuda/textsearch.cu gpucluster_cuda.h cuda_util.cpp)
  129.     SET(BOINC_SOURCES gpucluster_boinc.h gpucluster_boinc.cpp)
  130.    
  131.     IF(USE_BOINC)
  132.         SET(CLIENT_SOURCES ${CLIENT_SOURCES} ${BOINC_SOURCES})
  133.     ENDIF(USE_BOINC)
  134.    
  135.     IF(USE_CUDA)
  136.         CUDA_ADD_EXECUTABLE(gpucluster ${CLIENT_SOURCES} ${CUDA_SOURCES})
  137.     ELSE(USE_CUDA)
  138.         ADD_EXECUTABLE(gpucluster ${CLIENT_SOURCES})
  139.     ENDIF(USE_CUDA)
  140.     TARGET_LINK_LIBRARIES(gpucluster ${CLIENT_LIBS} ${Boost_LIBRARIES})
  141. ENDIF(OPTION_CLIENT)
  142.  
  143. IF(OPTION_BOINC_SERVER)
  144.     #ADD_SUBDIRECTORY(servertools)
  145. ENDIF(OPTION_BOINC_SERVER)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement