Adapt to gromacs 2016.2 and sip 4.19
authorMaxim Koltsov <maks@omrb.pnpi.spb.ru>
Mon, 13 Mar 2017 11:56:57 +0000 (14:56 +0300)
committerMaxim Koltsov <maks@omrb.pnpi.spb.ru>
Mon, 13 Mar 2017 11:56:57 +0000 (14:56 +0300)
src/CMakeLists.txt
src/sip/options/ioptionscontainer.sip
src/sip/options/options.sip

index 8523674c700cfab413653572231659d1ba02a9e0..360b0b3af14baabb8cfdc87fa8c9925be30a8ffa 100644 (file)
@@ -42,6 +42,9 @@ set(SIP_EXTRA_OPTIONS ${SIP_EXTRA_OPTIONS} -e -o)
 
 file(GLOB common_files_sip sip/*.sip)
 
+# SIP 4.19 breaks exceptions in multi-part files
+set(SIP_CONCAT_PARTS 1)
+
 file(GLOB options_files_sip sip/options/*.sip)
 set(SIP_EXTRA_FILES_DEPEND ${options_files_sip} ${common_files_sip})
 add_sip_python_module(gromacs.Options sip/options/Options.sip libgromacs)
index c81fd51274cecea8a3e1d97088bc5be0b84b8356..bfc77d85907b95bb1ced50d79fda770ee5e45c2b 100644 (file)
@@ -21,8 +21,6 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
  */
 
-class OptionInfo /NoDefaultCtors/;
-
 class IOptionsContainer /NoDefaultCtors/ {
     %TypeHeaderCode
 #include <gromacs/options/ioptionscontainer.h>
@@ -31,11 +29,14 @@ class IOptionsContainer /NoDefaultCtors/ {
 
     public:
         virtual OptionInfo *addOption(const AbstractOption &settings) = 0;
+
+        /*
         virtual IOptionsContainer *addGroup() = 0;
         %MethodCode
         IOptionsContainer &group = sipCpp->addGroup();
         sipRes                   = &group;
         %End
+        */
     private:
         virtual ~IOptionsContainer();
 };
index e931dd2410e984d2fc78e2a518051abe95b6ceed..3d153524a892d1ac702b7d77887d91865e8dc599 100644 (file)
@@ -21,6 +21,8 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
  */
 
+class OptionInfo /NoDefaultCtors/;
+
 class IOptionManager /NoDefaultCtors/ {
     %TypeHeaderCode
 
@@ -43,12 +45,10 @@ class Options: public IOptionsContainer {
         Options(const char *name, const char *title);
         void addManager (IOptionManager *manager);
         void addSubSection (Options *section);
-        void addOption(const AbstractOption &settings);
-        IOptionsContainer *addGroup();
-        %MethodCode
-        IOptionsContainer &group = sipCpp->addGroup();
-        sipRes                   = &group;
-        %End
+        OptionInfo* addOption(const AbstractOption &settings);
+
+        // No way to add it clearly - C++ returns reference, sip can't wrap it
+        //IOptionsContainer *addGroup();
 
         void finish();
     private: