Description: FTBFS: incompatible compiler options
 photoflow fails to build from source on !x86, because it passes
 x86-specific compiler options. These should only be present on x86.
Author: Helmut Grohne <helmut@subdivi.de>
Bug: https://github.com/aferrero2707/PhotoFlow/issues/217
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=968412
Forwarded: https://github.com/aferrero2707/PhotoFlow/issues/217
Reviewed-By: Gürkan Myczko <gurkan@phys.ethz.ch>
Last-Update: 2020-11-10

--- photoflow-0.2.8+git20200114.orig/src/CMakeLists.txt
+++ photoflow-0.2.8+git20200114/src/CMakeLists.txt
@@ -1,12 +1,26 @@
+SET(GMIC_FLAGS "-Dgmic_build -Dcimg_use_vt100 -Dcimg_use_fftw3 -Dcimg_use_tiff -Dcimg_use_zlib -Dcimg_display=0 -fpermissive")
 IF(MINGW)
-  SET(GMIC_FLAGS "-std=gnu++14 -march=nocona -mno-sse3 -mtune=generic -Dgmic_build -Dcimg_use_vt100 -Dgmic_is_parallel -Dcimg_use_fftw3 -Dcimg_use_tiff -Dcimg_use_zlib -Dcimg_display=0 -fno-ipa-sra -fpermissive")
+  SET(GMIC_FLAGS "${GMIC_FLAGS} -std=gnu++14 -Dgmic_is_parallel -fno-ipa-sra")
 ELSEIF(APPLE)
   #SET(GMIC_FLAGS "-DPF_DISABLE_GMIC -std=c++11 -Wno-error=c++11-narrowing -Dgmic_build -W  -Dcimg_use_vt100 -Dcimg_use_fftw3 -Dcimg_use_tiff -Dcimg_use_zlib -Dcimg_display=0 -Dcimg_use_fftw3_singlethread -fpermissive")
-  SET(GMIC_FLAGS "-march=nocona -mno-sse3 -mtune=generic -Dgmic_build -Dcimg_use_vt100 -Dcimg_use_fftw3 -Dcimg_use_tiff -Dcimg_use_zlib -Dcimg_display=0 -Dcimg_use_fftw3_singlethread -fpermissive")
+  SET(GMIC_FLAGS "${GMIC_FLAGS} -Dcimg_use_fftw3_singlethread")
   #SET(GMIC_FLAGS "-Wno-error=c++11-narrowing -Dgmic_build -Dcimg_use_vt100 -Dcimg_use_fftw3 -Dcimg_use_tiff -Dcimg_use_zlib -Dcimg_display=0 -Dcimg_use_fftw3_singlethread -fpermissive")
 ELSE(MINGW)
-  SET(GMIC_FLAGS "-std=gnu++14 -march=nocona -mno-sse3 -mtune=generic -Wno-error=narrowing -Dgmic_build -Dcimg_use_vt100 -Dgmic_is_parallel -Dcimg_use_fftw3 -Dcimg_use_tiff -Dcimg_use_zlib -Dcimg_display=0 -fno-ipa-sra -fpermissive")
+  SET(GMIC_FLAGS "${GMIC_FLAGS} -std=gnu++14 -Wno-error=narrowing -Dgmic_is_parallel -fno-ipa-sra")
 ENDIF(MINGW)
+include(CheckCCompilerFlag)
+check_c_compiler_flag(-no-sse3 HAVE_NO_SSE3)
+IF(HAVE_NO_SSE3)
+  SET(GMIC_FLAGS "${GMIC_FLAGS} -no-sse3")
+ENDIF()
+check_c_compiler_flag(-march=nocona HAVE_MARCH_NOCONA)
+IF(HAVE_MARCH_NOCONA)
+  SET(GMIC_FLAGS "${GMIC_FLAGS} -march=nocona")
+ENDIF()
+check_c_compiler_flag(-mtune=generic HAVE_MTUNE_GENERIC)
+IF(HAVE_MTUNE_GENERIC)
+  SET(GMIC_FLAGS "${GMIC_FLAGS} -mtune=generic")
+ENDIF()
 
 set(COMPILE_FLAGS " ${GMIC_FLAGS} -I${CMAKE_SOURCE_DIR}/src/dt -DLIBRAW_NODLL -DINSTALL_PREFIX='\"${INSTALL_PREFIX}\"' ")
 IF(APPLE)
