Prevent overriding of user-define CFLAGS, including -march flag.
The flag -msse4.1 is required otherwise compile will not be able to inline sse4.1 code.
Note: code should detect CPU features at runtime and use sse4.1 paths only if supported by CPU.

--- a/Source/GmmLib/CMakeLists.txt
+++ b/Source/GmmLib/CMakeLists.txt
@@ -54,6 +54,10 @@ if(NOT DEFINED BS_USE_OSDM_BUILD_SYSTEM)
     endif()
 endif()
 
+if(NOT DEFINED OVERRIDE_COMPILER_FLAGS)
+    option(OVERRIDE_COMPILER_FLAGS "Override user compiler FLAGS and use lib defaults" ON)
+endif()
+
 # begin -- label bldsys file prologue
 # WARNING: The "project" statement triggers reading of CMAKE_TOOLCHAIN_FILE
 #   and so must precede the inclusion below of bs_init.cmake .
--- a/Source/GmmLib/Linux.cmake
+++ b/Source/GmmLib/Linux.cmake
@@ -38,7 +38,10 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
     -Werror=format-security
     -Werror=non-virtual-dtor
     -Werror=return-type
+    )
 
+if (OVERRIDE_COMPILER_FLAGS)
+    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
     # General optimization options
     -march=${GMMLIB_MARCH}
     -mpopcnt
@@ -47,19 +50,31 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
     -msse3
     -mssse3
     -msse4
-    -msse4.1
     -msse4.2
+    )
+endif()
+
+list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+    -msse4.1 # SSE4.1 compiler support is required to build
     -mfpmath=sse
     -finline-functions
     -fno-short-enums
     -Wa,--noexecstack
     -fno-strict-aliasing
+    )
+
+if (OVERRIDE_COMPILER_FLAGS)
+    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
     # Common defines
     -DUSE_MMX
     -DUSE_SSE
     -DUSE_SSE2
     -DUSE_SSE3
     -DUSE_SSSE3
+    )
+endif()
+
+list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
     # Other common flags
     -fstack-protector
     -fdata-sections
@@ -67,10 +82,15 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
     -fmessage-length=0
     -fvisibility=hidden
     -fPIC
+    )
+
+if (OVERRIDE_COMPILER_FLAGS)
+    list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
     -g
     # -m32 or -m64
     -m${GMMLIB_ARCH}
     )
+endif()
 
 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
 #Gcc only flags
@@ -128,13 +148,17 @@ SET( GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL  ${GMMLIB_COMPILER_FLAGS_RELEASE})
 
 #set predefined compiler flags set
 add_compile_options("${GMMLIB_COMPILER_FLAGS_COMMON}")
+if (OVERRIDE_COMPILER_FLAGS)
 add_compile_options("$<$<CONFIG:Debug>:${GMMLIB_COMPILER_FLAGS_DEBUG}>")
 add_compile_options("$<$<CONFIG:Release>:${GMMLIB_COMPILER_FLAGS_RELEASE}>")
 add_compile_options("$<$<CONFIG:ReleaseInternal>:${GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL}>")
 #cmake 3.3+, add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:${GMMLIB_COMPILER_CXX_FLAGS_COMMON}>")
+endif()
 foreach (flag ${GMMLIB_COMPILER_CXX_FLAGS_COMMON})
     SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
 endforeach()
 
+if (OVERRIDE_COMPILER_FLAGS)
 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m${GMMLIB_ARCH}")
 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m${GMMLIB_ARCH}")
+endif()

