* classify and sort the doxygen "related pages"

by tweaking the filename and adding 2 categories:
   Troubleshooting and Advanced
* use the EXCLUDE_SYMBOLS to clean the class list
  (insteaded of a homemade bash script)
* remove the broken "exemple list"
* re-structure the unsupported directory as mentionned in the ML and
  integrate the doc as follow:
  - snippets of the unsupported directory are directly imported from the
    main snippets/CMakefile.txt (no need to duplicate code)
  - add a top level "Unsupported modules" group
  - unsupported modules have to defined their own sub group and nest it
    using \ingroup Unsupported_modules
  - then a pair of //@{ //@} will put everything in the submodule
  - this is just a proposal !
This commit is contained in:
Gael Guennebaud
2009-02-04 09:44:44 +00:00
parent b0dd22cc72
commit 44a527dfa5
21 changed files with 90 additions and 49 deletions

View File

@@ -38,9 +38,7 @@ add_custom_target(
${CMAKE_CURRENT_BINARY_DIR}/html/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png
${CMAKE_CURRENT_BINARY_DIR}/html/
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${Eigen_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox
COMMAND doxygen
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cleanhierarchy.sh ${CMAKE_CURRENT_BINARY_DIR}/html/hierarchy.html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page StlContainers Using STL Containers with Eigen
/** \page StlContainers Troubleshooting - Using STL Containers with Eigen
\b Table \b of \b contents
- \ref summary

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page PassingByValue Passing Eigen objects by value to functions
/** \page PassingByValue Troubleshooting - Passing Eigen objects by value to functions
Passing objects by value is almost always a very bad idea in C++, as this means useless copies, and one should pass them by reference instead.

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page StructHavingEigenMembers Structures Having Eigen Members
/** \page StructHavingEigenMembers Troubleshooting - Structures Having Eigen Members
\b Table \b of \b contents
- \ref summary

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page UnalignedArrayAssert Explanation of the assertion on unaligned arrays
/** \page UnalignedArrayAssert Troubleshooting - Explanation of the assertion on unaligned arrays
Hello! You are seeing this webpage because your program terminated on an assertion failure like this one:
<pre>

View File

@@ -564,7 +564,9 @@ WARN_LOGFILE =
INPUT = "${Eigen_SOURCE_DIR}/Eigen" \
"${Eigen_SOURCE_DIR}/doc" \
"${Eigen_BINARY_DIR}/doc"
"${Eigen_BINARY_DIR}/doc" \
"${Eigen_SOURCE_DIR}/unsupported/Eigen" \
"${Eigen_SOURCE_DIR}/unsupported/doc"
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -618,7 +620,7 @@ EXCLUDE_PATTERNS = CMake* \
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
EXCLUDE_SYMBOLS =
EXCLUDE_SYMBOLS = MatrixBase<* MapBase<* RotationBase<* Matrix<*
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page CustomizingEigen Customizing/Extending Eigen
/** \page CustomizingEigen Advanced - Customizing/Extending Eigen
Eigen2 can be extended in several ways, for instance, by defining global methods, \ref ExtendingMatrixBase "by adding custom methods to MatrixBase", adding support to \ref CustomScalarType "custom types" etc.

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page TopicLazyEvaluation Lazy Evaluation and Aliasing
/** \page TopicLazyEvaluation Advanced - Lazy Evaluation and Aliasing
Executive summary: Eigen has intelligent compile-time mechanisms to enable lazy evaluation and removing temporaries where appropriate.
It will handle aliasing automatically in most cases, for example with matrix products. The automatic behavior can be overridden

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page InsideEigenExample What happens inside Eigen, on a simple example
/** \page InsideEigenExample Advanced - What happens inside Eigen, on a simple example
\b Table \b of \b contents
- \ref WhyInteresting

View File

@@ -1,6 +1,6 @@
namespace Eigen {
/** \page FixedSizeVectorizable Fixed-size vectorizable Eigen objects
/** \page FixedSizeVectorizable Advanced - Fixed-size vectorizable Eigen objects
The goal of this page is to explain what we mean by "fixed-size vectorizable".

View File

@@ -1,15 +0,0 @@
#!/bin/sh
echo "namespace Eigen {"
echo "/** \page ExampleList"
echo "<h1>Selected list of examples</h1>"
grep \\addexample $1/Eigen/src/*/*.h -R | cut -d \\ -f 2- | \
while read example;
do
anchor=`echo "$example" | cut -d " " -f 2`
text=`echo "$example" | cut -d " " -f 4-`
echo "\\\li \\\ref $anchor \"$text\""
done
echo "*/"
echo "}"

View File

@@ -1,5 +0,0 @@
#!/bin/sh
sed -i 's/^.li.*MatrixBase\&lt.*gt.*a.$/ /g' $1
sed -i 's/^.li.*MapBase\&lt.*gt.*a.$/ /g' $1
sed -i 's/^.li.*RotationBase\&lt.*gt.*a.$/ /g' $1

View File

@@ -1,25 +1,25 @@
FILE(GLOB snippets_SRCS "*.cpp")
FILE(GLOB snippets_SRCS "*.cpp" "../../unsupported/snippets/*.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})
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)