Re: Cableswig package
- To: Gavin Baker <gavinb@antonym.org>, Debian Med Project List <debian-med@lists.debian.org>
- Cc: Brad King <brad.king@kitware.com>
- Subject: Re: Cableswig package
- From: "Steve M. Robbins" <steven.robbins@videotron.ca>
- Date: Sun, 05 Mar 2006 00:55:55 -0500
- Message-id: <[🔎] 20060305055555.GQ7362@nyongwa.montreal.qc.ca>
- In-reply-to: <20060301042758.GN7362@nyongwa.montreal.qc.ca>
- References: <20051202062616.GA4437@mundula.cs.mu.OZ.AU> <20060108185925.GB815@nyongwa.montreal.qc.ca> <1137333813.16651.25.camel@liberator> <20060120193333.GK28990@nyongwa.montreal.qc.ca> <Pine.LNX.4.62.0601202243230.11798@wr-linux02> <20060120225105.GM28990@nyongwa.montreal.qc.ca> <20060122172316.GO28990@nyongwa.montreal.qc.ca> <1138747351.16528.12.camel@liberator> <20060226055651.GH7362@nyongwa.montreal.qc.ca> <20060301042758.GN7362@nyongwa.montreal.qc.ca>
On Tue, Feb 28, 2006 at 11:27:58PM -0500, Steve M. Robbins wrote:
> I propose to make an upload of cableswig with the patches I
> previously posted. I can do so next weekend. Let me know your
> plans.
As threatened ;-) I just uploaded cableswig, version
0.1.0+cvs20060304-1, to Debian.
The final patch to CMakeLists.txt is slightly different from what I
had previously posted. I changed the variable name to
CSWIG_USE_SYSTEM_GCCXML which is more similar to the style used by ITK
for system libraries like png.
I made two small cosmetic changes to the cswig and cableidx programs.
I'm attaching the patches here for Brad's benefit. I hope they
will be incorporated into CVS.
Cheers,
-Steve
? Build
? debian
Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/CMakeLists.txt,v
retrieving revision 1.20
diff -u -b -B -r1.20 CMakeLists.txt
--- CMakeLists.txt 7 Jun 2005 13:34:18 -0000 1.20
+++ CMakeLists.txt 5 Mar 2006 05:49:43 -0000
@@ -71,16 +71,31 @@
LINK_DIRECTORIES( ${CableSwig_BINARY_DIR}/bin )
-# Tell GCC-XML that we are building gccxml_cc1plus.
-SET(GCCXML_NATIVE_CC1PLUS 1)
+ADD_SUBDIRECTORY(SWIG)
+ADD_SUBDIRECTORY(Cable)
# Tell CABLE to not install CxxTypes headers.
SET(CABLE_NO_INSTALL_FACILITIES 1)
-# Tell GCC-XML where to install.
-SET(GCCXML_INSTALL_ROOT ${CableSwig_INSTALL_ROOT}/lib/CableSwig)
+# Use system GCC-XML?
+SET(CSWIG_USE_SYSTEM_GCCXML false CACHE BOOL "Use the system's gccxml.")
-SUBDIRS(SWIG Cable GCC GCC_XML Executables)
+IF(CSWIG_USE_SYSTEM_GCCXML)
+ # Location of external gccxml
+ SET(GCCXML_PATH /usr/bin/gccxml CACHE FILEPATH "Path to external gccxml binary")
+ SET(CableSwig_gccxml_EXE_CONFIG ${GCCXML_PATH})
+ELSE(CSWIG_USE_SYSTEM_GCCXML)
+ # Tell GCC-XML that we are building gccxml_cc1plus.
+ SET(GCCXML_NATIVE_CC1PLUS 1)
+
+ # Tell GCC-XML where to install.
+ SET(GCCXML_INSTALL_ROOT ${CableSwig_INSTALL_ROOT}/lib/CableSwig)
+
+ ADD_SUBDIRECTORY(GCC)
+ ADD_SUBDIRECTORY(GCC_XML)
+ENDIF(CSWIG_USE_SYSTEM_GCCXML)
+
+ADD_SUBDIRECTORY(Executables)
#-----------------------------------------------------------------------------
# Create the CableSwigConfig.cmake files for external projects to use.
@@ -92,7 +107,9 @@
MARK_AS_ADVANCED(CableSwig_cableidx_EXE CableSwig_cswig_EXE CableSwig_gccxml_EXE)
SET(CableSwig_cableidx_EXE_CONFIG ${CableSwig_cableidx_EXE})
SET(CableSwig_cswig_EXE_CONFIG ${CableSwig_cswig_EXE})
-SET(CableSwig_gccxml_EXE_CONFIG ${CableSwig_gccxml_EXE})
+IF(NOT GCCXML_PATH)
+ SET(CableSwig_gccxml_EXE_CONFIG ${CableSwig_gccxml_EXE})
+ENDIF(NOT GCCXML_PATH)
SET(CableSwig_DEFAULT_LIB_CONFIG ${CableSwig_SOURCE_DIR}/SWIG/Lib)
CONFIGURE_FILE(${CableSwig_SOURCE_DIR}/CableSwigConfig.cmake.in
${CableSwig_BINARY_DIR}/CableSwigConfig.cmake @ONLY IMMEDIATE)
@@ -100,7 +117,9 @@
# Settings for the install tree.
SET(CableSwig_cableidx_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${CableSwig_INSTALL_ROOT}/bin/cableidx)
SET(CableSwig_cswig_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${CableSwig_INSTALL_ROOT}/bin/cswig)
-SET(CableSwig_gccxml_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${GCCXML_INSTALL_ROOT}/bin/gccxml)
+IF(NOT GCCXML_PATH)
+ SET(CableSwig_gccxml_EXE_CONFIG ${CMAKE_INSTALL_PREFIX}${GCCXML_INSTALL_ROOT}/bin/gccxml)
+ENDIF(NOT GCCXML_PATH)
SET(CableSwig_DEFAULT_LIB_CONFIG ${CMAKE_INSTALL_PREFIX}${CableSwig_INSTALL_ROOT}/lib/CableSwig/SWIGLib)
CONFIGURE_FILE(${CableSwig_SOURCE_DIR}/CableSwigConfig.cmake.in
Index: Executables/cableSwigMain.cxx
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/Executables/cableSwigMain.cxx,v
retrieving revision 1.10
diff -u -b -B -r1.10 cableSwigMain.cxx
--- Executables/cableSwigMain.cxx 18 Feb 2004 17:15:12 -0000 1.10
+++ Executables/cableSwigMain.cxx 5 Mar 2006 05:49:43 -0000
@@ -588,7 +588,7 @@
if (help) {
- Printf(stderr,"\nNote: 'swig -<lang> -help' displays options for a specific target language.\n\n");
+ Printf(stderr,"\nNote: 'cswig -<lang> -help' displays options for a specific target language.\n\n");
SWIG_exit (EXIT_SUCCESS); // Exit if we're in help mode
}
Index: Executables/cableidx.cxx
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/Executables/cableidx.cxx,v
retrieving revision 1.2
diff -u -b -B -r1.2 cableidx.cxx
--- Executables/cableidx.cxx 18 Feb 2004 14:45:22 -0000 1.2
+++ Executables/cableidx.cxx 5 Mar 2006 05:49:44 -0000
@@ -220,9 +220,9 @@
int main(int ac, char* av[])
{
- if(ac < 2)
+ if(ac != 3)
{
- std::cerr << "Usage: " << av[0] << " input.xml output.idx";
+ std::cerr << "Usage: " << av[0] << " input.xml output.idx\n";
return 1;
}
std::string outFileName = av[2];
Reply to: