Skip to content

Commit

Permalink
Fixes and Tweaks for CMake Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
iguessthislldo committed Oct 17, 2023
1 parent dd17bc7 commit 6266790
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 12 deletions.
23 changes: 14 additions & 9 deletions docs/devguide/building/cmake.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
Using OpenDDS in a CMake Project
################################

.. seealso::

:ref:`cmake-building`

OpenDDS can be used with `CMake <https://cmake.org>`__\-based projects by using the :ghfile:`OpenDDS CMake config package <cmake>`.
This package bridges the gap between the MPC build system used by OpenDDS and CMake-based projects by providing :ref:`imported library targets <cmake-libraries>` and the ability to add IDL to a target using :cmake:func:`opendds_target_sources`.

Expand Down Expand Up @@ -733,50 +737,51 @@ These variables can be used to override default behavior of the CMake package.
Config Variables
-----------------

These variables are set by the configure script and normally shouldn't be changed.
These variables are set by the ``configure`` script in a MPC-built OpenDDS and normally shouldn't be changed.
They can be changed when configuring a :ref:`CMake-built OpenDDS <cmake-building>` using ``-D``, but should not be chagned after that.

Dependencies
^^^^^^^^^^^^

.. cmake:var:: OPENDDS_ACE
:nocontentsentry:

Path to ACE, usually :envvar:`ACE_ROOT`
Path to :ref:`deps-ace`, usually :envvar:`ACE_ROOT`

.. cmake:var:: OPENDDS_TAO
:nocontentsentry:

Path to TAO, usually :envvar:`TAO_ROOT`
Path to :ref:`deps-tao`, usually :envvar:`TAO_ROOT`

.. cmake:var:: OPENDDS_OPENSSL
:nocontentsentry:

Path to OpenSSL
Path to :ref:`deps-openssl`

.. cmake:var:: OPENDDS_GTEST
:nocontentsentry:

Path to Google Test
Path to :ref:`deps-gtest`

.. cmake:var:: OPENDDS_JAVA
:nocontentsentry:

Path to Java
Path to :ref:`deps-gtest`

.. cmake:var:: OPENDDS_QT
:nocontentsentry:

Path to QT
Path to :ref:`deps-qt`

.. cmake:var:: OPENDDS_RAPIDJSON
:nocontentsentry:

Path to RapidJSON
Path to :ref:`deps-rapidjson`

.. cmake:var:: OPENDDS_XERCES3
:nocontentsentry:

Path to Xerces
Path to :ref:`deps-xerces`

.. cmake:var:: OPENDDS_HOST_TOOLS
Expand Down
10 changes: 8 additions & 2 deletions docs/devguide/building/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,8 @@ These are the variables that are exclusive to building OpenDDS with CMake:

.. cmake:var:: OPENDDS_JUST_BUILD_HOST_TOOLS
If true, just builds ``opendds_idl``.
If true, ``opendds_idl`` is the only thing built for OpenDDS.
If ACE/TAO is also being built, then ``ace_gperf``, ``tao_idl``, and their dependencies are also built.
The build directory for this can be passed to :cmake:var:`OPENDDS_HOST_TOOLS`.

.. cmake:var:: OPENDDS_ACE_TAO_SRC
Expand Down Expand Up @@ -646,6 +647,11 @@ Installation
Once built, OpenDDS can be installed using `cmake --install <https://cmake.org/cmake/help/latest/manual/cmake.1.html#install-a-project>`__.
Currently ACE/TAO has to be installed separately and this is only possible with GNU Make.

Using CMake-built OpenDDS
=========================

After building and optionally installing OpenDDS, it can be used through the same :doc:`CMake package <cmake>` as a MPC-built OpenDDS.

.. _cmake-running-tests:

Running Tests
Expand All @@ -663,7 +669,7 @@ Known Limitations

- ACE/TAO can't be automatically built unless there is explicit support for the platform.
Currently this only exists for Windows, Linux, macOS, and Android.
All other platforms will require configuring and building ACE/TAO separately :cmake:var:`OPENDDS_ACE`
All other platforms will require configuring and building ACE/TAO separately and passing the path using :cmake:var:`OPENDDS_ACE`.

- See https://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html for how to manually build ACE/TAO.

Expand Down
3 changes: 2 additions & 1 deletion docs/news.d/cmake-build.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. news-prs: 4203
.. news-prs: 4203 4214
.. news-start-section: Additions
.. news-rank: 10
- OpenDDS can now be built using CMake for most common scenarios.
Expand All @@ -9,6 +9,7 @@
.. news-rank: 0
.. news-start-section: CMake Config Package
- Added :cmake:func:`opendds_install_interface_files` to help install IDL files and the files generated from them.
- Added :cmake:var:`OPENDDS_HOST_TOOLS` and :cmake:var:`OPENDDS_ACE_TAO_HOST_TOOLS` to allow cross compiling applications with both MPC and CMake-built OpenDDS.
.. news-rank: 0
.. news-start-section: :cmake:func:`opendds_target_sources`:
.. news-rank: 10
Expand Down

0 comments on commit 6266790

Please sign in to comment.