-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
147 lines (115 loc) · 3.98 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
cmake_minimum_required(VERSION 3.5)
option(COMPILE_PSEVDOASS "Comple psevdoass.exe - you must have the sorces from Natalia Makarova" OFF)
if( COMPILE_PSEVDOASS )
LIST(APPEND CMAKE_MODULE_PATH cmakefbc/cmake/Modules)
project (odlk C CXX Fbc)
else()
# Set the project name
project (odlk C CXX)
endif()
# Paralelism
find_package( Threads )
#Set the exe suffix. Otherwise the binary will collide
# with a directory of the same name.
if("${CMAKE_EXECUTABLE_SUFFIX}" STREQUAL "")
set(CMAKE_EXECUTABLE_SUFFIX ".exe")
endif()
# Find portable-snippets library, for _BitScanForward intristics
find_file( PSNIP_BUILTIN_H "psnip/builtin/builtin.h" PATHS "." NO_DEFAULT_PATH)
if(NOT PSNIP_BUILTIN_H)
# How can I exit cmake with an error message if bzlib.h does not exists?
message( FATAL_ERROR "Library psnip not found. Please initialize git "
"submodules or download portable snipets into psnip/ directory from "
"https://github.com/nemequ/portable-snippets" )
endif()
# The family_mar program
add_executable(family_mar
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
kanonizator_dlk/kanonizator.cpp
kanonizator_dlk/hash_tabl.cpp
family_mar/prov_blk_main.cpp
family_mar/prov_blk_trans.cpp)
target_include_directories(family_mar PRIVATE ".")
# Paralelism
target_compile_features(family_mar PRIVATE cxx_std_11)
target_compile_definitions(family_mar PRIVATE USE_THREADS)
target_link_libraries(family_mar ${CMAKE_THREAD_LIBS_INIT})
# gen_lk_4_31_31
add_executable(gen_lk_4_31_31
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
gen_lk_4_31_31/gen_lk_4_31_31.cpp
gen_lk_4_31_31/izomorfizm.cpp
gen_lk_4_31_31/kanon.cpp
gen_lk_4_31_31/kan_shab_4_31_31.cpp)
target_include_directories(gen_lk_4_31_31 PRIVATE ".")
# The kanonizator_lk_po_dlk program
add_executable(kanonizator_dlk
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
kanonizator_dlk/kanonizator.cpp
kanonizator_dlk/hash_tabl.cpp
kanonizator_dlk/main_kanon.cpp)
target_include_directories(kanonizator_dlk PRIVATE ".")
# The kanonizator_lk program
add_executable(kanonizator_lk
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
kanonizator_lk/kanon.cpp
kanonizator_lk/main.cpp)
target_include_directories(kanonizator_lk PRIVATE ".")
# PADLS Experiment
if( COMPILE_PSEVDOASS )
set(CMAKE_Fbc_FLAGS "${CMAKE_Fbc_FLAGS} -lang deprecated")
set(CMAKE_Fbc_FLAGS_DEBUG "${CMAKE_Fbc_FLAGS} -lang deprecated -g")
add_executable(psevdoass
psevdoass/ASS_DLK10A.BAS
psevdoass/PSEVDOASS_DLK_new.BAS
kanonizator_dlk/kanonizator.cpp
kanonizator_dlk/hash_tabl.cpp
family_mar/prov_blk_trans.cpp
psevdoass/psevdoass.cpp)
target_include_directories(psevdoass PRIVATE ".")
target_compile_features(psevdoass PRIVATE cxx_std_11)
target_compile_definitions(psevdoass PRIVATE USE_THREADS)
target_link_libraries(psevdoass ${CMAKE_THREAD_LIBS_INIT})
endif()
# Ortogon
add_executable(ortogon
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
ortogon/exact_cover.cpp
ortogon/main_ortogon.cpp)
target_include_directories(ortogon PRIVATE ".")
# Result processor
add_executable(postprocess
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
kanonizator_lk/kanon.cpp
kanonizator_dlk/kanonizator.cpp
kanonizator_dlk/hash_tabl.cpp
family_mar/prov_blk_trans.cpp
ortogon/exact_cover.cpp
zamyk/postprocess.cpp)
target_include_directories(postprocess PRIVATE ".")
target_compile_features(postprocess PRIVATE cxx_std_11)
target_link_libraries(postprocess ${CMAKE_THREAD_LIBS_INIT})
# ortogoncnt
add_executable(ortogoncnt
odlkcommon/namechdlk10.cpp
odlkcommon/kvio.cpp
kanonizator_lk/kanon.cpp
ortogon/exact_cover.cpp
zamyk/ortogoncnt.cpp)
target_include_directories(ortogoncnt PRIVATE ".")
target_compile_features(ortogoncnt PRIVATE cxx_std_11)
target_link_libraries(ortogoncnt ${CMAKE_THREAD_LIBS_INIT})
# Database Operations
add_executable(dlkdbop
kanonizator_dlk/kanonizator.cpp
kanonizator_dlk/hash_tabl.cpp
odlkcommon/kvio.cpp
odlkcommon/namechdlk10.cpp
zamyk/dlkdbop.cpp)
target_include_directories(dlkdbop PRIVATE ".")