1 | cmake_minimum_required (VERSION 2.8) |
---|
2 | |
---|
3 | project (icgrep) |
---|
4 | |
---|
5 | enable_testing() |
---|
6 | # The version number. |
---|
7 | set (icgrep_VERSION_MAJOR 1) |
---|
8 | set (icgrep_VERSION_MINOR 6) |
---|
9 | |
---|
10 | option(ENABLE_MULTIPLEXING "Compiling the Multiplexing Module") |
---|
11 | option(DISABLE_DUAL_ABI "Disable GCC Dual ABI support" OFF) |
---|
12 | option(CARRYPACK_MANAGER "Use CarryPack Manager to reduce space required for carries. For testing only." OFF) |
---|
13 | find_package(LLVM REQUIRED CONFIG) |
---|
14 | |
---|
15 | message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION} in: ${LLVM_DIR}") |
---|
16 | |
---|
17 | set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") # ensure custom FindXYZ.cmake files are found |
---|
18 | |
---|
19 | set (Parabix_REVISION "svn") |
---|
20 | include(VersionFromVCS) |
---|
21 | add_version_info_from_vcs(Parabix_REVISION) |
---|
22 | message(STATUS "Parabix_REVISION: ${Parabix_REVISION}") |
---|
23 | |
---|
24 | |
---|
25 | # Now set the header and library paths: |
---|
26 | include_directories( ${LLVM_INCLUDE_DIRS} ) |
---|
27 | link_directories( ${LLVM_LIBRARY_DIRS} ) |
---|
28 | add_definitions( ${LLVM_DEFINITIONS} ) |
---|
29 | |
---|
30 | # include(FindCUDA) # https://cmake.org/cmake/help/v3.0/module/FindCUDA.html |
---|
31 | |
---|
32 | option(ENABLE_CUDA_COMPILE "Compiling with CUDA") |
---|
33 | set(CUDA_LIB "") |
---|
34 | if(ENABLE_CUDA_COMPILE) |
---|
35 | find_package(CUDA) |
---|
36 | if(CUDA_FOUND) |
---|
37 | set(CUDA_INCLUDE ${CUDA_INCLUDE} "/usr/local/cuda-7.5/include") |
---|
38 | include_directories(${CUDA_INCLUDE}) |
---|
39 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCUDA_ENABLED") |
---|
40 | SET(CUDA_LIB "cuda") |
---|
41 | endif(CUDA_FOUND) |
---|
42 | endif() |
---|
43 | |
---|
44 | # Let's suppose we want to build a JIT compiler with support for |
---|
45 | # binary code (no interpreter): |
---|
46 | set(LLVM_ALL_TARGETS X86) |
---|
47 | llvm_map_components_to_libnames(REQ_LLVM_LIBRARIES ${LLVM_ALL_TARGETS} mcjit native IRReader Linker) |
---|
48 | |
---|
49 | # Check if boost has been installed on this system. |
---|
50 | set(Boost_USE_STATIC_LIBS ON) |
---|
51 | set(Boost_USE_MULTITHREADED OFF) |
---|
52 | set(Boost_USE_STATIC_RUNTIME OFF) |
---|
53 | find_package(Boost 1.46 REQUIRED COMPONENTS system filesystem iostreams) |
---|
54 | message(STATUS "Found Boost_LIBRARY_DIR: ${Boost_LIBRARY_DIR}") |
---|
55 | |
---|
56 | include_directories("${Boost_INCLUDE_DIRS}") |
---|
57 | link_directories(${Boost_LIBRARY_DIR}) |
---|
58 | |
---|
59 | SET(OBJECT_CACHE_SRC toolchain/object_cache.cpp) |
---|
60 | |
---|
61 | SET(GREP_CORE_SRC toolchain/grep_pipeline.cpp kernels/linebreak_kernel.cpp kernels/grep_kernel.cpp kernels/scanmatchgen.cpp ) |
---|
62 | |
---|
63 | SET(TOOLCHAIN_SRC toolchain/toolchain.cpp toolchain/pipeline.cpp) |
---|
64 | |
---|
65 | SET(DRIVER_SRC toolchain/driver.cpp toolchain/cpudriver.cpp) |
---|
66 | if(ENABLE_CUDA_COMPILE) |
---|
67 | SET(DRIVER_SRC ${DRIVER_SRC} toolchain/NVPTXDriver.cpp) |
---|
68 | endif() |
---|
69 | |
---|
70 | SET(KERNEL_SRC kernels/attributes.cpp kernels/processing_rate.cpp kernels/interface.cpp kernels/kernel.cpp kernels/streamset.cpp kernels/kernel_builder.cpp) |
---|
71 | SET(KERNEL_SRC ${KERNEL_SRC} kernels/source_kernel.cpp kernels/s2p_kernel.cpp kernels/deletion.cpp kernels/swizzle.cpp kernels/p2s_kernel.cpp kernels/stdout_kernel.cpp) |
---|
72 | |
---|
73 | SET(IDISA_SRC IR_Gen/CBuilder.cpp IR_Gen/idisa_builder.cpp IR_Gen/idisa_avx_builder.cpp IR_Gen/idisa_i64_builder.cpp IR_Gen/idisa_sse_builder.cpp) |
---|
74 | SET(IDISA_SRC ${IDISA_SRC} IR_Gen/idisa_target.cpp) |
---|
75 | if(ENABLE_CUDA_COMPILE) |
---|
76 | SET(IDISA_SRC ${IDISA_SRC} IR_Gen/idisa_nvptx_builder.cpp) |
---|
77 | endif() |
---|
78 | |
---|
79 | SET(PABLO_SRC pablo/pabloAST.cpp pablo/branch.cpp pablo/codegenstate.cpp pablo/builder.cpp pablo/symbol_generator.cpp pablo/printer_pablos.cpp pablo/pablo_toolchain.cpp) |
---|
80 | SET(PABLO_SRC ${PABLO_SRC} pablo/pablo_kernel.cpp pablo/pablo_compiler.cpp) |
---|
81 | IF (CARRYPACK_MANAGER) |
---|
82 | SET(PABLO_SRC ${PABLO_SRC} pablo/carrypack_manager.cpp) |
---|
83 | ELSE() |
---|
84 | SET(PABLO_SRC ${PABLO_SRC} pablo/carry_manager.cpp) |
---|
85 | ENDIF() |
---|
86 | SET(PABLO_SRC ${PABLO_SRC} pablo/analysis/pabloverifier.cpp) |
---|
87 | SET(PABLO_SRC ${PABLO_SRC} pablo/passes/ssapass.cpp) |
---|
88 | SET(PABLO_SRC ${PABLO_SRC} pablo/optimizers/pablo_simplifier.cpp pablo/optimizers/codemotionpass.cpp pablo/optimizers/distributivepass.cpp pablo/optimizers/schedulingprepass.cpp) |
---|
89 | SET(PABLO_SRC ${PABLO_SRC} pablo/passes/flattenif.cpp) |
---|
90 | IF(ENABLE_MULTIPLEXING) |
---|
91 | SET(PABLO_SRC ${PABLO_SRC} pablo/optimizers/pablo_automultiplexing.cpp) |
---|
92 | ENDIF() |
---|
93 | |
---|
94 | add_library(CodeGen ${TOOLCHAIN_SRC} ${DRIVER_SRC} ${OBJECT_CACHE_SRC} ${KERNEL_SRC} ${IDISA_SRC}) |
---|
95 | add_library(PabloADT ${PABLO_SRC}) |
---|
96 | # CCADT is the core library for representing and compiling character classes |
---|
97 | add_library(CCADT re/re_re.cpp re/re_cc.cpp cc/cc_compiler.cpp cc/alphabet.cpp cc/multiplex_CCs.cpp UCD/unicode_set.cpp) |
---|
98 | # RegExpADT is the core library for representing, parsing and printing regular expressions |
---|
99 | add_library(RegExpADT re/re_rep.cpp re/re_diff.cpp re/re_intersect.cpp re/re_range.cpp re/re_assertion.cpp re/printer_re.cpp re/re_parser_pcre.cpp re/re_parser_ere.cpp re/re_parser_bre.cpp re/re_parser_prosite.cpp re/parse_fixed_strings.cpp) |
---|
100 | add_library(RegExpCompiler re/casing.cpp re/to_utf8.cpp re/re_parser.cpp re/re_memoizer.cpp re/re_nullable.cpp re/re_simplifier.cpp re/re_star_normal.cpp re/re_minimizer.cpp re/re_local.cpp re/re_compiler.cpp re/re_analysis.cpp re/re_toolchain.cpp re/re_name_resolve.cpp re/re_name_gather.cpp re/re_collect_unicodesets.cpp re/re_multiplex.cpp re/re_utility.cpp re/grapheme_clusters.cpp re/exclude_CC.cpp ${GREP_CORE_SRC}) |
---|
101 | add_library(UCDlib UCD/CaseFolding.cpp utf8_encoder.cpp utf16_encoder.cpp UCD/ucd_compiler.cpp UCD/PropertyObjects.cpp UCD/resolve_properties.cpp) |
---|
102 | |
---|
103 | # force the compiler to compile the object cache to ensure that the versioning information is up to date |
---|
104 | add_custom_target(RecompileObjectCache ALL touch ${CMAKE_CURRENT_SOURCE_DIR}/${OBJECT_CACHE_SRC}) |
---|
105 | add_dependencies(CodeGen RecompileObjectCache) |
---|
106 | |
---|
107 | # add the executable |
---|
108 | target_link_libraries (CodeGen ${REQ_LLVM_LIBRARIES}) |
---|
109 | target_link_libraries (PabloADT CodeGen) |
---|
110 | target_link_libraries (CCADT PabloADT) |
---|
111 | target_link_libraries (RegExpADT PabloADT CCADT) |
---|
112 | target_link_libraries (UCDlib RegExpCompiler RegExpADT PabloADT CCADT) |
---|
113 | target_link_libraries (RegExpCompiler UCDlib CCADT RegExpADT) |
---|
114 | |
---|
115 | add_executable(icgrep icgrep.cpp grep_interface.cpp grep_engine.cpp kernels/u8u32_kernel.cpp kernels/delmask_kernel.cpp kernels/cc_kernel.cpp kernels/cc_scan_kernel.cpp kernels/charclasses.cpp kernels/linebreak_kernel.cpp kernels/streams_merge.cpp kernels/grep_kernel.cpp kernels/until_n.cpp) |
---|
116 | add_executable(u8u16 u8u16.cpp) |
---|
117 | add_executable(base64 base64.cpp kernels/radix64.cpp) |
---|
118 | add_executable(wc wc.cpp) |
---|
119 | add_executable(editd editd/editd.cpp editd/pattern_compiler.cpp editd/editdscan_kernel.cpp editd/editd_gpu_kernel.cpp editd/editd_cpu_kernel.cpp kernels/streams_merge.cpp kernels/cc_kernel.cpp) |
---|
120 | add_executable(array-test array-test.cpp kernels/alignedprint.cpp) |
---|
121 | add_executable(lz4d lz4d.cpp lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4_index_decoder.cpp kernels/lz4_bytestream_decoder.cpp) |
---|
122 | add_executable(core combine/core.cpp combine/regexGen.cpp combine/stringGen.cpp combine/icgrep-test/icgrep-test.cpp combine/pugixml/src/pugixml.cpp grep_interface.cpp grep_engine.cpp kernels/scanmatchgen.cpp kernels/u8u32_kernel.cpp kernels/delmask_kernel.cpp kernels/cc_kernel.cpp kernels/cc_scan_kernel.cpp kernels/charclasses.cpp kernels/linebreak_kernel.cpp kernels/streams_merge.cpp kernels/grep_kernel.cpp kernels/until_n.cpp) |
---|
123 | |
---|
124 | |
---|
125 | target_link_libraries (icgrep UCDlib PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
126 | target_link_libraries (u8u16 PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
127 | target_link_libraries (base64 PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
128 | target_link_libraries (wc PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
129 | target_link_libraries (editd PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
130 | target_link_libraries (array-test PabloADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
131 | target_link_libraries (lz4d PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB}) |
---|
132 | target_link_libraries (core RegExpCompiler ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES}) |
---|
133 | |
---|
134 | IF(ENABLE_MULTIPLEXING) |
---|
135 | message(STATUS "Enabling Multiplexing") |
---|
136 | find_package(Z3 REQUIRED) |
---|
137 | include_directories(${Z3_INCLUDE_DIRS}) |
---|
138 | target_link_libraries(PabloADT ${Z3_LIBRARIES}) |
---|
139 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_MULTIPLEXING") |
---|
140 | ENDIF() |
---|
141 | |
---|
142 | include_directories("${PROJECT_SOURCE_DIR}") |
---|
143 | |
---|
144 | #Check compiler support for 0x / 11 |
---|
145 | include(CheckCXXCompilerFlag) |
---|
146 | CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) |
---|
147 | if(COMPILER_SUPPORTS_CXX11) |
---|
148 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
---|
149 | else() |
---|
150 | CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) |
---|
151 | if(COMPILER_SUPPORTS_CXX0X) |
---|
152 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") |
---|
153 | else() |
---|
154 | CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_GNU11) |
---|
155 | if(COMPILER_SUPPORTS_GNU11) |
---|
156 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") |
---|
157 | else() |
---|
158 | CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_GNU0X) |
---|
159 | if(COMPILER_SUPPORTS_GNU0X) |
---|
160 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") |
---|
161 | endif() |
---|
162 | endif() |
---|
163 | endif() |
---|
164 | endif() |
---|
165 | |
---|
166 | #Disable RunTime Type Information |
---|
167 | IF (MSVC) # using Visual Studio C++ |
---|
168 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") |
---|
169 | ELSE() # using Clang, GCC, Intel C++, etc |
---|
170 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") |
---|
171 | ENDIF() |
---|
172 | |
---|
173 | #Disable Dual ABI support |
---|
174 | IF(DISABLE_DUAL_ABI) |
---|
175 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") |
---|
176 | ENDIF() |
---|
177 | |
---|
178 | #Enable all warnings |
---|
179 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") |
---|
180 | |
---|
181 | UNSET(HAS_EXECINFO CACHE) |
---|
182 | UNSET(HAS_MACH_VM_TYPES CACHE) |
---|
183 | include(CheckIncludeFileCXX) |
---|
184 | CHECK_INCLUDE_FILE_CXX(mach/vm_types.h HAS_MACH_VM_TYPES) |
---|
185 | IF (HAS_MACH_VM_TYPES) |
---|
186 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_MACH_VM_TYPES") |
---|
187 | ELSE() |
---|
188 | UNSET(LIBUNWIND_FOUND CACHE) |
---|
189 | find_package(Libunwind) |
---|
190 | IF (LIBUNWIND_FOUND) |
---|
191 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_LIBUNWIND") |
---|
192 | include_directories(${LIBUNWIND_INCLUDE_DIR}) |
---|
193 | target_link_libraries(CodeGen ${LIBUNWIND_LIBRARIES}) |
---|
194 | ELSE() |
---|
195 | CHECK_INCLUDE_FILE_CXX(execinfo.h HAS_EXECINFO) |
---|
196 | IF (HAS_EXECINFO) |
---|
197 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_EXECINFO") |
---|
198 | ENDIF() |
---|
199 | ENDIF() |
---|
200 | ENDIF() |
---|
201 | |
---|
202 | IF (CARRYPACK_MANAGER) |
---|
203 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_CARRYPACK_MANAGER") |
---|
204 | ENDIF() |
---|
205 | |
---|
206 | SET(CMAKE_REQUIRED_FLAGS) |
---|
207 | |
---|
208 | # detect LLVM version and add compiler flags. |
---|
209 | MATH(EXPR LLVM_VERSION_INTEGER "${LLVM_VERSION_MAJOR} * 10000 + ${LLVM_VERSION_MINOR} * 100 + ${LLVM_VERSION_PATCH}") |
---|
210 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_VERSION_INTEGER=${LLVM_VERSION_INTEGER}") |
---|
211 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_VERSION_major=${LLVM_VERSION_MAJOR} -DLLVM_VERSION_MINOR=${LLVM_VERSION_MINOR}") |
---|
212 | message(STATUS "LLVM Version Integer: ${LLVM_VERSION_INTEGER}") |
---|
213 | |
---|
214 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DPARABIX_VERSION='\"${Parabix_REVISION}\"'") |
---|
215 | IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux") |
---|
216 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold") |
---|
217 | ENDIF() |
---|
218 | |
---|
219 | SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG") |
---|
220 | |
---|
221 | SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls") |
---|
222 | |
---|
223 | UNSET(HAS_ADDRESS_SANITIZER) |
---|
224 | CHECK_INCLUDE_FILE_CXX("sanitizer/asan_interface.h" HAS_ADDRESS_SANITIZER) |
---|
225 | IF (HAS_ADDRESS_SANITIZER) |
---|
226 | SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DHAS_ADDRESS_SANITIZER -fsanitize=address") |
---|
227 | ENDIF() |
---|
228 | |
---|
229 | |
---|
230 | add_test( |
---|
231 | NAME greptest |
---|
232 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
233 | COMMAND python greptest.py ${CMAKE_BINARY_DIR}/icgrep) |
---|
234 | |
---|
235 | add_test( |
---|
236 | NAME proptest |
---|
237 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
238 | COMMAND python greptest.py -d ${PROJECT_SOURCE_DIR}/../QA -t ${PROJECT_SOURCE_DIR}/../QA/proptest.xml ${CMAKE_BINARY_DIR}/icgrep) |
---|
239 | |
---|
240 | add_test( |
---|
241 | NAME abc_test |
---|
242 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
243 | COMMAND ./run_abc ${CMAKE_BINARY_DIR}/icgrep) |
---|
244 | |
---|
245 | add_test( |
---|
246 | NAME u8u16_test |
---|
247 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/u8u16 |
---|
248 | COMMAND ./run_all "${CMAKE_BINARY_DIR}/u8u16 -segment-size=16 -enable-segment-pipeline-parallel") |
---|
249 | |
---|
250 | #add_test( |
---|
251 | # NAME lz4d_test |
---|
252 | # WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d |
---|
253 | # COMMAND ./run_all ${CMAKE_BINARY_DIR}/lz4d) |
---|
254 | |
---|
255 | add_test( |
---|
256 | NAME editd_test |
---|
257 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/editd |
---|
258 | COMMAND python run_all.py -e ${CMAKE_BINARY_DIR}) |
---|
259 | |
---|
260 | add_test( |
---|
261 | NAME base64_test |
---|
262 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/base64 |
---|
263 | COMMAND python base64test.py ${CMAKE_BINARY_DIR}/base64) |
---|
264 | |
---|
265 | SET_PROPERTY(TEST greptest PROPERTY TIMEOUT 400) |
---|
266 | SET_PROPERTY(TEST proptest PROPERTY TIMEOUT 1500) |
---|
267 | SET_PROPERTY(TEST abc_test PROPERTY TIMEOUT 100) |
---|
268 | SET_PROPERTY(TEST u8u16_test editd_test base64_test PROPERTY TIMEOUT 40) |
---|
269 | |
---|
270 | |
---|
271 | add_custom_target (greptest |
---|
272 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
273 | COMMAND python greptest.py "${CMAKE_BINARY_DIR}/icgrep") |
---|
274 | |
---|
275 | add_custom_target (proptest |
---|
276 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
277 | COMMAND python greptest.py -d ${PROJECT_SOURCE_DIR}/../QA -t ${PROJECT_SOURCE_DIR}/../QA/proptest.xml "${CMAKE_BINARY_DIR}/icgrep") |
---|
278 | |
---|
279 | add_custom_target (u8u16_test |
---|
280 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/u8u16 |
---|
281 | COMMAND ./run_all "${CMAKE_BINARY_DIR}/u8u16 -segment-size=16 -enable-segment-pipeline-parallel") |
---|
282 | |
---|
283 | add_custom_target (lz4d_test |
---|
284 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d |
---|
285 | COMMAND ./run_all "${CMAKE_BINARY_DIR}/lz4d") |
---|
286 | |
---|
287 | add_custom_target (editd_test |
---|
288 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/editd |
---|
289 | COMMAND python run_all.py -e ${CMAKE_BINARY_DIR}) |
---|
290 | |
---|
291 | add_custom_target (base64_test |
---|
292 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/base64 |
---|
293 | COMMAND python base64test.py "${CMAKE_BINARY_DIR}/base64") |
---|
294 | |
---|
295 | add_custom_target (abc_gen |
---|
296 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
297 | COMMAND python abc_testgen.py) |
---|
298 | |
---|
299 | add_custom_target (abc_test |
---|
300 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA |
---|
301 | COMMAND ./run_abc "${CMAKE_BINARY_DIR}/icgrep") |
---|
302 | |
---|
303 | add_custom_target (check |
---|
304 | COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure |
---|
305 | DEPENDS icgrep abc_gen) |
---|
306 | |
---|
307 | add_custom_target (perf_icgrep |
---|
308 | COMMAND python2 perf.py icgrep |
---|
309 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance |
---|
310 | DEPENDS icgrep) |
---|
311 | |
---|
312 | add_custom_target (viewer |
---|
313 | COMMAND python2 viewer.py |
---|
314 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance) |
---|
315 | |
---|
316 | add_custom_target (text_viewer |
---|
317 | COMMAND python2 viewer.py -t |
---|
318 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance) |
---|
319 | |
---|
320 | |
---|