# # Testing # ENABLE_TESTING() # INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../FindOpenCL.cmake) INCLUDE_DIRECTORIES(${OPENCL_INCLUDE_DIR}) SET(OPENMM_BUILD_OPENCL_DOUBLE_PRECISION_TESTS TRUE CACHE BOOL "Whether to build double precision versions of OpenCL test cases") set(OPENCL_TEST_PLATFORM_INDEX -1 CACHE STRING "OpenCL platform index used for running OpenCL test cases. The default, -1, selects the fastest platform") set(OPENCL_TEST_DEVICE_INDEX -1 CACHE STRING "OpenCL device index used for running OpenCL test cases. The default, -1, selects the fastest device") MARK_AS_ADVANCED(OPENCL_TEST_PLATFORM_INDEX) MARK_AS_ADVANCED(OPENCL_TEST_DEVICE_INDEX) 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 ) # Automatically create tests using files named "Test*.cpp" FILE(GLOB TEST_PROGS "*Test*.cpp") FOREACH(TEST_PROG ${TEST_PROGS}) GET_FILENAME_COMPONENT(TEST_ROOT ${TEST_PROG} NAME_WE) # Link with shared library ADD_EXECUTABLE(${TEST_ROOT} ${TEST_PROG}) TARGET_LINK_LIBRARIES(${TEST_ROOT} ${SHARED_TARGET}) SET_TARGET_PROPERTIES(${TEST_ROOT} PROPERTIES LINK_FLAGS "${EXTRA_LINK_FLAGS}" COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS}") ADD_TEST(${TEST_ROOT}Single ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} single ${OPENCL_TEST_PLATFORM_INDEX} ${OPENCL_TEST_DEVICE_INDEX}) IF (OPENMM_BUILD_OPENCL_DOUBLE_PRECISION_TESTS) ADD_TEST(${TEST_ROOT}Mixed ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} mixed ${OPENCL_TEST_PLATFORM_INDEX} ${OPENCL_TEST_DEVICE_INDEX}) ADD_TEST(${TEST_ROOT}Double ${EXECUTABLE_OUTPUT_PATH}/${TEST_ROOT} double ${OPENCL_TEST_PLATFORM_INDEX} ${OPENCL_TEST_DEVICE_INDEX}) ENDIF(OPENMM_BUILD_OPENCL_DOUBLE_PRECISION_TESTS) # Link with static library # SET(TEST_STATIC ${TEST_ROOT}Static) # 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}) ENDFOREACH(TEST_PROG ${TEST_PROGS})