summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau2012-04-06 13:40:55 -0400
committerTom Rondeau2012-04-06 13:40:55 -0400
commitfaf1d33bb2dee40917aa930aa0eee37672dd0fe6 (patch)
treefa4aae8187b849d54cc0139ae516475032cbce6d
parent99ebcc1c3ff453ea10e934ef1904b42821d589f1 (diff)
downloadgnuradio-faf1d33bb2dee40917aa930aa0eee37672dd0fe6.tar.gz
gnuradio-faf1d33bb2dee40917aa930aa0eee37672dd0fe6.tar.bz2
gnuradio-faf1d33bb2dee40917aa930aa0eee37672dd0fe6.zip
build: properly handle the VM circbuf; was forcing tmp file usage on all platforms.
-rw-r--r--CMakeLists.txt3
-rw-r--r--cmake/Modules/GrMiscUtils.cmake25
2 files changed, 28 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a9cbe055a..949d06893 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -202,6 +202,9 @@ CPACK_COMPONENT("volk_devel"
add_subdirectory(volk)
endif(ENABLE_VOLK)
+
+GR_VMCIRCBUF()
+
########################################################################
# Distribute the README file
########################################################################
diff --git a/cmake/Modules/GrMiscUtils.cmake b/cmake/Modules/GrMiscUtils.cmake
index 27003cf59..7b0c00272 100644
--- a/cmake/Modules/GrMiscUtils.cmake
+++ b/cmake/Modules/GrMiscUtils.cmake
@@ -208,3 +208,28 @@ function(GR_GEN_TARGET_DEPS name var)
set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE)
endif()
endfunction(GR_GEN_TARGET_DEPS)
+
+
+########################################################################
+# Control availability of vmcircbuf methods.
+# For now, only allows disabling of shm methods, which cause uncatchable
+# segmentation faults on Cygwin with gcc 4.x (x <= 5)
+# Usage:
+# GR_VMCIRCBUF()
+#
+# Will set TRY_SHM_VMCIRCBUF to 1 by default except on Windows machines.
+# Can manually set with -DTRY_SHM_VMCIRCBUF=0|1
+########################################################################
+function(GR_VMCIRCBUF)
+ if(WIN32)
+ OPTION(TRY_SHM_VMCIRCBUF "Try SHM VMCIRCBUF" OFF)
+ else(WIN32)
+ OPTION(TRY_SHM_VMCIRCBUF "Try SHM VMCIRCBUF" ON)
+ endif(WIN32)
+
+ message(STATUS "TRY_SHM_VMCIRCBUF set to ${TRY_SHM_VMCIRCBUF}.")
+
+ if(TRY_SHM_VMCIRCBUF)
+ add_definitions( -DTRY_SHM_VMCIRCBUF )
+ endif(TRY_SHM_VMCIRCBUF)
+endfunction(GR_VMCIRCBUF)