-
Notifications
You must be signed in to change notification settings - Fork 2
/
CMakeLists.txt
executable file
·90 lines (76 loc) · 2.95 KB
/
CMakeLists.txt
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
84
85
86
87
88
89
90
cmake_minimum_required(VERSION 3.6)
# Download and unpack googletest at configure time
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download" )
execute_process(COMMAND "${CMAKE_COMMAND}" --build .
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download" )
# Prevent GoogleTest from overriding our compiler/linker options
# when building with Visual Studio
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# Add googletest directly to our build. This adds
# the following targets: gtest, gtest_main, gmock
# and gmock_main
add_subdirectory("${CMAKE_BINARY_DIR}/googletest-src"
"${CMAKE_BINARY_DIR}/googletest-build")
# The gtest/gmock targets carry header search path
# dependencies automatically when using CMake 2.8.11 or
# later. Otherwise we have to add them here ourselves.
if(CMAKE_VERSION VERSION_LESS 2.8.11)
include_directories("${gtest_SOURCE_DIR}/include"
"${gmock_SOURCE_DIR}/include")
endif()
# Now simply link your own targets against gtest, gmock,
# etc. as appropriate
project(tries)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ".")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "-g -std=c++0x -O3 -I../include -Iinclude")
set(SOURCE_FILES
source/main.cpp
source/trie.cpp
include/trie.hpp
include/mvector.hpp
include/logger.hpp source/logger.cpp
include/cmd_parser.hpp
include/hash_table.hpp
include/parser.hpp source/parser.cpp
include/date_time.hpp
include/constants.hpp
include/linear_hash.hpp source/linear_hash.cpp
include/bit_vector.hpp source/bit_vector.cpp
include/bloom_filter.hpp source/bloom_filter.cpp
include/binary_search.hpp
include/helpers.hpp
include/mqueue.hpp
include/mstack.hpp
include/trie_nodes.hpp source/trie_nodes.cpp
include/pair.hpp
include/minHeap.hpp
)
set(TEST_SOURCE
ngrams-testing/basic_tests.cpp
ngrams-testing/vector-testing.cpp
ngrams-testing/parser-testing.cpp
ngrams-testing/cmd-parser-testing.cpp
ngrams-testing/trie-testing.cpp
ngrams-testing/trie-compress-testing.cpp
ngrams-testing/queue-testing.cpp
ngrams-testing/stack-testing.cpp
ngrams-testing/linear-hash-testing.cpp
ngrams-testing/bloom-filter-testing.cpp
ngrams-testing/bit-vector-testing.cpp
ngrams-testing/trie-node-testing.cpp
ngrams-testing/minHeap-testing.cpp
include/mqueue.hpp
source/parser.cpp
source/trie.cpp
source/trie_nodes.cpp
source/linear_hash.cpp
source/logger.cpp
source/bloom_filter.cpp
source/bit_vector.cpp
)
add_executable(ngrams ${SOURCE_FILES})
add_executable(basic_tests ${TEST_SOURCE})
target_link_libraries(basic_tests gtest)