OpenDDS / OpenDDS

OpenDDS is an open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). OpenDDS also supports Java bindings through JNI.
http://www.opendds.org
Other
1.28k stars 463 forks source link

`--mpcopts` values are split on spaces #4574

Closed jrw972 closed 4 weeks ago

jrw972 commented 1 month ago

Problem

--mpcopts is a configure script option that accumulates additional options for MPC. These values are split on spaces so --mpcopts="-features no_opendds_testing_features=0" results in two arguments to MPC: -features and no_opendds_testing_features=0.

This behavior complicates situations where one of the arguments to MPC contains spaces. For example, --mpcopts="-value_template build_flags+=-Wall -Werror" results in three arguments to MPC (and an error):-value_template,build_flags+=Wall, and-Werror`.

Solution

Remove the splitting functionality.

The examples above would now be written as

mitza-oci commented 1 month ago

We could support something like this to make usage a little more convenient

    --mpc:features no_opendds_testing_features=0
    --mpc:value_template build_flags+="-Wall -Werror"
mitza-oci commented 1 month ago

We could support something like this to make usage a little more convenient

    --mpc:features no_opendds_testing_features=0
    --mpc:value_template build_flags+="-Wall -Werror"

Since the script already has --features (which is for the default.features file), we wouldn't do exactly what's quoted above -- but the idea may be useful for other options. Or we could just do --mpc-value-template var+=val ?

build_and_test.yml has a few examples of --mpcopts=-features ... which should probably just be --features unless they are for special cases that the configure script doesn't implement.

jrw972 commented 1 month ago

This PR still has a number of issues