diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 160b3c3..47cecb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,10 +82,17 @@ if(NOT CMAKE_BUILD_TYPE) message(STATUS "Build type not specified: defaulting to release.") endif(NOT CMAKE_BUILD_TYPE) -if ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") +if ( CMAKE_C_COMPILER_ID MATCHES "MSVC" ) # using Visual Studio C++ message(STATUS "INFO: detected MSVC: will not link math lib m") set(MATHLIB "") + + add_definitions("/D_CRT_SECURE_NO_WARNINGS") + + set(MSVC_DISABLED_WARNINGS_LIST + "C4996" + ) + else() message(STATUS "INFO: detected NO MSVC: ${CMAKE_C_COMPILER_ID}: will link math lib m") set(MATHLIB "m") @@ -138,6 +145,25 @@ set_property(TARGET PFFFT APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ###################################################### +if (USE_TYPE_FLOAT) + + add_library(PFDSP STATIC pf_mixer.cpp pf_mixer.h pf_carrier.cpp pf_carrier.h pf_cic.cpp pf_cic.h fmv.h ) + target_compile_definitions(PFDSP PRIVATE _USE_MATH_DEFINES) + if (USE_DEBUG_ASAN) + target_compile_options(PFDSP PRIVATE "-fsanitize=address") + endif() + if (USE_SIMD AND USE_SIMD_NEON) + target_compile_definitions(PFDSP PRIVATE PFFFT_ENABLE_NEON=1) + target_compile_options(PFDSP PRIVATE "-march=armv7-a" "-mfpu=neon") + endif() + target_link_libraries( PFDSP ${MATHLIB} ) + set_property(TARGET PFDSP APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + ) +endif() + +###################################################### + add_library(FFTPACK STATIC fftpack.c fftpack.h) target_compile_definitions(FFTPACK PRIVATE _USE_MATH_DEFINES) target_link_libraries( FFTPACK ${MATHLIB} ) @@ -275,6 +301,17 @@ endif() ###################################################### +if (USE_TYPE_FLOAT) + add_executable(bench_pf_mixer_float bench_mixers.c) + target_compile_definitions(bench_pf_mixer_float PRIVATE _USE_MATH_DEFINES) + target_compile_definitions(bench_pf_mixer_float PRIVATE PFFFT_ENABLE_FLOAT) + + target_link_libraries( bench_pf_mixer_float PFDSP ${ASANLIB} ) + +endif() + +###################################################### + enable_testing() if (USE_TYPE_FLOAT) |