Home | History | Annotate | Download | only in snippets
      1 file(GLOB snippets_SRCS "*.cpp")
      2 
      3 add_custom_target(all_snippets)
      4 
      5 foreach(snippet_src ${snippets_SRCS})
      6   get_filename_component(snippet ${snippet_src} NAME_WE)
      7   set(compile_snippet_target compile_${snippet})
      8   set(compile_snippet_src ${compile_snippet_target}.cpp)
      9   file(READ ${snippet_src} snippet_source_code)
     10   configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
     11                  ${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
     12   add_executable(${compile_snippet_target}
     13                  ${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
     14   if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
     15     target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
     16   endif()
     17   add_custom_command(
     18     TARGET ${compile_snippet_target}
     19     POST_BUILD
     20     COMMAND ${compile_snippet_target}
     21     ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
     22   )
     23   add_dependencies(all_snippets ${compile_snippet_target})
     24   set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
     25                               PROPERTIES OBJECT_DEPENDS ${snippet_src})
     26 endforeach(snippet_src)
     27