[Bf-blender-cvs] [a0cbebf] master: Audaspace: fixing problems for the merge to master suggested by Campbell and Sergey.
Jörg Müller
noreply at git.blender.org
Tue Jul 28 14:10:27 CEST 2015
Commit: a0cbebf404d6c46e59b090e7217ce39d7e760809
Author: Jörg Müller
Date: Tue Jun 16 10:03:35 2015 +0200
Branches: master
https://developer.blender.org/rBa0cbebf404d6c46e59b090e7217ce39d7e760809
Audaspace: fixing problems for the merge to master suggested by Campbell and Sergey.
- rename WITH_EXTERNAL_AUDASPACE to WITH_SYSTEM_AUDASPACE.
- rename C/PYAUDASPACE to AUDASPACE_C/PY
- simplifying cmake defines and includes.
- fixing include paths and enabling WITH_SYSTEM_AUDASPACE for windows.
- fixing scons building.
- other minor build system fixes.
===================================================================
M CMakeLists.txt
M SConstruct
M build_files/cmake/Modules/FindAudaspace.cmake
M build_files/cmake/macros.cmake
M build_files/scons/config/darwin-config.py
M build_files/scons/config/linux-config.py
M build_files/scons/config/win32-mingw-config.py
M build_files/scons/config/win32-vc-config.py
M build_files/scons/config/win64-mingw-config.py
M build_files/scons/config/win64-vc-config.py
M build_files/scons/tools/btools.py
M intern/audaspace/CMakeLists.txt
M intern/audaspace/SConscript
M intern/audaspace/intern/AUD_PyInit.cpp
M source/blender/blenkernel/BKE_sound.h
M source/blender/blenkernel/CMakeLists.txt
M source/blender/blenkernel/SConscript
M source/blender/blenkernel/intern/nla.c
M source/blender/blenkernel/intern/sequencer.c
M source/blender/blenkernel/intern/sound.c
M source/blender/blenkernel/intern/writeffmpeg.c
M source/blender/editors/sound/CMakeLists.txt
M source/blender/editors/sound/SConscript
M source/blender/editors/sound/sound_ops.c
M source/blender/editors/space_graph/CMakeLists.txt
M source/blender/editors/space_graph/SConscript
M source/blender/editors/space_graph/graph_edit.c
M source/blender/editors/space_sequencer/CMakeLists.txt
M source/blender/editors/space_sequencer/SConscript
M source/blender/editors/space_sequencer/sequencer_add.c
M source/blender/makesrna/SConscript
M source/blender/makesrna/intern/CMakeLists.txt
M source/blender/makesrna/intern/SConscript
M source/blender/makesrna/intern/rna_scene.c
M source/blender/python/SConscript
M source/blender/windowmanager/CMakeLists.txt
M source/blender/windowmanager/SConscript
M source/blender/windowmanager/intern/wm_playanim.c
M source/creator/CMakeLists.txt
M source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
M source/gameengine/BlenderRoutines/CMakeLists.txt
M source/gameengine/BlenderRoutines/SConscript
M source/gameengine/Converter/CMakeLists.txt
M source/gameengine/Converter/KX_ConvertActuators.cpp
M source/gameengine/Converter/SConscript
M source/gameengine/GamePlayer/ghost/CMakeLists.txt
M source/gameengine/GamePlayer/ghost/GPG_Application.cpp
M source/gameengine/GamePlayer/ghost/SConscript
M source/gameengine/Ketsji/CMakeLists.txt
M source/gameengine/Ketsji/KX_PythonInit.cpp
M source/gameengine/Ketsji/KX_SoundActuator.cpp
M source/gameengine/Ketsji/KX_SoundActuator.h
M source/gameengine/Ketsji/SConscript
===================================================================
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cac75d3..591942c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -247,8 +247,13 @@ option(WITH_HEADLESS "Build without graphical support (renderfarm, server m
mark_as_advanced(WITH_HEADLESS)
option(WITH_AUDASPACE "Build with blenders audio library (only disable if you know what you're doing!)" ON)
-option(WITH_EXTERNAL_AUDASPACE "Build with external audaspace library installed on the system (only enable if you know what you're doing!)" OFF)
+option(WITH_SYSTEM_AUDASPACE "Build with external audaspace library installed on the system (only enable if you know what you're doing!)" OFF)
mark_as_advanced(WITH_AUDASPACE)
+mark_as_advanced(WITH_SYSTEM_AUDASPACE)
+
+if(NOT WITH_AUDASPACE)
+ set(WITH_SYSTEM_AUDASPACE OFF)
+endif()
option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
@@ -707,6 +712,29 @@ if(HAVE_STDBOOL_H)
add_definitions(-DHAVE_STDBOOL_H)
endif()
+if(WITH_AUDASPACE)
+ if(WITH_SYSTEM_AUDASPACE)
+ add_definitions("-DAUD_DEVICE_H=<AUD_Device.h>")
+ add_definitions("-DAUD_SPECIAL_H=<AUD_Special.h>")
+ add_definitions("-DAUD_SOUND_H=<AUD_Sound.h>")
+ add_definitions("-DAUD_HANDLE_H=<AUD_Handle.h>")
+ add_definitions("-DAUD_SEQUENCE_H=<AUD_Sequence.h>")
+ add_definitions("-DAUD_TYPES_H=<AUD_Types.h>")
+ add_definitions("-DAUD_PYTHON_H=<python/PyAPI.h>")
+ set(AUDASPACE_DEFINITIONS -DWITH_AUDASPACE -DWITH_SYSTEM_AUDASPACE)
+ else()
+ add_definitions("-DAUD_DEVICE_H=<AUD_C-API.h>")
+ add_definitions("-DAUD_SPECIAL_H=<AUD_C-API.h>")
+ add_definitions("-DAUD_SOUND_H=<AUD_C-API.h>")
+ add_definitions("-DAUD_HANDLE_H=<AUD_C-API.h>")
+ add_definitions("-DAUD_SEQUENCE_H=<AUD_C-API.h>")
+ add_definitions("-DAUD_TYPES_H=<AUD_Space.h>")
+ set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern")
+ set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern")
+ set(AUDASPACE_DEFINITIONS -DWITH_AUDASPACE)
+ endif()
+endif()
+
#-----------------------------------------------------------------------------
# Check for valid directories
# ... a partial checkout may cause this.
@@ -884,9 +912,9 @@ if(UNIX AND NOT APPLE)
endif()
# Audio IO
- if(WITH_EXTERNAL_AUDASPACE)
+ if(WITH_SYSTEM_AUDASPACE)
find_package_wrapper(Audaspace)
- if(NOT AUDASPACE_FOUND OR NOT CAUDASPACE_FOUND)
+ if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND)
message(FATAL_ERROR "Audaspace external library not found!")
endif()
endif()
@@ -1550,6 +1578,16 @@ elseif(WIN32)
set(SDL_LIBPATH ${SDL}/lib)
endif()
+ # Audio IO
+ if(WITH_SYSTEM_AUDASPACE)
+ set(AUDASPACE_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace)
+ set(AUDASPACE_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace.lib)
+ set(AUDASPACE_C_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace)
+ set(AUDASPACE_C_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-c.lib)
+ set(AUDASPACE_PY_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace)
+ set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib)
+ endif()
+
# used in many places so include globally, like OpenGL
blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}")
diff --git a/SConstruct b/SConstruct
index f706645..ea3d840 100644
--- a/SConstruct
+++ b/SConstruct
@@ -540,13 +540,25 @@ else:
env['CPPFLAGS'].append('-D__LITTLE_ENDIAN__')
# TODO, make optional (as with CMake)
-env['CPPFLAGS'].append('-DWITH_AUDASPACE')
env['CPPFLAGS'].append('-DWITH_AVI')
env['CPPFLAGS'].append('-DWITH_OPENNL')
if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
env['CPPFLAGS'].append('-DHAVE_STDBOOL_H')
+# Audaspace
+
+if env['WITH_BF_AUDASPACE']:
+ env['BF_AUDASPACE_C_INC'] = '#intern/audaspace/intern'
+ env['BF_AUDASPACE_PY_INC'] = '#intern/audaspace/intern'
+ env['BF_AUDASPACE_DEF'] = ['WITH_AUDASPACE']
+ env['BF_AUDASPACE_DEF'].append('AUD_DEVICE_H="<AUD_C-API.h>"')
+ env['BF_AUDASPACE_DEF'].append('AUD_SPECIAL_H="<AUD_C-API.h>"')
+ env['BF_AUDASPACE_DEF'].append('AUD_SOUND_H="<AUD_C-API.h>"')
+ env['BF_AUDASPACE_DEF'].append('AUD_HANDLE_H="<AUD_C-API.h>"')
+ env['BF_AUDASPACE_DEF'].append('AUD_SEQUENCE_H="<AUD_C-API.h>"')
+ env['BF_AUDASPACE_DEF'].append('AUD_TYPES_H="<AUD_Space.h>"')
+
# OpenGL
if env['WITH_BF_GL_PROFILE_COMPAT']:
diff --git a/build_files/cmake/Modules/FindAudaspace.cmake b/build_files/cmake/Modules/FindAudaspace.cmake
index 361c1bf..5d0c765 100644
--- a/build_files/cmake/Modules/FindAudaspace.cmake
+++ b/build_files/cmake/Modules/FindAudaspace.cmake
@@ -4,12 +4,24 @@
# AUDASPACE_FOUND - system has audaspace
# AUDASPACE_INCLUDE_DIRS - the audaspace include directories
# AUDASPACE_LIBRARIES - link these to use audaspace
-# CAUDASPACE_FOUND - system has audaspace's C binding
-# CAUDASPACE_INCLUDE_DIRS - the audaspace's C binding include directories
-# CAUDASPACE_LIBRARIES - link these to use audaspace's C binding
-# PYAUDASPACE_FOUND - system has audaspace's python binding
-# PYAUDASPACE_INCLUDE_DIRS - the audaspace's python binding include directories
-# PYAUDASPACE_LIBRARIES - link these to use audaspace's python binding
+# AUDASPACE_C_FOUND - system has audaspace's C binding
+# AUDASPACE_C_INCLUDE_DIRS - the audaspace's C binding include directories
+# AUDASPACE_C_LIBRARIES - link these to use audaspace's C binding
+# AUDASPACE_PY_FOUND - system has audaspace's python binding
+# AUDASPACE_PY_INCLUDE_DIRS - the audaspace's python binding include directories
+# AUDASPACE_PY_LIBRARIES - link these to use audaspace's python binding
+
+IF(NOT AUDASPACE_ROOT_DIR AND NOT $ENV{AUDASPACE_ROOT_DIR} STREQUAL "")
+ SET(AUDASPACE_ROOT_DIR $ENV{AUDASPACE_ROOT_DIR})
+ENDIF()
+
+SET(_audaspace_SEARCH_DIRS
+ ${AUDASPACE_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
# Use pkg-config to get hints about paths
find_package(PkgConfig)
@@ -19,58 +31,77 @@ endif(PKG_CONFIG_FOUND)
# Include dir
find_path(AUDASPACE_INCLUDE_DIR
- NAMES audaspace/ISound.h
+ NAMES ISound.h
+ HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
)
# Library
find_library(AUDASPACE_LIBRARY
NAMES audaspace
+ HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
)
# Include dir
-find_path(CAUDASPACE_INCLUDE_DIR
- NAMES audaspace/AUD_Sound.h
+find_path(AUDASPACE_C_INCLUDE_DIR
+ NAMES AUD_Sound.h
+ HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
)
# Library
-find_library(CAUDASPACE_LIBRARY
- NAMES caudaspace
+find_library(AUDASPACE_C_LIBRARY
+ NAMES audaspace-c
+ HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
)
# Include dir
-find_path(PYAUDASPACE_INCLUDE_DIR
- NAMES audaspace/python/PyAPI.h
+find_path(AUDASPACE_PY_INCLUDE_DIR
+ NAMES python/PyAPI.h
+ HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
)
# Library
-find_library(PYAUDASPACE_LIBRARY
- NAMES pyaudaspace
+find_library(AUDASPACE_PY_LIBRARY
+ NAMES audaspace-py
+ HINTS ${_audaspace_SEARCH_DIRS}
PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
)
find_package(PackageHandleStandardArgs)
find_package_handle_standard_args(Audaspace DEFAULT_MSG AUDASPACE_LIBRARY AUDASPACE_INCLUDE_DIR)
-find_package_handle_standard_args(CAudaspace DEFAULT_MSG CAUDASPACE_LIBRARY CAUDASPACE_INCLUDE_DIR)
-find_package_handle_standard_args(PyAudaspace DEFAULT_MSG PYAUDASPACE_LIBRARY PYAUDASPACE_INCLUDE_DIR)
+find_package_handle_standard_args(Audaspace_C DEFAULT_MSG AUDASPACE_C_LIBRARY AUDASPACE_C_INCLUDE_DIR)
+find_package_handle_standard_args(Audaspace_Py DEFAULT_MSG AUDASPACE_PY_LIBRARY AUDASPACE_PY_INCLUDE_DIR)
if(AUDASPACE_FOUND)
- set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY})
- set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR})
+ set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY})
+ set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR})
endif(AUDASPACE_FOUND)
-if(CAUDASPACE_FOUND)
- set(CAUDASPACE_LIBRARIES ${CAUDASPACE_LIBRARY})
- set(CAUDASPACE_INCLUDE_DIRS ${CAUDASPACE_INCLUDE_DIR})
-endif(CAUDASPACE_FOUND)
+if(AUDASPACE_C_FOUND)
+ set(AUDASPACE_C_LIBRARIES ${AUDASPACE_C_LIBRARY})
+ set(AUDASPACE_C_INCLUDE_DIRS ${AUDASPACE_C_INCLUDE_DIR})
+endif(AUDASPACE_C_FOUND)
-if(PYAUDASPACE_FOUND)
- set(PYAUDASPACE_LIBRARIES ${PYAUDASPACE_LIBRARY})
- set(PYAUDASPACE_INCLUDE_DIRS ${PYAUDASPACE_INCLUDE_DIR})
-endif(PYAUDASPACE_FOUND)
+if(AUDASPACE_PY_FOUND)
+ set(AUDASPACE_PY_LIBRARIES ${AUDASPACE_PY_LIBRARY})
+ set(AUDASPACE_PY_INCLUDE_DIRS ${AUDASPACE_PY_INCLUDE_DIR})
+endif(AUDASPACE_PY_FOUND)
-mark_as_advanced(AUDASPACE_LIBRARY AUDASPACE_LIBRARIES AUDASPACE_INCLUDE_DIR AUDASPACE_INCLUDE_DIRS CAUDASPACE_LIBRARY CAUDASPACE_LIBRARIES CAUDASPACE_INCLUDE_DIR CAUDASPACE_INCLUDE_DIRS PYAUDASPACE_LIBRARY PYAUDASPACE_LIBRARIES PYAUDASPACE_INCLUDE_DIR PYAUDASPACE_INCLUDE_DIRS)
+mark_as_advanced(
+ AUDASPACE_LIBRARY
+ AUDASPACE_LIBRARIES
+ AUDASPACE_INCLUDE_DIR
+ AUDASPACE_INCLUDE_DIRS
+ AUDASPACE_C_LIBRARY
+ AUDASPACE_C_LIBRARIES
+ AUDASPACE_C_INCLUDE_DIR
+ AUDASPACE_C_INCLUDE_DIRS
+ AUDASPACE_PY_LIBRARY
+ AUDASPACE_PY_LIBRARIES
+ AUDASPACE_PY_INCLUDE_DIR
+ AUDASPACE_PY_INCLUDE_DIRS
+)
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index de2109b..e7fc0ec 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -343,8 +343,8 @@ function(setup_liblinks
if(WITH_BULLET AND WITH_SYSTEM_BULLET)
target_link_libraries(${target} ${BULLET_LIBRARIES})
endif()
- if(WITH_EXTERNAL_AUDASPACE)
- target_link_libraries(${target} ${CAUDASPACE_LIBRARIES} ${PYAUDASPACE_LIBRARIES})
+ if(WITH_AUDASPACE AND WITH_SYSTEM_AUDASPACE)
+ target_link_libraries(${target} ${AUDASPACE_C_LIBRARIES} ${AUDASPACE_PY_LIBRARIES})
endif()
if(WITH_OPENAL)
target_link_libraries(${target} ${OPENAL_LIBRARY})
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
index d3d4afa..0bf03a4 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -52,6 +52,8 @@ BF_CXX = '/usr'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
+WITH_BF_AUDASPACE = True
+
# we use simply jack framework
WIT
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list