I just attempted to download and build this project, however there seem to be linker issues...
Macara-2:Downloads jmartin$ unzip gainput-master.zip
Archive: gainput-master.zip
d039050
creating: gainput-master/
inflating: gainput-master/.gitignore
......................
inflating: gainput-master/tools/html5client/index.html
inflating: gainput-master/tools/html5client/touch.html
Macara-2:Downloads jmartin$ cd gainput-master
Macara-2:gainput-master jmartin$ ls
CMakeLists.txt LICENSE extern samples tools
Doxyfile README.md lib test
Macara-2:gainput-master jmartin$ mkdir build
Macara-2:gainput-master jmartin$ cd build/
Macara-2:build jmartin$ cmake ..
-- The C compiler identification is AppleClang 5.1.0.5030040
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
gainput
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /Users/jmartin/Downloads/gainput-master/build
Macara-2:build jmartin$ ls
CMakeCache.txt Makefile lib test
CMakeFiles cmake_install.cmake samples
Macara-2:build jmartin$ make
Scanning dependencies of target gainput
[ 1%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/builtin/GainputInputDeviceBuiltIn.cpp.o
[ 2%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/dev/GainputDev.cpp.o
[ 4%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/dev/GainputMemoryStream.cpp.o
[ 5%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/dev/GainputNetAddress.cpp.o
[ 7%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/dev/GainputNetConnection.cpp.o
[ 8%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/dev/GainputNetListener.cpp.o
[ 10%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gainput.cpp.o
[ 11%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/GainputAllocator.cpp.o
[ 12%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/GainputInputDeltaState.cpp.o
[ 14%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/GainputInputDevice.cpp.o
[ 15%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/GainputInputManager.cpp.o
[ 17%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/GainputInputMap.cpp.o
[ 18%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/GainputInputState.cpp.o
[ 20%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputButtonStickGesture.cpp.o
[ 21%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputDoubleClickGesture.cpp.o
[ 22%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputHoldGesture.cpp.o
[ 24%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputPinchGesture.cpp.o
[ 25%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputRotateGesture.cpp.o
[ 27%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputSimultaneouslyDownGesture.cpp.o
[ 28%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/gestures/GainputTapGesture.cpp.o
[ 30%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/keyboard/GainputInputDeviceKeyboard.cpp.o
[ 31%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/keyboard/GainputInputDeviceKeyboardMac.cpp.o
[ 32%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/mouse/GainputInputDeviceMouse.cpp.o
[ 34%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/pad/GainputInputDevicePad.cpp.o
[ 35%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/recorder/GainputInputPlayer.cpp.o
[ 37%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/recorder/GainputInputRecorder.cpp.o
[ 38%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/recorder/GainputInputRecording.cpp.o
[ 40%] Building CXX object lib/CMakeFiles/gainput.dir/source/gainput/touch/GainputInputDeviceTouch.cpp.o
Linking CXX shared library libgainput.dylib
Undefined symbols for architecture x86_64:
"_CFDictionaryCreate", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_CFGetTypeID", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_CFNumberCreate", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_CFRelease", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
gainput::InputDeviceKeyboardImplMac::~InputDeviceKeyboardImplMac() in GainputInputDeviceKeyboardMac.cpp.o
"CFRunLoopGetCurrent", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
gainput::InputDeviceKeyboardImplMac::~InputDeviceKeyboardImplMac() in GainputInputDeviceKeyboardMac.cpp.o
"IOHIDElementGetUsage", referenced from:
gainput::(anonymous namespace)::OnDeviceInput(void, int, void, IOHIDValue) in GainputInputDeviceKeyboardMac.cpp.o
"IOHIDElementGetUsagePage", referenced from:
gainput::(anonymous namespace)::OnDeviceInput(void, int, void, _IOHIDValue) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerClose", referenced from:
gainput::InputDeviceKeyboardImplMac::~InputDeviceKeyboardImplMac() in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerCreate", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerGetTypeID", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerOpen", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerRegisterDeviceMatchingCallback", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerRegisterDeviceRemovalCallback", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerRegisterInputValueCallback", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_IOHIDManagerScheduleWithRunLoop", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"IOHIDManagerSetDeviceMatching", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"IOHIDManagerUnscheduleFromRunLoop", referenced from:
gainput::InputDeviceKeyboardImplMac::~InputDeviceKeyboardImplMac() in GainputInputDeviceKeyboardMac.cpp.o
"IOHIDValueGetElement", referenced from:
gainput::(anonymous namespace)::OnDeviceInput(void, int, void, IOHIDValue) in GainputInputDeviceKeyboardMac.cpp.o
"IOHIDValueGetIntegerValue", referenced from:
gainput::(anonymous namespace)::OnDeviceInput(void, int, void, IOHIDValue) in GainputInputDeviceKeyboardMac.cpp.o
"gainput::MacIsApplicationKey()", referenced from:
gainput::(anonymous namespace)::OnDeviceInput(void, int, void, IOHIDValue) in GainputInputDeviceKeyboardMac.cpp.o
"gainput::InputDeviceMouseImplMac::InputDeviceMouseImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&)", referenced from:
gainput::InputDeviceMouseImplMac gainput::Allocator::New<gainput::InputDeviceMouseImplMac, gainput::InputManager, gainput::InputDeviceMouse, gainput::InputState, gainput::InputState>(gainput::InputManager&, gainput::InputDeviceMouse&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceMouse.cpp.o
"___CFConstantStringClassReference", referenced from:
CFString in GainputInputDeviceKeyboardMac.cpp.o
CFString in GainputInputDeviceKeyboardMac.cpp.o
"_kCFAllocatorDefault", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_kCFRunLoopDefaultMode", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
gainput::InputDeviceKeyboardImplMac::~InputDeviceKeyboardImplMac() in GainputInputDeviceKeyboardMac.cpp.o
"_kCFTypeDictionaryKeyCallBacks", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
"_kCFTypeDictionaryValueCallBacks", referenced from:
gainput::InputDeviceKeyboardImplMac::InputDeviceKeyboardImplMac(gainput::InputManager&, gainput::InputDevice&, gainput::InputState&, gainput::InputState&) in GainputInputDeviceKeyboardMac.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libgainput.dylib] Error 1
make[1]: *** [lib/CMakeFiles/gainput.dir/all] Error 2
make: *** [all] Error 2
Macara-2:build jmartin$ cmake --version
cmake version 3.1.0