cellml / libcellml

Repository for libCellML development.
https://libcellml.org
Apache License 2.0
16 stars 21 forks source link

CMake: summary of options and available targets #1173

Open agarny opened 1 year ago

agarny commented 1 year ago

Right now, upon configuring libCellML, I have no idea (unless I check https://github.com/cellml/libcellml/blob/main/docs/dev_configuration_options.rst) which options were set to what. In the same way, I have no idea which targets are available to me.

So, it would be nice, upon configuration, to have a summary of the values of the different options that were set, as well as a list of the targets that are available. For instance, for libOpenCOR, I get the following when default configuring libOpenCOR:

-- Configuration summary:
--  - LIBOPENCOR_BUILD_TYPE:              Debug
--  - LIBOPENCOR_CODE_ANALYSIS:           OFF
--  - LIBOPENCOR_CODE_COVERAGE:           OFF
--  - LIBOPENCOR_COMPILER_CACHING:        ON
--  - LIBOPENCOR_DOCUMENTATION:           ON
--  - LIBOPENCOR_INSTALL_PREFIX:          /usr/local
--  - LIBOPENCOR_JAVASCRIPT_BINDINGS:     OFF
--  - LIBOPENCOR_JAVASCRIPT_UNIT_TESTING: OFF
--  - LIBOPENCOR_PREBUILT_LIBCELLML:      ON
--  - LIBOPENCOR_PREBUILT_LIBCOMBINE:     ON
--  - LIBOPENCOR_PREBUILT_LIBCURL:        ON
--  - LIBOPENCOR_PREBUILT_LIBNUML:        ON
--  - LIBOPENCOR_PREBUILT_LIBSBML:        ON
--  - LIBOPENCOR_PREBUILT_LIBSEDML:       ON
--  - LIBOPENCOR_PREBUILT_LIBSSH2:        ON
--  - LIBOPENCOR_PREBUILT_LIBXML2:        ON
--  - LIBOPENCOR_PREBUILT_LLVMCLANG:      ON
--  - LIBOPENCOR_PREBUILT_OPENSSL:        ON
--  - LIBOPENCOR_PREBUILT_SUNDIALS:       ON
--  - LIBOPENCOR_PREBUILT_ZIPPER:         ON
--  - LIBOPENCOR_PREBUILT_ZLIB:           ON
--  - LIBOPENCOR_PYTHON_BINDINGS:         OFF
--  - LIBOPENCOR_PYTHON_UNIT_TESTING:     OFF
--  - LIBOPENCOR_SHARED_LIBS:             ON
--  - LIBOPENCOR_TARGET_ARCHITECTURE:     ARM
--  - LIBOPENCOR_UNIT_TESTING:            ON
--  - LIBOPENCOR_WARNINGS_AS_ERRORS:      ON
-- Useful targets:
--  - check_code_formatting
--  - documentation
--  - format_code
--  - install
--  - javascript_check_code_formatting
--  - javascript_format_code
--  - python_check_code_formatting
--  - python_format_code
--  - uninstall
--  - unit_testing

Note: like libCellML, libOpenCOR uses options such as UNIT_TESTING but then internally uses LIBOPENCOR_UNIT_TESTING.

nickerso commented 1 year ago

see also #1072, probably similar work to resolve.

agarny commented 1 year ago

Oops, indeed! Well, keeping this one as it also includes the summary of options.