From 1e4680f918b8bb5026cfff3e23c1a82fbcbd6ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 11 Aug 2013 10:48:19 +0200 Subject: [PATCH] Audio: verify OpenAL types. --- src/Audio/Audio.cpp | 49 ++++++++++++++++++++++++++++++++++++++++ src/Audio/CMakeLists.txt | 7 +++++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/Audio/Audio.cpp diff --git a/src/Audio/Audio.cpp b/src/Audio/Audio.cpp new file mode 100644 index 000000000..25c70e5e4 --- /dev/null +++ b/src/Audio/Audio.cpp @@ -0,0 +1,49 @@ +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include +#include + +#include "Types.h" + +namespace Magnum { namespace Audio { + +/* Verify types */ +static_assert(std::is_same::value, "ALubyte is not the same as UnsignedByte"); +static_assert(std::is_same::value, "ALbyte is not the same as Byte"); +static_assert(std::is_same::value, "ALushort is not the same as UnsignedShort"); +static_assert(std::is_same::value, "ALshort is not the same as Short"); +static_assert(std::is_same::value, "ALuint is not the same as UnsignedInt"); +static_assert(std::is_same::value, "ALint is not the same as Int"); +static_assert(std::is_same::value, "ALsizei is not the same as Int"); +static_assert(std::is_same::value, "ALfloat is not the same as Float"); +#ifndef MAGNUM_TARGET_GLES +static_assert(std::is_same::value, "ALdouble is not the same as Double"); +#endif + +/* Verify boolean values */ +static_assert(AL_FALSE == false, "AL_FALSE is not the same as false"); +static_assert(AL_TRUE == true, "AL_TRUE is not the same as true"); + +}} diff --git a/src/Audio/CMakeLists.txt b/src/Audio/CMakeLists.txt index e404e1246..8bdc6b9f8 100644 --- a/src/Audio/CMakeLists.txt +++ b/src/Audio/CMakeLists.txt @@ -27,8 +27,13 @@ find_package(OpenAL REQUIRED) include_directories(${OPENAL_INCLUDE_DIR}) set(MagnumAudio_SOURCES - ) + Audio.cpp) + set(MagnumAudio_HEADERS Audio.h) +add_library(MagnumAudio ${SHARED_OR_STATIC} ${MagnumAudio_SOURCES}) +target_link_libraries(MagnumAudio ${OPENAL_LIBRARY}) + +install(TARGETS MagnumAudio DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}) install(FILES ${MagnumAudio_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Audio)