-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
73 lines (59 loc) · 2.06 KB
/
CMakeLists.txt
File metadata and controls
73 lines (59 loc) · 2.06 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
cmake_minimum_required (VERSION 2.8.8)
set(PROJECT_NAME_STR fquantizer)
project(${PROJECT_NAME_STR})
# The project version number.
set(VERSION_MAJOR 0 CACHE STRING "Project major version number.")
set(VERSION_MINOR 1 CACHE STRING "Project minor version number.")
set(VERSION_PATCH 1 CACHE STRING "Project patch version number.")
mark_as_advanced(VERSION_MAJOR VERSION_MINOR VERSION_PATCH)
set(doxy_main_page ${PROJECT_SOURCE_DIR}/README.md)
#----------------------------------------
# dependencies testing
#----------------------------------------
list (INSERT CMAKE_MODULE_PATH 0 ${PROJECT_SOURCE_DIR}/cmake)
find_package(OpenMP REQUIRED)
if (OPENMP_FOUND)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
find_package(Eigen3 REQUIRED)
find_package(GMP REQUIRED)
find_package(MPFR REQUIRED)
find_package(FPLLL REQUIRED)
find_package(GTest)
find_package(Doxygen)
#----------------------------------------
# build configuration
#----------------------------------------
set(CMAKE_BUILD_TYPE Release)
add_definitions(-std=gnu++11)
#----------------------------------------
# common include directories
#----------------------------------------
set(COMMON_INCLUDES ${PROJECT_SOURCE_DIR}/include)
add_subdirectory(${PROJECT_SOURCE_DIR}/src)
if(DOXYGEN_FOUND)
add_subdirectory(${PROJECT_SOURCE_DIR}/doc)
endif()
#----------------------------------------
# tests
#----------------------------------------
if(GTEST_FOUND)
enable_testing()
set(PROJECT_TEST_QUANTIZATION quantization_test)
set(CMAKE_CTEST_COMMAND ctest -V)
include_directories(${GTEST_INCLUDE_DIR} ${COMMON_INCLUDES})
set(TEST_SRC_QUANTIZATION ${PROJECT_SOURCE_DIR}/test/quantization_tests.cpp)
add_executable(${PROJECT_TEST_QUANTIZATION} ${TEST_SRC_QUANTIZATION})
target_link_libraries(${PROJECT_TEST_QUANTIZATION}
gtest
gtest_main
pthread
fquantizer
gmp
mpfr
fplll
gomp
)
add_test(QuantizationTests ${PROJECT_TEST_QUANTIZATION})
endif()