CMakeLists.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. cmake_minimum_required(VERSION 2.6)
  2. # make burst backprojection kernels
  3. set(COMMON_TEMPLATE templates/common.in)
  4. set(DEFINITIONS templates/definitions.in)
  5. set(Z_TEMPLATE templates/z_template.in)
  6. set(LAMINO_TEMPLATE templates/lamino_template.in)
  7. set(CENTER_TEMPLATE templates/center_template.in)
  8. set(GENERATOR tools/make_burst_kernels.py)
  9. set(Z_KERNEL z_kernel.cl)
  10. set(LAMINO_KERNEL lamino_kernel.cl)
  11. set(CENTER_KERNEL center_kernel.cl)
  12. add_custom_command(
  13. OUTPUT ${Z_KERNEL} ${CENTER_KERNEL} ${LAMINO_KERNEL}
  14. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${GENERATOR} ${GENERATOR}
  15. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${COMMON_TEMPLATE} ${COMMON_TEMPLATE}
  16. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${DEFINITIONS} ${DEFINITIONS}
  17. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${Z_TEMPLATE} ${Z_TEMPLATE}
  18. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${CENTER_TEMPLATE} ${CENTER_TEMPLATE}
  19. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${LAMINO_TEMPLATE} ${LAMINO_TEMPLATE}
  20. COMMAND python ${GENERATOR} ${Z_TEMPLATE} 1 2 4 8 16 > ${Z_KERNEL}
  21. COMMAND python ${GENERATOR} ${CENTER_TEMPLATE} 1 2 4 8 16 > ${CENTER_KERNEL}
  22. COMMAND python ${GENERATOR} ${LAMINO_TEMPLATE} 1 2 4 8 16 > ${LAMINO_KERNEL}
  23. DEPENDS ${GENERATOR} ${COMMON_TEMPLATE} ${DEFINITIONS} ${Z_TEMPLATE} ${CENTER_TEMPLATE} ${LAMINO_TEMPLATE}
  24. COMMENT "Generating burst backprojection kernels")
  25. add_custom_target(burst ALL
  26. DEPENDS ${Z_KERNEL} ${CENTER_KERNEL} ${LAMINO_KERNEL})
  27. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${Z_KERNEL} DESTINATION ${UFO_ANKAFILTERS_KERNELDIR})
  28. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${CENTER_KERNEL} DESTINATION ${UFO_ANKAFILTERS_KERNELDIR})
  29. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LAMINO_KERNEL} DESTINATION ${UFO_ANKAFILTERS_KERNELDIR})
  30. # copy kernels
  31. file(GLOB ufofilter_KERNELS "*.cl")
  32. foreach(_kernel ${ufofilter_KERNELS})
  33. install(FILES ${_kernel} DESTINATION ${UFO_ANKAFILTERS_KERNELDIR})
  34. endforeach()