aboutsummaryrefslogtreecommitdiff
path: root/unsupported/doc/snippets/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'unsupported/doc/snippets/CMakeLists.txt')
-rw-r--r--unsupported/doc/snippets/CMakeLists.txt28
1 files changed, 28 insertions, 0 deletions
diff --git a/unsupported/doc/snippets/CMakeLists.txt b/unsupported/doc/snippets/CMakeLists.txt
new file mode 100644
index 000000000..4a4157933
--- /dev/null
+++ b/unsupported/doc/snippets/CMakeLists.txt
@@ -0,0 +1,28 @@
+FILE(GLOB snippets_SRCS "*.cpp")
+
+ADD_CUSTOM_TARGET(unsupported_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(${PROJECT_SOURCE_DIR}/doc/snippets/compile_snippet.cpp.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
+ ADD_EXECUTABLE(${compile_snippet_target}
+ ${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
+ 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
+ ${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(unsupported_snippets ${compile_snippet_target})
+ set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
+ PROPERTIES OBJECT_DEPENDS ${snippet_src})
+ENDFOREACH(snippet_src)