Re: Cableswig package
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: