diff --git a/.gitignore b/.gitignore index fbb2e41a978ce5904a04ae55ecdc0b6b3d038787..d75afdff2e91d1fb976776cba6a24a008457d5a5 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,6 @@ tex2pdf* # doxygen doxygen/*.md doxygen/xml + +# VS Code +.vscode/ipch/ diff --git a/include/rew/decoder/physical_audio_source.h b/include/rew/decoder/physical_audio_source.h index 9ff3d3e2f7649acc121567172dd97d52788f3613..abb84a73f5ab096dc0abcf4fb6e2b87b6688c4ea 100644 --- a/include/rew/decoder/physical_audio_source.h +++ b/include/rew/decoder/physical_audio_source.h @@ -1,12 +1,13 @@ #ifndef REW_PHYSICAL_AUDIO_READER #define REW_PHYSICAL_AUDIO_READER -#include "../common/output.h" -#include "../common/audio_device.h" #include <vector> #include <mutex> #include <queue> #include <array> +#include <condition_variable> +#include "../common/output.h" +#include "../common/audio_device.h" #ifndef PORTAUDIO_H typedef void PaStream; diff --git a/include/rew/encoder/physical_audio_sink.h b/include/rew/encoder/physical_audio_sink.h index 3389b1a10856ec9fff0a523fff1ad4aacf4e94d1..7f0530fe6decec0a51f6237f356a3e7ede93d8bc 100644 --- a/include/rew/encoder/physical_audio_sink.h +++ b/include/rew/encoder/physical_audio_sink.h @@ -1,11 +1,12 @@ #ifndef REW_PHYSICAL_AUDIO_SINK #define REW_PHYSICAL_AUDIO_SINK -#include "../common/output.h" -#include "../common/audio_device.h" #include <mutex> #include <queue> #include <vector> +#include <condition_variable> +#include "../common/output.h" +#include "../common/audio_device.h" #ifndef PORTAUDIO_H typedef void PaStream; diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index f5fc8e732733baa76fe3e3fdb16e90b186a428fe..00aa3369739131ffde467a752bfe0b938677aee2 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -5,7 +5,7 @@ include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) ExternalProject_Add(ZLIB DOWNLOAD_COMMAND "" SOURCE_DIR ${CMAKE_SOURCE_DIR}/libs/zlib - CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true + CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true -DCMAKE_SH="CMAKE_SH-NOTFOUND" BUILD_COMMAND cmake --build . --target zlibstatic --config MinSizeRel INSTALL_COMMAND "" TEST_COMMAND "" @@ -25,7 +25,7 @@ endif() ExternalProject_Add(PortAudio DOWNLOAD_COMMAND "" SOURCE_DIR ${CMAKE_SOURCE_DIR}/libs/portaudio - CMAKE_ARGS --DPA_BUILD_SHARED=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true -DPA_BUILD_STATIC=ON -DPA_BUILD_TESTS=OFF -DPA_BUILD_EXAMPLES=OFF + CMAKE_ARGS --DPA_BUILD_SHARED=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true -DPA_BUILD_STATIC=ON -DPA_BUILD_TESTS=OFF -DPA_BUILD_EXAMPLES=OFF -DCMAKE_SH="CMAKE_SH-NOTFOUND" BUILD_COMMAND cmake --build . --target portaudio_static --config MinSizeRel INSTALL_COMMAND "" TEST_COMMAND "" @@ -33,13 +33,14 @@ ExternalProject_Add(PortAudio if(MSVC) set(PORTAUDIO_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/libs/portaudio/include ${CMAKE_BINARY_DIR}/libs/PortAudio-prefix/src/PortAudio-build PARENT_SCOPE) - set(PORTAUDIO_LIBRARY ${CMAKE_BINARY_DIR}/libs/PortAudio-prefix/src/PortAudio-build/MinSizeRel/portaudio_static_x86.lib PARENT_SCOPE) -elseif(MINGW) - #set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/libs/zlib ${CMAKE_BINARY_DIR}/libs/ZLIB-prefix/src/ZLIB-build PARENT_SCOPE) - #set(ZLIB_LIBRARY ${CMAKE_BINARY_DIR}/libs/ZLIB-prefix/src/ZLIB-build/libzlibstatic.a PARENT_SCOPE) + if (CMAKE_CL_64) + set(PORTAUDIO_LIBRARY ${CMAKE_BINARY_DIR}/libs/PortAudio-prefix/src/PortAudio-build/MinSizeRel/portaudio_static_x64.lib PARENT_SCOPE) + else() + set(PORTAUDIO_LIBRARY ${CMAKE_BINARY_DIR}/libs/PortAudio-prefix/src/PortAudio-build/MinSizeRel/portaudio_static_x86.lib PARENT_SCOPE) + endif() else() - #set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/libs/zlib ${CMAKE_BINARY_DIR}/libs/ZLIB-prefix/src/ZLIB-build PARENT_SCOPE) - #set(ZLIB_LIBRARY ${CMAKE_BINARY_DIR}/libs/ZLIB-prefix/src/ZLIB-build/libz.a PARENT_SCOPE) + set(PORTAUDIO_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/libs/portaudio/include ${CMAKE_BINARY_DIR}/libs/PortAudio-prefix/src/PortAudio-build PARENT_SCOPE) + set(PORTAUDIO_LIBRARY ${CMAKE_BINARY_DIR}/libs/PortAudio-prefix/src/PortAudio-build/libportaudio.a PARENT_SCOPE) endif() # Add third party libraries which do not need compilation step diff --git a/src/rew/decoder/CMakeLists.txt b/src/rew/decoder/CMakeLists.txt index e2981e3893bf7c7603d485d98e9b19a6fbdcb2d4..c6693daf2ce87ae29b0ebc9f360fd01537cb981c 100644 --- a/src/rew/decoder/CMakeLists.txt +++ b/src/rew/decoder/CMakeLists.txt @@ -23,10 +23,13 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PORTAUDIO_INCLUDE_DIR}) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/include) target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARY} ${PORTAUDIO_LIBRARY}) -add_dependencies(${PROJECT_NAME} ZLIB) +add_dependencies(${PROJECT_NAME} ZLIB PortAudio) if(WIN32) - target_link_libraries(${PROJECT_NAME} wsock32 ws2_32) + target_link_libraries(${PROJECT_NAME} wsock32 ws2_32) +endif() +if(MINGW) + target_link_libraries(${PROJECT_NAME} Winmm SetupAPI) endif() set(DECODER_PROJECT ${PROJECT_NAME} PARENT_SCOPE) diff --git a/src/rew/encoder/CMakeLists.txt b/src/rew/encoder/CMakeLists.txt index 1f54883d46f22253ad9ef89ca1a41e16a7693e32..8d4457284861beb32674eb76488d9a83b0f0e454 100644 --- a/src/rew/encoder/CMakeLists.txt +++ b/src/rew/encoder/CMakeLists.txt @@ -22,7 +22,12 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PORTAUDIO_INCLUDE_DIR}) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/include) target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARY} ${PORTAUDIO_LIBRARY}) -add_dependencies(${PROJECT_NAME} ZLIB) +add_dependencies(${PROJECT_NAME} ZLIB PortAudio) + +if(MINGW) + target_link_libraries(${PROJECT_NAME} Winmm SetupAPI) +endif() + set(ENCODER_PROJECT ${PROJECT_NAME} PARENT_SCOPE) set(ENCODER_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include/encoder PARENT_SCOPE)