diff --git a/src/3rdParty/salomesmesh/salomesmesh.dox b/src/3rdParty/salomesmesh/salomesmesh.dox
new file mode 100644
index 0000000000..15fe0a9566
--- /dev/null
+++ b/src/3rdParty/salomesmesh/salomesmesh.dox
@@ -0,0 +1,6 @@
+/**
+ \defgroup SMESH Salome SMESH
+ \ingroup EMBEDDED
+ \brief The Salome SMESH module is used in Fem and Mesh workbenches
+
+ */
diff --git a/src/App/core-app.dox b/src/App/core-app.dox
index 593994ef0e..f6094b1e38 100644
--- a/src/App/core-app.dox
+++ b/src/App/core-app.dox
@@ -1,4 +1,4 @@
-/** \defgroup APP App side
+/** \defgroup APP App
* \ingroup CORE
* \brief The part of FreeCAD that works without GUI (console or server mode)
*/
diff --git a/src/Base/core-base.dox b/src/Base/core-base.dox
index a96de3e39f..27b7b73ff3 100644
--- a/src/Base/core-base.dox
+++ b/src/Base/core-base.dox
@@ -12,7 +12,7 @@
/*! \namespace Base
\ingroup BASE
- \brief Basic structures used by other FreeCAD components
+ \brief Basic structures used by other FreeCAD components (C++ API)
The Base module includes most of the basic functions of FreeCAD, such as:
- Console services: printing different kinds of messages to the FreeCAD report view or the terminal
diff --git a/src/CXX/pycxx.dox b/src/CXX/pycxx.dox
index 983d3f1c4c..018da0c5d6 100644
--- a/src/CXX/pycxx.dox
+++ b/src/CXX/pycxx.dox
@@ -1,5 +1,35 @@
/**
\defgroup PYCXX PyCXX
\ingroup EMBEDDED
+ \brief C++ facilities to make it easier to write Python extensions
+
+ CXX/Objects is a set of C++ facilities to make it easier to write
+ Python extensions. The chief way in which PyCXX makes it easier to
+ write Python extensions is that it greatly increases the probability
+ that your program will not make a reference-counting error and will
+ not have to continually check error returns from the Python C API.
+ CXX/Objects integrates Python with C++ in these ways:
+
+ C++ exception handling is relied on to detect errors and clean up.
+ In a complicated function this is often a tremendous problem when
+ writing in C. With PyCXX, we let the compiler keep track of what
+ objects need to be dereferenced when an error occurs.
+ The Standard Template Library (STL) and its many algorithms plug and
+ play with Python containers such as lists and tuples.
+ The optional CXX/Extensions facility allows you to replace the
+ clumsy C tables with objects and method calls that define your
+ modules and extension objects.
+
+ PyCXX documentation is split into Python 3 and
+ Python 2
+ versions. The Python 3 documentation is the most accurate.
+
+ Latest PyCXX
+ README file
+
+ The source code is released under the BSD
+ License.
*/
diff --git a/src/Doc/BuildWebDoc.cfg.in b/src/Doc/BuildWebDoc.cfg.in
index 2c43dc34a8..7d9d9324e9 100644
--- a/src/Doc/BuildWebDoc.cfg.in
+++ b/src/Doc/BuildWebDoc.cfg.in
@@ -193,7 +193,7 @@ OPTIMIZE_OUTPUT_FOR_C = NO
# Java. For instance, namespaces will be presented as packages, qualified
# scopes will look different, etc.
-OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_OUTPUT_JAVA = YES
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
# sources only. Doxygen will then generate output that is more tailored for
diff --git a/src/Doc/CMakeLists.txt b/src/Doc/CMakeLists.txt
index 5b15d12847..547dff4825 100644
--- a/src/Doc/CMakeLists.txt
+++ b/src/Doc/CMakeLists.txt
@@ -65,7 +65,7 @@ if(DOXYGEN_FOUND)
${CMAKE_BINARY_DIR}/src/Gui
${CMAKE_SOURCE_DIR}/src/Mod
${CMAKE_BINARY_DIR}/src/Mod
- ${CMAKE_SOURCE_DIR}/src/Main
+ #${CMAKE_SOURCE_DIR}/src/Main #nothing to document there ATM...
${CMAKE_SOURCE_DIR}/src/Doc
)
STRING(REGEX REPLACE ";" " " DOXYGEN_INPUT_LIST "${DOXYGEN_SOURCE_DIR}")
@@ -75,8 +75,6 @@ if(DOXYGEN_FOUND)
# src/3rdParty/CxImage : Windows thumbnailer
set( DOXYGEN_EXCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/Tools)
list(APPEND DOXYGEN_EXCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/CxImage)
- list(APPEND DOXYGEN_EXCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh)
- list(APPEND DOXYGEN_EXCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/Mod/Arch/Dice3DS)
list(APPEND DOXYGEN_EXCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/Doc/sphinx)
# deprecated modules
list(APPEND DOXYGEN_EXCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/Mod/Assembly)
diff --git a/src/Doc/mainpage.dox.in b/src/Doc/mainpage.dox.in
index 12842183ac..6d6986eed2 100644
--- a/src/Doc/mainpage.dox.in
+++ b/src/Doc/mainpage.dox.in
@@ -22,7 +22,7 @@
/**
- \if WEB_DOCUMENTATION
+
\mainpage FreeCAD source documentation
@@ -50,7 +50,7 @@
the source code documentation. You can also browse through the source
code on github.
- \endif
+
\if DEV_DOCUMENTATION
diff --git a/src/Doc/primary-groups.dox b/src/Doc/primary-groups.dox
index 6184158c82..7ec6329e65 100644
--- a/src/Doc/primary-groups.dox
+++ b/src/Doc/primary-groups.dox
@@ -1,9 +1,10 @@
/** \defgroup CORE Core
- This is the core functionality of FreeCAD.
+ These are the core components of FreeCAD.
It groups the Base classes, and the main components of FreeCAD core,
spread over their App and Gui sides. Core components are programmed in
- C++ but provide a broad Python API.
+ C++ but provide a broad Python API too. Most of FreeCAD functionality,
+ however, is defined in Workbenches.
*/
/** \defgroup WORKBENCHES Workbenches
diff --git a/src/Doc/templates/footer.html b/src/Doc/templates/footer.html
index dce3057125..f2fa20497a 100644
--- a/src/Doc/templates/footer.html
+++ b/src/Doc/templates/footer.html
@@ -22,43 +22,5 @@ $generatedby
$doxygenversion
-