Sfoglia il codice sorgente

AI/CMakeLists.txt: disable some errors for FuzzyLite

It generates false positives on MinGW due to Fuzzylite errorneous
assuming than Windows=MSVC.
Konstantin 2 anni fa
parent
commit
3ea4e8c249
1 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  1. 8 0
      AI/CMakeLists.txt

+ 8 - 0
AI/CMakeLists.txt

@@ -12,6 +12,10 @@ if(TBB_FOUND AND MSVC)
 	   install_vcpkg_imported_tgt(TBB::tbb)
 endif()
 
+#FuzzyLite uses MSVC pragmas in headers, so, we need to disable -Wunknown-pragmas
+if(MINGW)
+    add_compile_options(-Wno-unknown-pragmas)
+endif()
 
 if(NOT FORCE_BUNDLED_FL)
 	find_package(fuzzylite)
@@ -27,6 +31,10 @@ if(NOT fuzzylite_FOUND)
     set(FL_BUILD_BINARY OFF CACHE BOOL "")
     set(FL_BUILD_SHARED OFF CACHE BOOL "")
 	set(FL_BUILD_TESTS OFF CACHE BOOL "")
+	#It is for compiling FuzzyLite, it will not compile without it on GCC
+	if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+		add_compile_options(-Wno-error=deprecated-declarations)
+	endif()
 	add_subdirectory(FuzzyLite/fuzzylite EXCLUDE_FROM_ALL)
 	add_library(fuzzylite::fuzzylite ALIAS fl-static)
 	target_include_directories(fl-static PUBLIC ${CMAKE_HOME_DIRECTORY}/AI/FuzzyLite/fuzzylite)