CMakeLists.txt revision c981c48f5bc9aefeffc0bcb0cc3934c2fae179dd
1FILE(GLOB snippets_SRCS "*.cpp")
2
3ADD_CUSTOM_TARGET(unsupported_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(${PROJECT_SOURCE_DIR}/doc/snippets/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  GET_TARGET_PROPERTY(compile_snippet_executable
18                      ${compile_snippet_target} LOCATION)
19  ADD_CUSTOM_COMMAND(
20    TARGET ${compile_snippet_target}
21    POST_BUILD
22    COMMAND ${compile_snippet_executable}
23    ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
24  )
25  ADD_DEPENDENCIES(unsupported_snippets ${compile_snippet_target})
26  set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
27                              PROPERTIES OBJECT_DEPENDS ${snippet_src})
28ENDFOREACH(snippet_src)
29