Panagiotis Christopoulos Charitos 12 лет назад
Родитель
Сommit
73d9498c2a
5 измененных файлов с 27 добавлено и 4 удалено
  1. 9 3
      CMakeLists.txt
  2. 1 1
      build/clean
  3. 0 0
      build/genmakefilemalimodel
  4. 15 0
      include/anki/Config.h.cmake
  5. 2 0
      src/util/Assert.cpp

+ 9 - 3
CMakeLists.txt

@@ -11,6 +11,12 @@ SET(ANKI_CPU "X86" CACHE STRING "The CPU arch (X86 or ARM)")
 MESSAGE("++ AnKi CPU: ${ANKI_CPU}")
 MESSAGE("++ AnKi CPU: ${ANKI_CPU}")
 OPTION(ANKI_ENABLE_MATH_SIMD "Enable or not math SIMD optimizations" ON)
 OPTION(ANKI_ENABLE_MATH_SIMD "Enable or not math SIMD optimizations" ON)
 
 
+IF(ANKI_CPU STREQUAL "X86")
+	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4 ")
+	SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4 ")
+ELSE()
+ENDIF()
+
 IF(ANKI_ENABLE_MATH_SIMD)
 IF(ANKI_ENABLE_MATH_SIMD)
 	IF(ANKI_CPU STREQUAL "X86")
 	IF(ANKI_CPU STREQUAL "X86")
 		SET(ANKI_MATH_SIMD "SSE")
 		SET(ANKI_MATH_SIMD "SSE")
@@ -81,7 +87,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -static-libstdc++")
 # Build type
 # Build type
 IF(CMAKE_BUILD_TYPE STREQUAL Debug)
 IF(CMAKE_BUILD_TYPE STREQUAL Debug)
 ELSE()
 ELSE()
-	SET(FLAGS " -ffast-math -march=native ")
+	SET(FLAGS " -ffast-math ")
 
 
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS}")
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS}")
 	SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS}")
 	SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS}")
@@ -171,9 +177,9 @@ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/anki/Config.h" DESTINATION "${INCLUDE
 ADD_DEFINITIONS("-Dthread_local=__thread")
 ADD_DEFINITIONS("-Dthread_local=__thread")
 
 
 #
 #
-# AnKi compiler flags
+# AnKi compiler flags (Mainly warnings)
 #
 #
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic-errors -pedantic -ansi -Wall -W -Wextra -Wwrite-strings -Wno-unused -Wundef -Wunused-variable -Werror -msse4 -std=c++11")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic-errors -pedantic -ansi -Wall -W -Wextra -Wwrite-strings -Wno-unused -Wundef -Wunused-variable -Werror -std=c++11")
 
 
 #
 #
 # Include & lib directories
 # Include & lib directories

+ 1 - 1
build/clean

@@ -1,2 +1,2 @@
 #!/bin/bash
 #!/bin/bash
-ls | xargs -I % echo % | grep -v clean | grep -v genmakefiledbg | grep -v genmakefilevithar | xargs -I % rm -rf %
+ls | xargs -I % echo % | grep -v clean | grep -v genmakefiledbg | grep -v genmakefilemali | grep -v genmakefilemalimodel | xargs -I % rm -rf %

+ 0 - 0
build/genmakefilevithar → build/genmakefilemalimodel


+ 15 - 0
include/anki/Config.h.cmake

@@ -42,4 +42,19 @@
 #	define ANKI_RESTRICT
 #	define ANKI_RESTRICT
 #endif
 #endif
 
 
+#define ANKI_CPU_ARCH_INTEL 1
+#define ANKI_CPU_ARCH_ARM 2
+
+#if defined(__GNUC__)
+#	if defined(__arm__)
+#		define ANKI_CPU_ARCH ANKI_CPU_ARCH_ARM
+#	elif defined(__i386__) || defined(__amd64__)
+#		define ANKI_CPU_ARCH ANKI_CPU_ARCH_INTEL
+#	else
+#		error "Unknown CPU arch"
+#	endif
+#else
+#	error "Unsupported compiler"
+#endif
+
 #endif
 #endif

+ 2 - 0
src/util/Assert.cpp

@@ -16,7 +16,9 @@ void akassert(bool expr, const char* exprTxt, const char* file, int line,
 			<< func << ") " << "Assertion failed: " << exprTxt << "\033[0m"
 			<< func << ") " << "Assertion failed: " << exprTxt << "\033[0m"
 			<< std::endl;
 			<< std::endl;
 
 
+#if ANKI_CPU_ARCH == ANKI_CPU_ARCH_INTEL
 		asm("int $3");
 		asm("int $3");
+#endif
 		abort();
 		abort();
 	}
 	}
 }
 }