summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-03-30 11:09:43 -0400
committerJohnathan Corgan <johnathan@corganlabs.com>2013-04-01 16:24:17 -0700
commit4cbe59fb5a8d33882beb1ad09e5ba9f7153bf7d6 (patch)
treee932d03d135e78f6ec209633f4cc3a28ec2625a1 /cmake
parentec11facb8b34bfc32986a334ee725f8286678e1b (diff)
runtime: creating swig files for typedefs/templates of vector types.
Also created simple ctrlport swig file to clean things up. Consolidated all standard vector types into gr_types.i.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Modules/GrSwig.cmake12
1 files changed, 12 insertions, 0 deletions
diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake
index b6af0584ec..9a6ab8b9a7 100644
--- a/cmake/Modules/GrSwig.cmake
+++ b/cmake/Modules/GrSwig.cmake
@@ -105,6 +105,18 @@ endfunction(GR_SWIG_MAKE_DOCS)
macro(GR_SWIG_MAKE name)
set(ifiles ${ARGN})
+ # Shimming this in here to take care of a SWIG bug with handling
+ # vector<size_t> and vector<unsigned int> (on 32-bit machines) and
+ # vector<long unsigned int> (on 64-bit machines). Use this to test
+ # the size of size_t, then set SIZE_T_32 if it's a 32-bit machine
+ # or not if it's 64-bit. The logic in gr_type.i handles the rest.
+ INCLUDE (CheckTypeSize)
+ CHECK_TYPE_SIZE("size_t" SIZEOF_SIZE_T)
+ CHECK_TYPE_SIZE("unsigned int" SIZEOF_UINT)
+ if(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
+ list(APPEND GR_SWIG_FLAGS -DSIZE_T_32)
+ endif(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
+
#do swig doc generation if specified
if (GR_SWIG_DOC_FILE)
set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS})