diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2023-11-22 00:13:20 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2023-11-22 00:13:20 +0300 |
commit | 3e18d9675910313a53f94fd454e32a8990107632 (patch) | |
tree | 820eef34db763cbd536ceac2b11fb74a51209a1d | |
parent | 239d223d84c20d5c146ce6d5200b1b148ab85af6 (diff) |
Trying to fix CMake build
aka banging on it until it builds on my machine.
Further improvements welcome
-rw-r--r-- | CMakeLists.txt | 24 | ||||
-rw-r--r-- | cmake/OpusSources.cmake | 12 |
2 files changed, 31 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 450275ba..89352b3f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,10 @@ set(OPUS_CHECK_ASM_HELP_STR "enable bit-exactness checks between optimized and c option(OPUS_CHECK_ASM ${OPUS_CHECK_ASM_HELP_STR} OFF) add_feature_info(OPUS_CHECK_ASM OPUS_CHECK_ASM ${OPUS_CHECK_ASM_HELP_STR}) +set(OPUS_DNN_FLOAT_DEBUG_HELP_STR "Run DNN computations as float for debugging purposes.") +option(OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR} OFF) +add_feature_info(OPUS_DNN_FLOAT_DEBUG OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR}) + set(OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR "install pkg-config module.") option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ON) add_feature_info(OPUS_INSTALL_PKG_CONFIG_MODULE OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR}) @@ -314,6 +318,10 @@ if(OPUS_CHECK_ASM) target_compile_definitions(opus PRIVATE OPUS_CHECK_ASM) endif() +if(NOT OPUS_DNN_FLOAT_DEBUG) + target_compile_definitions(opus PRIVATE DISABLE_DEBUG_FLOAT) +endif() + if(OPUS_VAR_ARRAYS) target_compile_definitions(opus PRIVATE VAR_ARRAYS) elseif(OPUS_USE_ALLOCA) @@ -356,7 +364,8 @@ endif() add_sources_group(opus silk ${silk_headers} ${silk_sources}) add_sources_group(opus celt ${celt_headers} ${celt_sources}) -add_sources_group(opus lpcnet ${lpcnet_headers} ${lpcnet_sources}) +add_sources_group(opus lpcnet ${deep_plc_headers} ${deep_plc_sources}) +add_sources_group(opus lpcnet ${dred_headers} ${dred_sources}) if(OPUS_FIXED_POINT) add_sources_group(opus silk ${silk_sources_fixed}) @@ -396,6 +405,7 @@ if(NOT OPUS_DISABLE_INTRINSICS) endif() add_sources_group(opus celt ${celt_sources_x86_rtcd}) add_sources_group(opus silk ${silk_sources_x86_rtcd}) + add_sources_group(opus lpcnet ${dnn_sources_x86_rtcd}) endif() if(SSE1_SUPPORTED) @@ -417,9 +427,10 @@ if(NOT OPUS_DISABLE_INTRINSICS) if(SSE2_SUPPORTED) if(OPUS_X86_MAY_HAVE_SSE2) add_sources_group(opus celt ${celt_sources_sse2}) + add_sources_group(opus lpcnet ${dnn_sources_sse2}) target_compile_definitions(opus PRIVATE OPUS_X86_MAY_HAVE_SSE2) if(NOT MSVC) - set_source_files_properties(${celt_sources_sse2} PROPERTIES COMPILE_FLAGS -msse2) + set_source_files_properties(${celt_sources_sse2} ${dnn_sources_sse2} PROPERTIES COMPILE_FLAGS -msse2) endif() endif() if(OPUS_X86_PRESUME_SSE2) @@ -434,9 +445,10 @@ if(NOT OPUS_DISABLE_INTRINSICS) if(OPUS_X86_MAY_HAVE_SSE4_1) add_sources_group(opus celt ${celt_sources_sse4_1}) add_sources_group(opus silk ${silk_sources_sse4_1}) + add_sources_group(opus lpcnet ${dnn_sources_sse4_1}) target_compile_definitions(opus PRIVATE OPUS_X86_MAY_HAVE_SSE4_1) if(NOT MSVC) - set_source_files_properties(${celt_sources_sse4_1} ${silk_sources_sse4_1} PROPERTIES COMPILE_FLAGS -msse4.1) + set_source_files_properties(${celt_sources_sse4_1} ${silk_sources_sse4_1} ${dnn_sources_sse4_1} PROPERTIES COMPILE_FLAGS -msse4.1) endif() if(OPUS_FIXED_POINT) @@ -457,6 +469,9 @@ if(NOT OPUS_DISABLE_INTRINSICS) if(AVX2_SUPPORTED) if(OPUS_X86_MAY_HAVE_AVX2) add_sources_group(opus celt ${celt_sources_avx2}) + add_sources_group(opus silk ${silk_sources_avx2}) + add_sources_group(opus silk ${silk_sources_float_avx2}) + add_sources_group(opus lpcnet ${dnn_sources_avx2}) target_compile_definitions(opus PRIVATE OPUS_X86_MAY_HAVE_AVX2) if(MSVC) set(AVX2_FLAGS "${AVX2_FLAGS} /arch:AVX2") @@ -464,6 +479,9 @@ if(NOT OPUS_DISABLE_INTRINSICS) set(AVX2_FLAGS "${AVX2_FLAGS} -mavx2 -mfma -mavx") endif() set_source_files_properties(${celt_sources_avx2} PROPERTIES COMPILE_FLAGS ${AVX2_FLAGS}) + set_source_files_properties(${silk_sources_avx2} PROPERTIES COMPILE_FLAGS ${AVX2_FLAGS}) + set_source_files_properties(${silk_sources_float_avx2} PROPERTIES COMPILE_FLAGS ${AVX2_FLAGS}) + set_source_files_properties(${dnn_sources_avx2} PROPERTIES COMPILE_FLAGS ${AVX2_FLAGS}) endif() if(OPUS_X86_PRESUME_AVX2) target_compile_definitions(opus PRIVATE OPUS_X86_PRESUME_AVX2) diff --git a/cmake/OpusSources.cmake b/cmake/OpusSources.cmake index a9a1c098..a0259373 100644 --- a/cmake/OpusSources.cmake +++ b/cmake/OpusSources.cmake @@ -13,6 +13,8 @@ get_opus_sources(SILK_SOURCES_X86_RTCD silk_sources.mk silk_sources_x86_rtcd) get_opus_sources(SILK_SOURCES_SSE4_1 silk_sources.mk silk_sources_sse4_1) get_opus_sources(SILK_SOURCES_FIXED_SSE4_1 silk_sources.mk silk_sources_fixed_sse4_1) +get_opus_sources(SILK_SOURCES_AVX2 silk_sources.mk silk_sources_avx2) +get_opus_sources(SILK_SOURCES_FLOAT_AVX2 silk_sources.mk silk_sources_float_avx2) get_opus_sources(SILK_SOURCES_ARM_RTCD silk_sources.mk silk_sources_arm_rtcd) get_opus_sources(SILK_SOURCES_ARM_NEON_INTR silk_sources.mk silk_sources_arm_neon_intr) @@ -38,8 +40,14 @@ get_opus_sources(CELT_SOURCES_ARM_NEON_INTR celt_sources.mk celt_sources_arm_neon_intr) get_opus_sources(CELT_SOURCES_ARM_NE10 celt_sources.mk celt_sources_arm_ne10) -get_opus_sources(LPCNET_HEAD lpcnet_headers.mk lpcnet_headers) -get_opus_sources(LPCNET_SOURCES lpcnet_sources.mk lpcnet_sources) +get_opus_sources(DEEP_PLC_HEAD lpcnet_headers.mk deep_plc_headers) +get_opus_sources(DRED_HEAD lpcnet_headers.mk dred_headers) +get_opus_sources(DEEP_PLC_SOURCES lpcnet_sources.mk deep_plc_sources) +get_opus_sources(DRED_SOURCES lpcnet_sources.mk dred_sources) +get_opus_sources(DNN_SOURCES_X86_RTCD lpcnet_sources.mk dnn_sources_x86_rtcd) +get_opus_sources(DNN_SOURCES_SSE2 lpcnet_sources.mk dnn_sources_sse2) +get_opus_sources(DNN_SOURCES_SSE4_1 lpcnet_sources.mk dnn_sources_sse4_1) +get_opus_sources(DNN_SOURCES_AVX2 lpcnet_sources.mk dnn_sources_avx2) get_opus_sources(opus_demo_SOURCES Makefile.am opus_demo_sources) get_opus_sources(opus_custom_demo_SOURCES Makefile.am opus_custom_demo_sources) |