@@ -12,10 +12,58 @@ if(APPLE OR WIN32)
12
12
set (CMAKE_SHARED_MODULE_SUFFIX ".scx" )
13
13
endif ()
14
14
15
- if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
16
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mstackrealign -mfpmath=sse" )
17
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mstackrealign -mfpmath=sse" )
18
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
15
+ option (CPP11 "Build with c++11." ON )
16
+
17
+ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
18
+ add_definitions (-fvisibility=hidden)
19
+
20
+ include (CheckCCompilerFlag)
21
+ include (CheckCXXCompilerFlag)
22
+
23
+ CHECK_C_COMPILER_FLAG(-msse HAS_SSE)
24
+ CHECK_CXX_COMPILER_FLAG(-msse HAS_CXX_SSE)
25
+
26
+ if (HAS_SSE)
27
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse" )
28
+ endif ()
29
+ if (HAS_CXX_SSE)
30
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse" )
31
+ endif ()
32
+
33
+ CHECK_C_COMPILER_FLAG(-msse2 HAS_SSE2)
34
+ CHECK_CXX_COMPILER_FLAG(-msse2 HAS_CXX_SSE2)
35
+
36
+ if (HAS_SSE2)
37
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2" )
38
+ endif ()
39
+ if (HAS_CXX_SSE2)
40
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2" )
41
+ endif ()
42
+
43
+ CHECK_C_COMPILER_FLAG(-mfpmath=sse HAS_FPMATH_SSE)
44
+ CHECK_CXX_COMPILER_FLAG(-mfpmath=sse HAS_CXX_FPMATH_SSE)
45
+
46
+ if (HAS_FPMATH_SSE)
47
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse" )
48
+ endif ()
49
+ if (HAS_CXX_FPMATH_SSE)
50
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse" )
51
+ endif ()
52
+
53
+ if (NATIVE)
54
+ add_definitions (-march=native)
55
+ endif ()
56
+
57
+ if (CPP11)
58
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
59
+ if (CMAKE_COMPILER_IS_CLANG)
60
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++" )
61
+ endif ()
62
+ endif ()
63
+ endif ()
64
+ if (MINGW)
65
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mstackrealign" )
66
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mstackrealign" )
19
67
endif ()
20
68
21
69
add_library (${PROJECT} MODULE BoringMixer.cpp)
0 commit comments