Skip to content

Commit 405acf0

Browse files
author
Nathan Ho
committed
update some CMakeLists.txt
1 parent bc52f50 commit 405acf0

File tree

2 files changed

+104
-8
lines changed

2 files changed

+104
-8
lines changed

01-BoringMixer/CMakeLists.txt

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,58 @@ if(APPLE OR WIN32)
1212
set(CMAKE_SHARED_MODULE_SUFFIX ".scx")
1313
endif()
1414

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")
1967
endif()
2068

2169
add_library(${PROJECT} MODULE BoringMixer.cpp)

02-MySaw/CMakeLists.txt

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,58 @@ if(APPLE OR WIN32)
1212
set(CMAKE_SHARED_MODULE_SUFFIX ".scx")
1313
endif()
1414

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")
1967
endif()
2068

2169
add_library(${PROJECT} MODULE MySaw.cpp)

0 commit comments

Comments
 (0)