Re: [cmake-developers] On-going UseSWIG troubles with the official versions --SOLVED
On 04/26/2017 04:14 AM, Alan W. Irwin wrote: > On 2017-04-25 08:54-0400 Brad King wrote: >> + else() >> +# assume empty prefix because we expect the module to be dynamically >> loaded >> +set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES >> PREFIX "") > > Yes, exactly. Thanks: https://gitlab.kitware.com/cmake/cmake/merge_requests/767 -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] On-going UseSWIG troubles with the official versions --SOLVED
On 2017-04-25 08:54-0400 Brad King wrote: On 04/25/2017 04:08 AM, Alan W. Irwin wrote: set PREFIX to "" for all languages not specifically covered by the if and elseif blocks. Do you mean ``` diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index 277f4ca28a..bfe1a6f754 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -326,6 +326,9 @@ macro(SWIG_ADD_LIBRARY name) if (APPLE) set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".bundle") endif () + else() +# assume empty prefix because we expect the module to be dynamically loaded +set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") endif () endmacro() ``` ? Yes, exactly. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] On-going UseSWIG troubles with the official versions --SOLVED
On 04/25/2017 04:08 AM, Alan W. Irwin wrote: > set PREFIX to "" for all languages not specifically covered by the if > and elseif blocks. Do you mean ``` diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index 277f4ca28a..bfe1a6f754 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -326,6 +326,9 @@ macro(SWIG_ADD_LIBRARY name) if (APPLE) set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".bundle") endif () + else() +# assume empty prefix because we expect the module to be dynamically loaded +set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") endif () endmacro() ``` ? -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] On-going UseSWIG troubles with the official versions --SOLVED
On 2017-04-23 14:26-0700 Alan W. Irwin wrote: [... My] further testing showed the versions of FindSWIG.cmake and UseSWIG.cmake from CMake-3.0.2 has build failures for Java and Lua, and the versions from CMake-3.6.2 and 3.8.0-rc4 have build failures for Java even though none of these "official" versions exhibited the rule contamination. I have bumped the minimum CMake version from 3.0.2 to 3.6.2 for PLplot so I am not going to worry about the Lua issue for 3.0.2. And it turned out the Java issue was simply a change in naming convention for the resulting module between my special UseSWIG.cmake and the official ones that I needed to adjust for. So that concludes this topic from the PLplot perspective. However, while researching this, I did notice one issue with the CMake git master version of Modules/UseSWIG.cmake that the CMake maintainers of that file might want to address which is the if...elseif...elseif clauses establishing the PREFIX and SUFFIX properties for each specific language language covered currently has no else clause to set PREFIX to "" for all languages not specifically covered by the if and elseif blocks. I suggest you do implement such an else cause to be consistent with older versions of UseSWIG.cmake (such as my special version) which simply set PREFIX to "" for all languages, and also consistent with the specificially covered languages where PREFIX is set to "" as well (except for the Java case). Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[cmake-developers] On-going UseSWIG troubles with the official versions
On 2017-04-23 17:10+0200 Rolf Eike Beer wrote: The somewhat longer story is just at the start (fortunately for me) of that simplification process, I double checked the source of both FindSWIG.cmake and UseSWIG.cmake as used by PLplot, and those turned out to be special cutting-edge versions recommended by one user of the cmake bug tracking system from a decade (!) ago. Oops! Those versions did continue to work for a very long time for our simple swig needs, but those are obviously well past their "best buy" date, and complete removal of those "special" versions from PLplot (so PLplot is now using the official version of those modules that is distributed by whatever CMake version a user chooses) works without the warning messages for both CMake-3.0.2 AND CMake-3.8.0-rc4. So something in that range of versions has broken those old modules. It would be interesting to find out if that was breaking a never-really-supported case or something else. Hi Rolf: It turns out I will be following up on that question because (sigh) my further testing showed the versions of FindSWIG.cmake and UseSWIG.cmake from CMake-3.0.2 has build failures for Java and Lua, and the versions from CMake-3.6.2 and 3.8.0-rc4 have build failures for Java even though none of these "official" versions exhibited the rule contamination. And, of course, our special versions of FindSWIG.cmake and UseSWIG.cmake built our Python, Java, Lua, and Octave bindings without any issues (except for the peculiar rule contamination between Python and _Pltk_init). So the current status is the official versions partly fail, and the special versions partly fail in a completely different way (ugh). For the official versions, the consistently good results for Python and Octave and the lack of rule contamination that is obtained argue that my overall goal should be to figure out how to make PLplot use the official versions without any errors for Lua and Java. So more later once I get this mess untangled using many different diff results between the various versions of FindSWIG.cmake and UseSWIG.cmake and comparing how our CMake code uses the UseSWIG facilities for Lua and Java compared to the rest of our swig-generated bindings. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers