2010-04-19 23:19:22 +08:00
|
|
|
file(GLOB snippets_SRCS "*.cpp")
|
2007-12-21 17:02:24 +08:00
|
|
|
|
2010-04-19 23:19:22 +08:00
|
|
|
add_custom_target(all_snippets)
|
2007-12-21 19:29:04 +08:00
|
|
|
|
2010-04-19 23:19:22 +08:00
|
|
|
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
|
2009-02-04 17:44:44 +08:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
2010-04-19 23:19:22 +08:00
|
|
|
add_executable(${compile_snippet_target}
|
2009-02-04 17:44:44 +08:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
2010-04-19 23:19:22 +08:00
|
|
|
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
|
|
|
|
target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
|
|
|
|
endif()
|
|
|
|
get_target_property(compile_snippet_executable
|
2009-02-04 17:44:44 +08:00
|
|
|
${compile_snippet_target} LOCATION)
|
2010-04-19 23:19:22 +08:00
|
|
|
add_custom_command(
|
2009-02-04 17:44:44 +08:00
|
|
|
TARGET ${compile_snippet_target}
|
|
|
|
POST_BUILD
|
|
|
|
COMMAND ${compile_snippet_executable}
|
|
|
|
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
|
|
|
)
|
2010-04-19 23:19:22 +08:00
|
|
|
add_dependencies(all_snippets ${compile_snippet_target})
|
2009-02-04 17:44:44 +08:00
|
|
|
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
|
|
|
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
2010-04-19 23:19:22 +08:00
|
|
|
endforeach(snippet_src)
|