# # Include OpenCL related files. # # INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../FindOpenCL.cmake) INCLUDE_DIRECTORIES(${OPENCL_INCLUDE_DIR}) FILE(GLOB OPENCL_KERNELS ${CL_SOURCE_DIR}/kernels/*.cl) ADD_CUSTOM_COMMAND(OUTPUT ${CL_KERNELS_CPP} ${CL_KERNELS_H} COMMAND ${CMAKE_COMMAND} ARGS -D CL_SOURCE_DIR=${CL_SOURCE_DIR} -D CL_KERNELS_CPP=${CL_KERNELS_CPP} -D CL_KERNELS_H=${CL_KERNELS_H} -D CL_SOURCE_CLASS=${CL_SOURCE_CLASS} -P ${CMAKE_CURRENT_SOURCE_DIR}/../EncodeCLFiles.cmake DEPENDS ${OPENCL_KERNELS} ) SET_SOURCE_FILES_PROPERTIES(${CL_KERNELS_CPP} ${CL_KERNELS_H} PROPERTIES GENERATED TRUE) ADD_LIBRARY(${STATIC_TARGET} STATIC ${SOURCE_FILES} ${SOURCE_INCLUDE_FILES} ${API_ABS_INCLUDE_FILES}) IF (UNIX AND CMAKE_BUILD_TYPE MATCHES Debug) SET(MAIN_OPENMM_LIB ${OPENMM_LIBRARY_NAME}_d) ELSE (UNIX AND CMAKE_BUILD_TYPE MATCHES Debug) SET(MAIN_OPENMM_LIB ${OPENMM_LIBRARY_NAME}) ENDIF (UNIX AND CMAKE_BUILD_TYPE MATCHES Debug) TARGET_LINK_LIBRARIES(${STATIC_TARGET} ${MAIN_OPENMM_LIB} ${OPENCL_LIBRARIES} ${PTHREADS_LIB_STATIC}) #-DPTW32_STATIC_LIB only works for the windows pthreads. SET_TARGET_PROPERTIES(${STATIC_TARGET} PROPERTIES LINK_FLAGS "${EXTRA_COMPILE_FLAGS}" COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -DOPENMM_OPENCL_BUILDING_STATIC_LIBRARY -DPTW32_STATIC_LIB") INSTALL_TARGETS(/lib/plugins RUNTIME_DIRECTORY /lib/plugins ${STATIC_TARGET})