|
Added
Link Here
|
| 1 |
--- CMakeLists.txt.orig 2021-06-29 09:04:36 UTC |
| 2 |
+++ CMakeLists.txt |
| 3 |
@@ -87,15 +87,32 @@ message(STATUS "Host system arch is: ${CMAKE_SYSTEM_PR |
| 4 |
# Detection of available CPU optimizations |
| 5 |
if(NOT DISABLE_CPU_OPTIMIZATION) |
| 6 |
if(UNIX AND NOT APPLE) |
| 7 |
- message(STATUS "Looking for available CPU optimizations on Linux/BSD system...") |
| 8 |
- execute_process(COMMAND grep -c "avx2" /proc/cpuinfo |
| 9 |
- OUTPUT_VARIABLE AVX2) |
| 10 |
- execute_process(COMMAND grep -c "avx " /proc/cpuinfo |
| 11 |
- OUTPUT_VARIABLE AVX) |
| 12 |
- execute_process(COMMAND grep -c "sse4_1 " /proc/cpuinfo |
| 13 |
- OUTPUT_VARIABLE SSE) |
| 14 |
- execute_process(COMMAND grep -c "neon" /proc/cpuinfo |
| 15 |
- OUTPUT_VARIABLE NEON) |
| 16 |
+ if ( ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") |
| 17 |
+ message(STATUS "Looking for available CPU optimizations on FreeBSD system...") |
| 18 |
+ message (STATUS "MACHINE_CPU = ${MACHINE_CPU}") |
| 19 |
+ if (MACHINE_CPU MATCHES "avx") |
| 20 |
+ set(AVX TRUE) |
| 21 |
+ endif() |
| 22 |
+ if (MACHINE_CPU MATCHES "avx2") |
| 23 |
+ set(AVX2 TRUE) |
| 24 |
+ endif() |
| 25 |
+ if (MACHINE_CPU MATCHES "sse") |
| 26 |
+ set(SSE TRUE) |
| 27 |
+ endif() |
| 28 |
+ if (MACHINE_CPU MATCHES "neon") |
| 29 |
+ set(NEON TRUE) |
| 30 |
+ endif() |
| 31 |
+ else() |
| 32 |
+ message(STATUS "Looking for available CPU optimizations on Linux system...") |
| 33 |
+ execute_process(COMMAND grep -c "avx2" /proc/cpuinfo |
| 34 |
+ OUTPUT_VARIABLE AVX2) |
| 35 |
+ execute_process(COMMAND grep -c "avx " /proc/cpuinfo |
| 36 |
+ OUTPUT_VARIABLE AVX) |
| 37 |
+ execute_process(COMMAND grep -c "sse4_1 " /proc/cpuinfo |
| 38 |
+ OUTPUT_VARIABLE SSE) |
| 39 |
+ execute_process(COMMAND grep -c "neon" /proc/cpuinfo |
| 40 |
+ OUTPUT_VARIABLE NEON) |
| 41 |
+ endif() |
| 42 |
elseif(APPLE) |
| 43 |
if(BUILD_OSX_UNIVERSAL) |
| 44 |
# Presume AVX/AVX2 are enabled on the x86 side. The ARM side will auto-enable |
| 45 |
@@ -140,36 +157,12 @@ if(${NEON} OR ${NEON} GREATER 0) |
| 46 |
endif() |
| 47 |
|
| 48 |
# grab latest NN model (or substitute your own) |
| 49 |
-set(LPCNET_ROOT http://rowetel.com/downloads/deep/) |
| 50 |
-set(LPCNET_FILE lpcnet_191005_v1.0.tgz) |
| 51 |
-set(LPCNET_URL ${LPCNET_ROOT}${LPCNET_FILE}) |
| 52 |
+# retrieved by port |
| 53 |
+#set(LPCNET_ROOT http://rowetel.com/downloads/deep/) |
| 54 |
+#set(LPCNET_FILE lpcnet_191005_v1.0.tgz) |
| 55 |
+#set(LPCNET_URL ${LPCNET_ROOT}${LPCNET_FILE}) |
| 56 |
|
| 57 |
-if(EXISTS ${CMAKE_BINARY_DIR}/${LPCNET_FILE}) |
| 58 |
- set(lpcnet_SOURCE_DIR ${CMAKE_BINARY_DIR}/src) |
| 59 |
- file(MAKE_DIRECTORY ${lpcnet_SOURCE_DIR}) |
| 60 |
- execute_process(COMMAND tar -xzf ${CMAKE_BINARY_DIR}/${LPCNET_FILE} -C ${CMAKE_BINARY_DIR}/src) |
| 61 |
- |
| 62 |
-# Work around not having the FetchContent module. |
| 63 |
-elseif(CMAKE_VERSION VERSION_LESS 3.11.4) |
| 64 |
- set(lpcnet_SOURCE_DIR ${CMAKE_BINARY_DIR}/src) |
| 65 |
- if(NOT EXISTS ${lpcnet_SOURCE_DIR}) |
| 66 |
- file(DOWNLOAD ${LPCNET_URL} |
| 67 |
- ${CMAKE_BINARY_DIR}/${LPCNET_FILE} |
| 68 |
- SHOW_PROGRESS |
| 69 |
- ) |
| 70 |
- file(MAKE_DIRECTORY ${lpcnet_SOURCE_DIR}) |
| 71 |
- execute_process(COMMAND tar -xzf ${CMAKE_BINARY_DIR}/${LPCNET_FILE} -C ${CMAKE_BINARY_DIR}/src) |
| 72 |
- endif() |
| 73 |
-else() |
| 74 |
- include(FetchContent) |
| 75 |
- FetchContent_Declare( |
| 76 |
- lpcnet |
| 77 |
- URL ${LPCNET_URL}) |
| 78 |
- FetchContent_GetProperties(lpcnet) |
| 79 |
- if(NOT lpcnet_POPULATED) |
| 80 |
- FetchContent_Populate(lpcnet) |
| 81 |
- endif() |
| 82 |
-endif() |
| 83 |
+set(lpcnet_SOURCE_DIR ${WRKDIR}) |
| 84 |
|
| 85 |
# Find codec2 |
| 86 |
if(CODEC2_BUILD_DIR) |