Permalink
Browse files

fakenect: add fakenect helper script

Add a shell script to call libfreenect applications with fakenect.

Simplifies the use of fakenect by not requiring users to know or specify
environment variables and the like.

Usage:
fakenect <database> <application> <args>

Signed-off-by: Evan Shelhamer <shelhamer@imaginarynumber.net>
Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
  • Loading branch information...
1 parent 8755990 commit 3f4aba8993f75fbdd4ebbbb8e2c19de750cb5935 @shelhamer shelhamer committed with zarvox Aug 18, 2011
Showing with 59 additions and 1 deletion.
  1. +8 −1 fakenect/CMakeLists.txt
  2. +51 −0 fakenect/fakenect.sh.in
@@ -15,4 +15,11 @@ install (TARGETS fakenect
add_executable(record record.c)
target_link_libraries(record freenect m)
install (TARGETS record
- DESTINATION bin)
+ DESTINATION bin)
+
+CONFIGURE_FILE("fakenect.sh.in"
+ "fakenect.sh"
+ IMMEDIATE @ONLY)
+install (PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/fakenect.sh
+ DESTINATION bin
+ RENAME fakenect)
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+# This file is part of the OpenKinect Project. http://www.openkinect.org
+#
+# Copyright (c) 2010 individual OpenKinect contributors. See the CONTRIB file
+# for details.
+#
+# This code is licensed to you under the terms of the Apache License, version
+# 2.0, or, at your option, the terms of the GNU General Public License,
+# version 2.0. See the APACHE20 and GPL20 files for the text of the licenses,
+# or the following URLs:
+# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.gnu.org/licenses/gpl-2.0.txt
+#
+# If you redistribute this file in source form, modified or unmodified,
+# you may:
+# 1) Leave this header intact and distribute it under the same terms,
+# accompanying it with the APACHE20 and GPL20 files, or
+# 2) Delete the Apache 2.0 clause and accompany it with the GPL20 file, or
+# 3) Delete the GPL v2.0 clause and accompany it with the APACHE20 file
+# In all cases you must keep the copyright notice intact and include a copy
+# of the CONTRIB file.
+# Binary distributions must follow the binary distribution requirements of
+# either License.
+
+# fakenect wrapper script:
+# simplifies calling libfreenect applications under fakenect
+# by taking the fakenect database, app to run, and its args
+# then filling out the necessary environment variables and calling the app
+# usage: fakenect /path/to/fakenect/dump app --arg=value
+
+# catch bad args
+if [ $# -lt 2 ]
+then
+ echo "Usage: $0 <database> <application> <args>"
+ exit -1
+fi
+
+# set path to fakenect database
+export FAKENECT_PATH=$1
+
+# set link path (LD_LIBRARY_PATH for Linux, DYLIB_LIBRARY_PATH for OS X)
+if [ `uname` == "Darwin" ];
+then
+ export DYLD_LIBRARY_PATH="@CMAKE_INSTALL_PREFIX@/@PROJECT_LIBRARY_INSTALL_DIR@/fakenect/:${LD_LIBRARY_PATH}"
+else
+ export LD_LIBRARY_PATH="@CMAKE_INSTALL_PREFIX@/@PROJECT_LIBRARY_INSTALL_DIR@/fakenect/:${LD_LIBRARY_PATH}"
+fi
+
+# run desired app w/ args, now that environment is configured
+"${@:2}"

0 comments on commit 3f4aba8

Please sign in to comment.