diff --git a/CMakeLists.txt b/CMakeLists.txt index 17379f3..e00acd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,5 @@ +include(CheckCXXCompilerFlag) + set(SRCS src/AAFilter.cpp src/BPMDetect.cpp @@ -14,5 +16,18 @@ set(SRCS src/sse_optimized.cpp src/TDStretch.cpp) +if(NOT MSVC) + check_cxx_compiler_flag(-mmmx SOUNDTOUCH_HAS_MMMX) + check_cxx_compiler_flag(-msse SOUNDTOUCH_HAS_MSSE) + if(SOUNDTOUCH_HAS_MMMX) + set_source_files_properties(src/mmx_optimized.cpp + PROPERTIES COMPILE_FLAGS "-mmmx") + endif() + if(SOUNDTOUCH_HAS_MSSE) + set_source_files_properties(src/sse_optimized.cpp + PROPERTIES COMPILE_FLAGS "-msse") + endif() +endif() + add_library(SoundTouch STATIC ${SRCS}) target_include_directories(SoundTouch PUBLIC include PRIVATE src)