From a316cd8a76e13927038cad67cdc436fb32921839 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Fri, 21 Dec 2007 09:30:32 +0000 Subject: now cmake takes snippets of code, completes them into compilable sources, builds them, executes them and stores their output in files. --- doc/CMakeLists.txt | 6 +++++- doc/snippets/CMakeLists.txt | 26 ++++++++++++++++---------- doc/snippets/compile_snippet.cpp.in | 7 +++++++ doc/snippets/function_dynBlock.cpp | 13 +++---------- 4 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 doc/snippets/compile_snippet.cpp.in (limited to 'doc') diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 265bbbec1..ba8798e9c 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,6 +1,10 @@ +IF(BUILD_DOC) + CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile ) -ADD_SUBDIRECTORY(examples) +ADD_SUBDIRECTORY(snippets) + +ENDIF(BUILD_DOC) diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt index b0d342a40..85503e03d 100644 --- a/doc/snippets/CMakeLists.txt +++ b/doc/snippets/CMakeLists.txt @@ -1,14 +1,20 @@ -FILE(GLOB examples_SRCS "*.cpp") +FILE(GLOB snippets_SRCS "*.cpp") -FOREACH(example_src ${examples_SRCS}) -GET_FILENAME_COMPONENT(example ${example_src} NAME_WE) -ADD_EXECUTABLE(${example} ${example_src}) -GET_TARGET_PROPERTY(example_executable ${example} LOCATION) +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 ${example} + TARGET ${compile_snippet_target} POST_BUILD - COMMAND ${example_executable} - ARGS >${CMAKE_CURRENT_BINARY_DIR}/${example}.out + COMMAND ${compile_snippet_executable} + ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out ) -MESSAGE(coucou) -ENDFOREACH(example_src) +ENDFOREACH(snippet_src) diff --git a/doc/snippets/compile_snippet.cpp.in b/doc/snippets/compile_snippet.cpp.in new file mode 100644 index 000000000..552a5db21 --- /dev/null +++ b/doc/snippets/compile_snippet.cpp.in @@ -0,0 +1,7 @@ +#include +USING_EIGEN_DATA_TYPES +using namespace std; +int main(int, char**) +{ +${snippet_source_code} +} diff --git a/doc/snippets/function_dynBlock.cpp b/doc/snippets/function_dynBlock.cpp index 767157433..5ca7655ed 100644 --- a/doc/snippets/function_dynBlock.cpp +++ b/doc/snippets/function_dynBlock.cpp @@ -1,10 +1,3 @@ -#include -USING_EIGEN_DATA_TYPES -using namespace std; -int main(int, char**) -{ - Matrix4d m = Matrix4d::identity(); - m.dynBlock(2,0,2,2) = m.dynBlock(0,0,2,2); - cout << m << endl; - return 0; -} +Matrix4d m = Matrix4d::identity(); +m.dynBlock(2,0,2,2) = m.dynBlock(0,0,2,2); +cout << m << endl; -- cgit v1.2.3