CMakeLists.txt 3.71 KB
Newer Older
1
2
3
4
5
6
#
# Testing
#

ENABLE_TESTING()

7
# INCLUDE(${CMAKE_SOURCE_DIR}/platforms/cuda/cuda-cmake/FindCuda.cmake)
8
9
INCLUDE_DIRECTORIES(${CUDA_INCLUDE})

10
11
12
13
14
15
16
17
18
SET( INCLUDE_SERIALIZATION FALSE )
#SET( INCLUDE_SERIALIZATION TRUE )

IF( INCLUDE_SERIALIZATION )
    INCLUDE_DIRECTORIES(${OPENMM_DIR}/serialization/include)
    SET( SHARED_OPENMM_SERIALIZATION OpenMMSerialization )
ENDIF( INCLUDE_SERIALIZATION )


19
20
# Automatically create tests using files named "Test*.cpp"
FILE(GLOB TEST_PROGS "*Test*.cpp")
21
22
23
24
25
# TestCudaRandom has never worked on windows, so let's stop polluting the dashboard with it.
IF (${CMAKE_GENERATOR} MATCHES "Visual Studio")
    FILE(GLOB TEST_CUDA_RANDOM_PROG "*TestCudaRandom.cpp")
    LIST(REMOVE_ITEM TEST_PROGS "${TEST_CUDA_RANDOM_PROG}")
ENDIF (${CMAKE_GENERATOR} MATCHES "Visual Studio")
26

27
28
29
30
FOREACH(TEST_PROG ${TEST_PROGS})
    GET_FILENAME_COMPONENT(TEST_ROOT ${TEST_PROG} NAME_WE)

    # Link with shared library
31
    CUDA_ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG})
32
    TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_TARGET})
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

    IF( ${TEST_ROOT} STREQUAL "TestCudaGBVIForce2" )
    
        # serialize

        SET(DEFINE_STRING "-DTEST_PLATFORM=0 ")
        IF( INCLUDE_SERIALIZATION )
            SET(DEFINE_STRING "${DEFINE_STRING} -DOPENMM_SERIALIZE ")
            SET(TARGET_LINK_LIBRARIES_STRING "${SHARED_TARGET} ${SHARED_OPENMM_SERIALIZATION}")
        ELSE( INCLUDE_SERIALIZATION )
            SET(TARGET_LINK_LIBRARIES_STRING "${SHARED_TARGET}")
        ENDIF( INCLUDE_SERIALIZATION )
    
        # obc

        SET(OBC_DEFINE_STRING "${DEFINE_STRING} -DIMPLICIT_SOLVENT=1")
        SET(OBC_TEST "TestCudaOBCForce2")
        CUDA_ADD_EXECUTABLE(${OBC_TEST} ${TEST_PROG})

        IF( INCLUDE_SERIALIZATION )
            TARGET_LINK_LIBRARIES(${OBC_TEST} ${SHARED_TARGET} ${SHARED_OPENMM_SERIALIZATION} )
        ELSE( INCLUDE_SERIALIZATION )
            TARGET_LINK_LIBRARIES(${OBC_TEST} ${SHARED_TARGET})
        ENDIF( INCLUDE_SERIALIZATION )
        SET_TARGET_PROPERTIES(${OBC_TEST} PROPERTIES COMPILE_FLAGS ${OBC_DEFINE_STRING} )
        ADD_TEST(${OBC_TEST} ${EXECUTABLE_OUTPUT_PATH}/${OBC_TEST})

        # nonbond

        SET(NONBOND_DEFINE_STRING "${DEFINE_STRING} -DIMPLICIT_SOLVENT=0")
        SET(NONBOND_TEST "TestCudaNonbondForce2")
        CUDA_ADD_EXECUTABLE(${NONBOND_TEST} ${TEST_PROG})

        IF( INCLUDE_SERIALIZATION )
            TARGET_LINK_LIBRARIES(${NONBOND_TEST} ${SHARED_TARGET} ${SHARED_OPENMM_SERIALIZATION} )
        ELSE( INCLUDE_SERIALIZATION )
            TARGET_LINK_LIBRARIES(${NONBOND_TEST} ${SHARED_TARGET})
        ENDIF( INCLUDE_SERIALIZATION )
        SET_TARGET_PROPERTIES(${NONBOND_TEST} PROPERTIES COMPILE_FLAGS ${NONBOND_DEFINE_STRING} )
        ADD_TEST(${NONBOND_TEST} ${EXECUTABLE_OUTPUT_PATH}/${NONBOND_TEST})

        # gbvi

        SET(DEFINE_STRING "${DEFINE_STRING} -DIMPLICIT_SOLVENT=2")
        SET_TARGET_PROPERTIES(${TEST_ROOT} PROPERTIES COMPILE_FLAGS ${DEFINE_STRING} )

    ENDIF( ${TEST_ROOT} STREQUAL "TestCudaGBVIForce2" )

    #MESSAGE( "vcm ${TEST_ROOT} ${DEFINE_STRING}" )

83
84
85
    ADD_TEST(${TEST_ROOT} ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT})

    # Link with static library
86
87
88
89
90
91
92
93
#     SET(TEST_STATIC ${TEST_ROOT}Static)
#     CUDA_ADD_EXECUTABLE(${TEST_STATIC} ${TEST_PROG})
#     SET_TARGET_PROPERTIES(${TEST_STATIC}
#                 PROPERTIES
#                 COMPILE_FLAGS "-DOPENMM_USE_STATIC_LIBRARIES"
#                 )
#     TARGET_LINK_LIBRARIES(${TEST_STATIC} ${STATIC_TARGET})
#     ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC})
94
95
96

ENDFOREACH(TEST_PROG ${TEST_PROGS})

97
98
99
100
101
SET(TEST_PROG TstCudaUsingParameterFile.cpp)
SET(TEST_STATIC ${TEST_ROOT}Static)
SET(INCLUDE_CUDA_STATIC 1)
#ENDIF(INCLUDE_CUDA_STATIC)

102
103
install(TARGETS TestCudaHarmonicBondForce
    RUNTIME DESTINATION bin)
104