The following describes a discrepancy in the CMake scripts of the OpenCL-CLHPP project:
- The test suite is configured to build only if it is explicitly enabled via
BUILD_TESTING and if the current project is the root CMake project (or if the project specific OPENCL_CLHPP_BUILD_TESTING option is set).
- This above is beneficial when the project is consumed by an other project, e.g. via FetchContent, because the test targets are not added. It is unlikely that the parent project is interested in running the tests of the dependent project, but still possible via the aforementioned cache variable.
- The same logic is not applied to the
BUILD_EXAMPLES and BUILD_DOCS options, even though they are also likely to be unneeded by the parent project.
- An additional downside is that the current setup poses additional dependency requirements on the parent project (both the docs and the examples have a few, albeit the docs will not fail the configuration if Doxygen is not found).
- It should be considered to add the same logic to
BUILD_EXAMPLES and BUILD_DOCS as seen with the BUILD_TESTING option.
The following describes a discrepancy in the CMake scripts of the OpenCL-CLHPP project:
BUILD_TESTINGand if the current project is the root CMake project (or if the project specificOPENCL_CLHPP_BUILD_TESTINGoption is set).BUILD_EXAMPLESandBUILD_DOCSoptions, even though they are also likely to be unneeded by the parent project.BUILD_EXAMPLESandBUILD_DOCSas seen with theBUILD_TESTINGoption.