summaryrefslogtreecommitdiff
path: root/portaudio/cmake_support
diff options
context:
space:
mode:
Diffstat (limited to 'portaudio/cmake_support')
-rw-r--r--portaudio/cmake_support/FindASIOSDK.cmake41
-rw-r--r--portaudio/cmake_support/FindJack.cmake41
-rw-r--r--portaudio/cmake_support/cmake_uninstall.cmake.in21
-rw-r--r--portaudio/cmake_support/options_cmake.h.in31
-rw-r--r--portaudio/cmake_support/portaudio-2.0.pc.in12
-rw-r--r--portaudio/cmake_support/portaudioConfig.cmake.in1
-rw-r--r--portaudio/cmake_support/template_portaudio.def61
7 files changed, 208 insertions, 0 deletions
diff --git a/portaudio/cmake_support/FindASIOSDK.cmake b/portaudio/cmake_support/FindASIOSDK.cmake
new file mode 100644
index 0000000..55ad33d
--- /dev/null
+++ b/portaudio/cmake_support/FindASIOSDK.cmake
@@ -0,0 +1,41 @@
+# $Id: $
+#
+# - Try to find the ASIO SDK
+# Once done this will define
+#
+# ASIOSDK_FOUND - system has ASIO SDK
+# ASIOSDK_ROOT_DIR - path to the ASIO SDK base directory
+# ASIOSDK_INCLUDE_DIR - the ASIO SDK include directory
+
+if(WIN32)
+else(WIN32)
+ message(FATAL_ERROR "FindASIOSDK.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" )
+endif(WIN32)
+
+file(GLOB results "${CMAKE_CURRENT_SOURCE_DIR}/../as*")
+foreach(f ${results})
+ if(IS_DIRECTORY ${f})
+ set(ASIOSDK_PATH_HINT ${ASIOSDK_PATH_HINT} ${f})
+ endif()
+endforeach()
+
+find_path(ASIOSDK_ROOT_DIR
+ common/asio.h
+ HINTS
+ ${ASIOSDK_PATH_HINT}
+)
+
+find_path(ASIOSDK_INCLUDE_DIR
+ asio.h
+ PATHS
+ ${ASIOSDK_ROOT_DIR}/common
+)
+
+# handle the QUIETLY and REQUIRED arguments and set ASIOSDK_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASIOSDK DEFAULT_MSG ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(
+ ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR
+)
diff --git a/portaudio/cmake_support/FindJack.cmake b/portaudio/cmake_support/FindJack.cmake
new file mode 100644
index 0000000..96e0b50
--- /dev/null
+++ b/portaudio/cmake_support/FindJack.cmake
@@ -0,0 +1,41 @@
+# - Try to find jack
+# Once done this will define
+# JACK_FOUND - System has jack
+# JACK_INCLUDE_DIRS - The jack include directories
+# JACK_LIBRARIES - The libraries needed to use jack
+# JACK_DEFINITIONS - Compiler switches required for using jack
+
+if (JACK_LIBRARIES AND JACK_INCLUDE_DIRS)
+
+ # in cache already
+ set(JACK_FOUND TRUE)
+
+else (JACK_LIBRARIES AND JACK_INCLUDE_DIRS)
+
+ set(JACK_DEFINITIONS "")
+
+ # Look for pkg-config and use it (if available) to find package
+ find_package(PkgConfig QUIET)
+ if (PKG_CONFIG_FOUND)
+ pkg_search_module(JACK QUIET jack)
+ endif (PKG_CONFIG_FOUND)
+
+ if (NOT JACK_FOUND)
+
+ find_path(JACK_INCLUDE_DIR jack/jack.h HINTS ${JACK_INCLUDEDIR} ${JACK_INCLUDE_DIRS} PATH_SUFFIXES jack)
+ find_library(JACK_LIBRARY NAMES jack HINTS ${JACK_LIBDIR} ${JACK_LIBRARY_DIRS})
+
+ set(JACK_LIBRARIES ${JACK_LIBRARY})
+ set(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
+
+ include(FindPackageHandleStandardArgs)
+
+ # Set JACK_FOUND if the library and include paths were found
+ find_package_handle_standard_args(jack DEFAULT_MSG JACK_LIBRARY JACK_INCLUDE_DIR)
+
+ # Don't show include/library paths in cmake GUI
+ mark_as_advanced(JACK_INCLUDE_DIR JACK_LIBRARY)
+
+ endif (NOT JACK_FOUND)
+
+endif (JACK_LIBRARIES AND JACK_INCLUDE_DIRS)
diff --git a/portaudio/cmake_support/cmake_uninstall.cmake.in b/portaudio/cmake_support/cmake_uninstall.cmake.in
new file mode 100644
index 0000000..2037e36
--- /dev/null
+++ b/portaudio/cmake_support/cmake_uninstall.cmake.in
@@ -0,0 +1,21 @@
+if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+
+file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+string(REGEX REPLACE "\n" ";" files "${files}")
+foreach(file ${files})
+ message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
+ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+ exec_program(
+ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
+ OUTPUT_VARIABLE rm_out
+ RETURN_VALUE rm_retval
+ )
+ if(NOT "${rm_retval}" STREQUAL 0)
+ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
+ endif(NOT "${rm_retval}" STREQUAL 0)
+ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+ message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
+ endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
+endforeach(file)
diff --git a/portaudio/cmake_support/options_cmake.h.in b/portaudio/cmake_support/options_cmake.h.in
new file mode 100644
index 0000000..cd07605
--- /dev/null
+++ b/portaudio/cmake_support/options_cmake.h.in
@@ -0,0 +1,31 @@
+/* $Id: $
+
+ !!! @GENERATED_MESSAGE@ !!!
+
+ Header file configured by CMake to convert CMake options/vars to macros. It is done this way because if set via
+ preprocessor options, MSVC f.i. has no way of knowing when an option (or var) changes as there is no dependency chain.
+
+ The generated "options_cmake.h" should be included like so:
+
+ #ifdef PORTAUDIO_CMAKE_GENERATED
+ #include "options_cmake.h"
+ #endif
+
+ so that non-CMake build environments are left intact.
+
+ Source template: cmake_support/options_cmake.h.in
+*/
+
+#ifdef _WIN32
+#if defined(PA_USE_ASIO) || defined(PA_USE_DS) || defined(PA_USE_WMME) || defined(PA_USE_WASAPI) || defined(PA_USE_WDMKS)
+#error "This header needs to be included before pa_hostapi.h!!"
+#endif
+
+#cmakedefine01 PA_USE_ASIO
+#cmakedefine01 PA_USE_DS
+#cmakedefine01 PA_USE_WMME
+#cmakedefine01 PA_USE_WASAPI
+#cmakedefine01 PA_USE_WDMKS
+#else
+#error "Platform currently not supported by CMake script"
+#endif
diff --git a/portaudio/cmake_support/portaudio-2.0.pc.in b/portaudio/cmake_support/portaudio-2.0.pc.in
new file mode 100644
index 0000000..738803d
--- /dev/null
+++ b/portaudio/cmake_support/portaudio-2.0.pc.in
@@ -0,0 +1,12 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: PortAudio
+Description: Portable audio I/O
+Requires:
+Version: @PA_PKGCONFIG_VERSION@
+
+Libs: -L${libdir} -lportaudio @PA_PKGCONFIG_LDFLAGS@
+Cflags: -I${includedir} @PA_PKGCONFIG_CFLAGS@
diff --git a/portaudio/cmake_support/portaudioConfig.cmake.in b/portaudio/cmake_support/portaudioConfig.cmake.in
new file mode 100644
index 0000000..cacc476
--- /dev/null
+++ b/portaudio/cmake_support/portaudioConfig.cmake.in
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/portaudioTargets.cmake")
diff --git a/portaudio/cmake_support/template_portaudio.def b/portaudio/cmake_support/template_portaudio.def
new file mode 100644
index 0000000..9cf0dc3
--- /dev/null
+++ b/portaudio/cmake_support/template_portaudio.def
@@ -0,0 +1,61 @@
+; $Id: $
+;
+; !!! @GENERATED_MESSAGE@ !!!
+EXPORTS
+
+;
+Pa_GetVersion @1
+Pa_GetVersionText @2
+Pa_GetErrorText @3
+Pa_Initialize @4
+Pa_Terminate @5
+Pa_GetHostApiCount @6
+Pa_GetDefaultHostApi @7
+Pa_GetHostApiInfo @8
+Pa_HostApiTypeIdToHostApiIndex @9
+Pa_HostApiDeviceIndexToDeviceIndex @10
+Pa_GetLastHostErrorInfo @11
+Pa_GetDeviceCount @12
+Pa_GetDefaultInputDevice @13
+Pa_GetDefaultOutputDevice @14
+Pa_GetDeviceInfo @15
+Pa_IsFormatSupported @16
+Pa_OpenStream @17
+Pa_OpenDefaultStream @18
+Pa_CloseStream @19
+Pa_SetStreamFinishedCallback @20
+Pa_StartStream @21
+Pa_StopStream @22
+Pa_AbortStream @23
+Pa_IsStreamStopped @24
+Pa_IsStreamActive @25
+Pa_GetStreamInfo @26
+Pa_GetStreamTime @27
+Pa_GetStreamCpuLoad @28
+Pa_ReadStream @29
+Pa_WriteStream @30
+Pa_GetStreamReadAvailable @31
+Pa_GetStreamWriteAvailable @32
+Pa_GetSampleSize @33
+Pa_Sleep @34
+@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetAvailableBufferSizes @50
+@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_ShowControlPanel @51
+@DEF_EXCLUDE_X86_PLAIN_CONVERTERS@PaUtil_InitializeX86PlainConverters @52
+@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetInputChannelName @53
+@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetOutputChannelName @54
+PaUtil_SetDebugPrintFunction @55
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetAudioClient @56
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_UpdateDeviceList @57
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceCurrentFormat @58
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceDefaultFormat @59
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceMixFormat @60
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceRole @61
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_ThreadPriorityBoost @62
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_ThreadPriorityRevert @63
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetFramesPerHostBuffer @64
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetJackCount @65
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetJackDescription @66
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_SetStreamStateHandler @68
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapiWinrt_SetDefaultDeviceId @67
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapiWinrt_PopulateDeviceList @69
+@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetIMMDevice @70