1file(GLOB snippets_SRCS "*.cpp") 2 3add_custom_target(all_snippets) 4 5foreach(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}) 26endforeach(snippet_src) 27