Răsfoiți Sursa

Build system: change to way checking for Clang is done

Also add checks for gcc and set almost the same options as for clang.
nemerle 9 ani în urmă
părinte
comite
c3e3d03819
1 a modificat fișierele cu 9 adăugiri și 2 ștergeri
  1. 9 2
      Source/CMakeLists.txt

+ 9 - 2
Source/CMakeLists.txt

@@ -53,13 +53,20 @@ if(MSVC)
 	set(CMAKE_CXX_FLAGS_OPTIMIZEDDEBUG "${BS_COMPILER_FLAGS_COMMON} /GL /Gy /Zi /Gm /O2 /Oi /MD")
 	set(CMAKE_CXX_FLAGS_RELEASE "${BS_COMPILER_FLAGS_COMMON} /GL /Gy /O2 /Oi /MD /MP")
 	
-elseif(CLANG) # Note: CLANG not defined anywhere yet
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
 	# Note: Optionally add -ffunction-sections, -fdata-sections, but with linker option --gc-sections
 	set(BS_COMPILER_FLAGS_COMMON "-fpic -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-ms-compatibility -fms-extensions")
 	
 	set(CMAKE_CXX_FLAGS_DEBUG "${BS_COMPILER_FLAGS_COMMON} -g -O0")
 	set(CMAKE_CXX_FLAGS_OPTIMIZEDDEBUG "${BS_COMPILER_FLAGS_COMMON} -gline-tables-only -O2")
 	set(CMAKE_CXX_FLAGS_RELEASE "${BS_COMPILER_FLAGS_COMMON} -g0 -O2")
+elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+	set(BS_COMPILER_FLAGS_COMMON "-fpic -fno-exceptions -fno-strict-aliasing -fno-rtti")
+	
+	set(CMAKE_CXX_FLAGS_DEBUG "${BS_COMPILER_FLAGS_COMMON} -g -O0")
+	set(CMAKE_CXX_FLAGS_OPTIMIZEDDEBUG "${BS_COMPILER_FLAGS_COMMON} -gline-tables-only -O2")
+	set(CMAKE_CXX_FLAGS_RELEASE "${BS_COMPILER_FLAGS_COMMON} -g0 -O2")
+
 else()
 # TODO_OTHER_COMPILERS_GO_HERE
 endif()
@@ -158,4 +165,4 @@ if(MSVC)
 	set_property(TARGET MBansheeEditor PROPERTY FOLDER Script)
 else()
 # TODO - Use Mono compiler to build the managed code as a pre-build step
-endif()
+endif()