| FILE(GLOB snippets_SRCS "*.cpp") |
| |
| ADD_CUSTOM_TARGET(all_snippets) |
| |
| FOREACH(snippet_src ${snippets_SRCS}) |
| GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE) |
| SET(compile_snippet_target compile_${snippet}) |
| SET(compile_snippet_src ${compile_snippet_target}.cpp) |
| FILE(READ ${snippet_src} snippet_source_code) |
| CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in |
| ${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}) |
| ADD_EXECUTABLE(${compile_snippet_target} |
| ${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}) |
| GET_TARGET_PROPERTY(compile_snippet_executable |
| ${compile_snippet_target} LOCATION) |
| ADD_CUSTOM_COMMAND( |
| TARGET ${compile_snippet_target} |
| POST_BUILD |
| COMMAND ${compile_snippet_executable} |
| ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out |
| ) |
| ADD_DEPENDENCIES(all_snippets ${compile_snippet_target}) |
| set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src} |
| PROPERTIES OBJECT_DEPENDS ${snippet_src}) |
| ENDFOREACH(snippet_src) |