Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---- CMakeLists.txt ----
- PROJECT(GPUCluster)
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
- # Define what to build here
- OPTION(OPTION_CLIENT "Build the client software?" TRUE)
- IF(OPTION_CLIENT)
- OPTION(USE_CUDA "Build cuda version of client?" TRUE)
- ENDIF(OPTION_CLIENT)
- OPTION(USE_BOINC "Build BOINC versions of the software" TRUE)
- IF(USE_BOINC)
- OPTION(OPTION_BOINC_SERVER "Build BOINC Server application" TRUE)
- ENDIF(USE_BOINC)
- # Version Numbers
- SET(GPUCluster_VERSION_MAJOR 0)
- SET(GPUCluster_VERSION_MINOR 1)
- SET(GPUCluster_SERVER_VERSION_MAJOR 0)
- SET(GPUCluster_SERVER_VERSION_MINOR 1)
- # Build script starts here
- SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin")
- CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/src/GPUClusterConfig.h.in" "${PROJECT_BINARY_DIR}/GPUClusterConfig.h")
- INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}")
- INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/src")
- INCLUDE_DIRECTORIES("C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Include C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\include")
- SET(SRC_PATH "${PROJECT_SOURCE_DIR}/src")
- IF(USE_CUDA)
- #SET(CUDA_64_BIT_DEVICE_CODE FALSE)
- SET(CUDA_NVCC_FLAGS "-arch=compute_13")
- SET(CUDA_NVCC_FLAGS_DEBUG "-g;-G")
- FIND_PACKAGE(CUDA)
- IF(NOT CUDA_FOUND)
- MESSAGE("CUDA COULD NOT BE FOUND!")
- SET(USE_CUDA FALSE)
- ENDIF(NOT CUDA_FOUND)
- #SET(CUDA_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS};${CUDA_SDK_ROOT_DIR}/common/inc)
- INCLUDE_DIRECTORIES( ${CUDA_SDK_ROOT_DIR}/common/inc )
- ENDIF(USE_CUDA)
- SET(Boost_USE_STATIC_LIBS ON)
- SET(Boost_USE_MULTITHREADED ON)
- SET(Boost_ADDITIONAL_VERSIONS "1.42" "1.42.0" "1.43" "1.43.0" "1.44" "1.44.0")
- FIND_PACKAGE(Boost COMPONENTS program_options thread REQUIRED)
- #FIND_PACKAGE(Boost REQUIRED)
- INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
- LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
- #SET(GENERAL_LIBS ${Boost_LIBRARIES})
- SET(GENERAL_LIBS "")
- IF(WIN32)
- ADD_DEFINITIONS(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
- ENDIF(WIN32)
- SET(CLIENT_LIBS ${GENERAL_LIBS})
- SET(SERVER_LIBS ${GENERAL_LIBS})
- IF(USE_CUDA)
- SET(CLIENT_LIBS ${CLIENT_LIBS} ${CUDA_LIBRARIES})
- IF(WIN32)
- SET(CLIENT_LIBS ${CLIENT_LIBS} ${CUDA_SDK_ROOT_DIR}/common/lib/cutil32.lib)
- ELSE(WIN32)
- SET(CLIENT_LIBS ${CLIENT_LIBS} ${CUDA_SDK_ROOT_DIR}/lib/libcutil_x86_64.a)
- ENDIF(WIN32)
- INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
- ENDIF(USE_CUDA)
- # Include BOINC and BOINC LIBRARIES
- IF(USE_BOINC)
- #LINK_DIRECTORIES("${PROJECT_SOURCE_DIR}/deps/boinc/bin")
- INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/deps/boinc/api" "${PROJECT_SOURCE_DIR}/deps/boinc/lib" "${PROJECT_SOURCE_DIR}/deps/boinc/bin")
- #FIND_LIBRARY(BOINC_LIBRARY NAMES boinc libboinc PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin" NO_DEFAULT_PATH)
- FIND_LIBRARY(BOINC_LIBRARY NAMES boinc libboinc PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin")
- #FIND_LIBRARY(BOINC_API_LIBRARY NAMES boinc_api libboincapi_staticcrt PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin" NO_DEFAULT_PATH)
- FIND_LIBRARY(BOINC_API_LIBRARY NAMES boinc_api libboincapi_staticcrt PATHS "${PROJECT_SOURCE_DIR}/deps/boinc/bin")
- IF(NOT BOINC_LIBRARY)
- MESSAGE(FATAL_ERROR "Boinc library not found!")
- ENDIF(NOT BOINC_LIBRARY)
- IF(NOT BOINC_API_LIBRARY)
- MESSAGE(FATAL_ERROR "Boinc API library not found!")
- ENDIF(NOT BOINC_API_LIBRARY)
- SET(CLIENT_LIBS ${CLIENT_LIBS} ${BOINC_LIBRARY} ${BOINC_API_LIBRARY})
- ENDIF(USE_BOINC)
- # Message Output
- MESSAGE("Options:")
- MESSAGE(" OPTION_CLIENT: ${OPTION_CLIENT}")
- MESSAGE(" USE_CUDA: ${USE_CUDA}")
- MESSAGE(" USE_BOINC: ${USE_BOINC}")
- MESSAGE(" OPTION_BOINC_SERVER: ${OPTION_BOINC_SERVER}")
- MESSAGE("Boost information:")
- MESSAGE(" Boost_LIB_VERSION: ${Boost_LIB_VERSION}")
- MESSAGE(" Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
- MESSAGE(" Boost_LIBRARIES: ${Boost_LIBRARIES}")
- MESSAGE(" Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
- IF(USE_BOINC)
- MESSAGE("BOINC Information:")
- MESSAGE(" BOINC_API_LIBRARY: ${BOINC_API_LIBRARY}")
- MESSAGE(" BOINC_LIBRARY: ${BOINC_LIBRARY}")
- ENDIF(USE_BOINC)
- IF(USE_CUDA)
- MESSAGE("CUDA Information:")
- MESSAGE(" CUDA_VERSION: ${CUDA_VERSION_STRING}")
- MESSAGE(" CUDA_INCLUDE_DIRS: ${CUDA_INCLUDE_DIRS}")
- MESSAGE(" CUDA_LIBRARIES: ${CUDA_LIBRARIES}")
- MESSAGE(" CUDA_SDK_ROOT_DIR: ${CUDA_SDK_ROOT_DIR}")
- ENDIF(USE_CUDA)
- MESSAGE("CLIENT_LIBS: ${Boost_LIBRARIES}")
- ADD_SUBDIRECTORY(src)
- ---- src/CMakeLists.txt ----
- IF(OPTION_CLIENT)
- # Define Source files
- 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)
- SET(CUDA_SOURCES cuda/textsearch.cu gpucluster_cuda.h cuda_util.cpp)
- SET(BOINC_SOURCES gpucluster_boinc.h gpucluster_boinc.cpp)
- IF(USE_BOINC)
- SET(CLIENT_SOURCES ${CLIENT_SOURCES} ${BOINC_SOURCES})
- ENDIF(USE_BOINC)
- IF(USE_CUDA)
- CUDA_ADD_EXECUTABLE(gpucluster ${CLIENT_SOURCES} ${CUDA_SOURCES})
- ELSE(USE_CUDA)
- ADD_EXECUTABLE(gpucluster ${CLIENT_SOURCES})
- ENDIF(USE_CUDA)
- TARGET_LINK_LIBRARIES(gpucluster ${CLIENT_LIBS} ${Boost_LIBRARIES})
- ENDIF(OPTION_CLIENT)
- IF(OPTION_BOINC_SERVER)
- #ADD_SUBDIRECTORY(servertools)
- ENDIF(OPTION_BOINC_SERVER)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement