This repository has been archived by the owner on Jun 18, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
93 lines (75 loc) · 2.41 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
91
92
93
cmake_minimum_required (VERSION 2.6)
project (aging)
set (CMAKE_CXX_STANDARD 14)
include_directories("src")
# search for location of header gmpxx.h", only at positions given by the user
find_path(GMPXX_INCLUDE_DIR
NAMES "gmpxx.h"
PATHS ${GMP_PREFIX} ${GMP_ROOT}
PATH_SUFFIXES include
NO_DEFAULT_PATH)
# try default paths now
find_path(GMPXX_INCLUDE_DIR
NAMES "gmpxx.h")
# check if header is accepted
include(CMakePushCheckState)
cmake_push_check_state()
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${GMPXX_INCLUDE_DIR})
include(CheckIncludeFileCXX)
check_include_file_cxx("gmpxx.h" GMP_HEADER_WORKS)
# look for library gmp, only at positions given by the user
find_library(GMP_LIB gmp
PATHS ${GMP_PREFIX} ${GMP_ROOT}
PATH_SUFFIXES lib lib64
NO_DEFAULT_PATH
DOC "GNU GMP library")
# try default paths now
find_library(GMP_LIB gmp)
# look for library gmpxx, only at positions given by the user
find_library(GMPXX_LIB gmpxx
PATHS ${GMP_PREFIX} ${GMP_ROOT}
PATH_SUFFIXES lib lib64
NO_DEFAULT_PATH
DOC "GNU GMPXX library")
# try default paths now
find_library(GMPXX_LIB gmpxx)
# behave like a CMake module is supposed to behave
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
"GMP"
DEFAULT_MSG
GMPXX_INCLUDE_DIR GMP_LIB GMPXX_LIB GMP_HEADER_WORKS GMPXX_LIB_WORKS
)
mark_as_advanced(GMP_LIB GMPXX_LIB GMPXX_INCLUDE_DIR)
# if GMPxx headers, GMP library, and GMPxx library are found, store results
if(GMP_FOUND)
set(GMP_INCLUDE_DIRS ${GMPXX_INCLUDE_DIR})
set(GMP_LIBRARIES ${GMP_LIB} ${GMPXX_LIB})
set(GMP_COMPILE_FLAGS "-DENABLE_GMP=1")
# log result
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining location of GMP, GMPxx succeeded:\n"
"Include directory: ${GMP_INCLUDE_DIRS}\n"
"Library directory: ${GMP_LIBRARIES}\n\n")
else()
# log errornous result
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining location of GMP, GMPxx failed:\n"
"Include directory: ${GMPXX_INCLUDE_DIR}\n"
"gmp library directory: ${GMP_LIB}\n"
"gmpxx library directory: ${GMPXX_LIB}\n\n")
endif()
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets)
set(CMAKE_AUTOMOC ON)
file(
GLOB_RECURSE
sources_files
src/*
)
add_executable(aging ${sources_files})
target_link_libraries(aging ${GMP_LIB} ${GMPXX_LIB})
target_link_libraries(aging
Qt5::Core
Qt5::Gui
Qt5::Widgets
)