Re: ITK debian packages
- To: Gavin Baker <gavinb@antonym.org>
- Cc: Brad King <brad.king@kitware.com>, Debian Med Project List <debian-med@lists.debian.org>
- Subject: Re: ITK debian packages
- From: "Steve M. Robbins" <steven.robbins@videotron.ca>
- Date: Sun, 26 Feb 2006 00:56:51 -0500
- Message-id: <[🔎] 20060226055651.GH7362@nyongwa.montreal.qc.ca>
- In-reply-to: <1138747351.16528.12.camel@liberator>
- References: <20051128071705.GQ5067@nyongwa.montreal.qc.ca> <Pine.LNX.4.62.0511280908470.7986@wr-linux02> <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>
Hello,
On Wed, Feb 01, 2006 at 09:42:31AM +1100, Gavin Baker wrote:
> Quick summary: I've packaged CableSwig 2.4 for Debian, Steve has now
> packaged GCC_XML separately and managed to get CableSwig to use this
> standalone package.
I've taken a shot at changing the CableSwig CMakeLists.txt so that (a)
building with internal gcc-xml sources is optional, and (b) if you
choose to use an EXTERNAL gccxml, you have the chance to specify the
path to the gccxml binary. Note that this is my first crack at
CMakeLists so please let me know if it can be improved.
See attached patch.
> On Sun, 2006-01-22 at 12:23 -0500, Steve M. Robbins wrote:
> > On Fri, Jan 20, 2006 at 05:51:05PM -0500, Steve M. Robbins wrote:
> > Also I noticed that cableswig has never been released and you have
> > to pull it from CVS. You packaged it with the ITK release number
> > (2.4); is that what the ITK folks recommend? Or should we use a
> > CVS version scheme, e.g. 0+cvs20060122?
>
> CableSwig does actually have an official release of 2.4. It is released
> simultaneously with ITK, and the versions are in step. It is available
> in tarball and zip format from:
>
> http://www.itk.org/HTML/Download.htm
It's true that CableSwig sources are available on the ITK downloads
page. However those sources are actually version 0.1.0 according
to its CMakeLists.txt:
SET(CableSwig_VERSION_MAJOR 0)
SET(CableSwig_VERSION_MINOR 1)
SET(CableSwig_VERSION_PATCH 0)
So Brad, what do you suggest for versioning? The Debian practice
would be to label a CVS snapshot from 2006-02-26 as 0.1.0+cvs20060226.
Is that reasonable or do you folks prefer what you suggested for
gccxml, namely replace the patch number with the date, i.e.
0.1.20060226?
Thanks,
-Steve
? cableswig-2.4.0/Build
? cableswig-2.4.0/build-stamp
? cableswig-2.4.0/configure-stamp
? cableswig-2.4.0/debian
? cableswig-cvs-upstream/Build
? cableswig-cvs-upstream/build-stamp
? cableswig-cvs-upstream/configure-stamp
? cableswig-cvs-upstream/debian
Index: cableswig-cvs-upstream/CMakeLists.txt
===================================================================
RCS file: /cvsroot/CableSwig/CableSwig/CMakeLists.txt,v
retrieving revision 1.20
diff -u -b -B -r1.20 CMakeLists.txt
--- cableswig-cvs-upstream/CMakeLists.txt 7 Jun 2005 13:34:18 -0000 1.20
+++ cableswig-cvs-upstream/CMakeLists.txt 26 Feb 2006 05:46:12 -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)
+# Build internal GCC-XML?
+SET(USE_INTERNAL_GCCXML true CACHE BOOL "Build and install GCC-XML sources")
-SUBDIRS(SWIG Cable GCC GCC_XML Executables)
+IF(USE_INTERNAL_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)
+ELSE(USE_INTERNAL_GCCXML)
+ # Find external gccxml
+ SET(GCCXML_PATH /usr/bin/gccxml CACHE FILEPATH "Path to external gccxml binary")
+ SET(CableSwig_gccxml_EXE_CONFIG ${GCCXML_PATH})
+ENDIF(USE_INTERNAL_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
Reply to: