forked from rantala/string-sorting
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
83 lines (75 loc) · 2.66 KB
/
Copy pathCMakeLists.txt
File metadata and controls
83 lines (75 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
cmake_minimum_required(VERSION 2.4)
project(sortstring)
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
include_directories(src src/util)
include_directories(/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/)
#link_libraries(rt)
set(INTERNAL_SRCS
src/msd_a.cpp
src/msd_a2.cpp
src/msd_lsd.cpp
src/msd_ce.cpp
src/msd_ci.cpp
src/msd_dyn_block.cpp
src/msd_dyn_vector.cpp
src/burstsort.cpp
src/burstsort2.cpp
src/burstsort_mkq.cpp
src/multikey_simd.cpp
src/multikey_dynamic.cpp
src/multikey_block.cpp
src/multikey_multipivot.cpp
src/multikey_cache.cpp
src/mergesort.cpp
src/mergesort_unstable.cpp
src/mergesort_losertree.cpp
src/mergesort_lcp.cpp
src/funnelsort.cpp
src/routines.c
src/sortstring.c
src/util/timing.c
src/util/cpus_allowed.c
src/util/vmainfo.c)
set(EXTERNAL_SRCS
external/lcp-quicksort.cpp
external/lcp-quicksort-sse.cpp
external/lcp-quicksort-sse-cache.cpp
external/mbmradix.c
external/quicksort.c
external/mkqsort.c
external/forward8.c
external/cradix.c
external/cradix-improved.c
external/msd.c
external/multikey.c
external/burstsortL.c
external/utils.c
external/adaptive.c
external/burstsortA.c
external/forward16.c
external/parallel_string_radix_sort.cpp)
add_executable(sortstring
${INTERNAL_SRCS}
${EXTERNAL_SRCS})
option(USE_ICC "Use the Intel C/C++ compiler" OFF)
if(USE_ICC)
add_definitions(-restrict)
set(CMAKE_CXX_COMPILER "icpc")
set(CMAKE_C_COMPILER "icc")
set(CMAKE_CXX_FLAGS_RELEASE "-g -DNDEBUG -DBOOST_DISABLE_ASSERTS -ipo -xT -O2")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -DNDEBUG -DBOOST_DISABLE_ASSERTS -ipo -xT -O2")
set(CMAKE_C_FLAGS_RELEASE "-g -DNDEBUG -ipo -xT -O2")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -DNDEBUG -ipo -xT -O2")
else(USE_ICC)
add_definitions(-msse2)
add_definitions(-Drestrict=__restrict__)
set(CMAKE_CXX_FLAGS_RELEASE " -g -DNDEBUG -DBOOST_DISABLE_ASSERTS -march=native ${CMAKE_CXX_FLAGS_RELEASE} -O3" )
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -g -DNDEBUG -DBOOST_DISABLE_ASSERTS -march=native ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3")
set(CMAKE_C_FLAGS_RELEASE " -g -DNDEBUG -march=native ${CMAKE_C_FLAGS_RELEASE} -O3")
set(CMAKE_C_FLAGS_RELWITHDEBINFO " -g -DNDEBUG -march=native ${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3")
set(CMAKE_CXX_FLAGS "-Wall -Wextra ${CMAKE_CXX_FLAGS} -O3")
set(CMAKE_C_FLAGS "-Wall -Wextra -std=c99 ${CMAKE_C_FLAGS} -O3")
endif(USE_ICC)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2")