aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt39
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)