source: icGREP/icgrep-devel/icgrep/CMakeLists.txt @ 5948

Last change on this file since 5948 was 5948, checked in by xwa163, 19 months ago
  1. Remove legacy kernels and codes for lz4
  2. Remove old approach for lz4 decoder
  3. Fixed some bugs of lz4 decoder new approach in large file by adding workaround attribute
  4. Add related test cases
File size: 16.0 KB
Line 
1cmake_minimum_required (VERSION 2.8)
2
3project (icgrep)
4
5enable_testing()
6# The version number.
7set (icgrep_VERSION_MAJOR 1)
8set (icgrep_VERSION_MINOR 6)
9
10option(ENABLE_MULTIPLEXING "Compiling the Multiplexing Module")
11option(DISABLE_DUAL_ABI "Disable GCC Dual ABI support" OFF)
12option(CARRYPACK_MANAGER "Use CarryPack Manager to reduce space required for carries. For testing only." OFF)
13find_package(LLVM REQUIRED CONFIG)
14
15message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION} in: ${LLVM_DIR}")
16
17set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") # ensure custom FindXYZ.cmake files are found
18
19set (Parabix_REVISION "svn")
20include(VersionFromVCS)
21add_version_info_from_vcs(Parabix_REVISION)
22message(STATUS "Parabix_REVISION: ${Parabix_REVISION}")
23
24
25# Now set the header and library paths:
26include_directories( ${LLVM_INCLUDE_DIRS} )
27link_directories( ${LLVM_LIBRARY_DIRS} )
28add_definitions( ${LLVM_DEFINITIONS} )
29
30# include(FindCUDA) # https://cmake.org/cmake/help/v3.0/module/FindCUDA.html
31
32option(ENABLE_CUDA_COMPILE "Compiling with CUDA")
33set(CUDA_LIB "")
34if(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)
42endif()
43
44# Let's suppose we want to build a JIT compiler with support for
45# binary code (no interpreter):
46set(LLVM_ALL_TARGETS X86)
47llvm_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.
50set(Boost_USE_STATIC_LIBS ON)
51set(Boost_USE_MULTITHREADED OFF)
52set(Boost_USE_STATIC_RUNTIME OFF)
53find_package(Boost 1.46 REQUIRED COMPONENTS system filesystem iostreams)
54message(STATUS "Found Boost_LIBRARY_DIR: ${Boost_LIBRARY_DIR}")
55
56include_directories("${Boost_INCLUDE_DIRS}")
57link_directories(${Boost_LIBRARY_DIR})
58
59SET(OBJECT_CACHE_SRC toolchain/object_cache.cpp)
60
61SET(GREP_CORE_SRC kernels/linebreak_kernel.cpp kernels/grep_kernel.cpp kernels/scanmatchgen.cpp )
62
63SET(TOOLCHAIN_SRC toolchain/toolchain.cpp toolchain/pipeline.cpp)
64
65SET(DRIVER_SRC toolchain/driver.cpp toolchain/cpudriver.cpp)
66if(ENABLE_CUDA_COMPILE)
67SET(DRIVER_SRC ${DRIVER_SRC} toolchain/NVPTXDriver.cpp)
68endif()
69
70SET(KERNEL_SRC kernels/attributes.cpp kernels/processing_rate.cpp kernels/interface.cpp kernels/kernel.cpp kernels/streamset.cpp kernels/kernel_builder.cpp)
71SET(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
73SET(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)
74SET(IDISA_SRC ${IDISA_SRC} IR_Gen/idisa_target.cpp)
75if(ENABLE_CUDA_COMPILE)
76SET(IDISA_SRC ${IDISA_SRC} IR_Gen/idisa_nvptx_builder.cpp)
77endif()
78
79SET(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)
80SET(PABLO_SRC ${PABLO_SRC} pablo/pablo_kernel.cpp pablo/pablo_compiler.cpp)
81IF (CARRYPACK_MANAGER)
82SET(PABLO_SRC ${PABLO_SRC} pablo/carrypack_manager.cpp)
83ELSE()
84SET(PABLO_SRC ${PABLO_SRC} pablo/carry_manager.cpp)
85ENDIF()
86SET(PABLO_SRC ${PABLO_SRC} pablo/analysis/pabloverifier.cpp)
87SET(PABLO_SRC ${PABLO_SRC} pablo/optimizers/pablo_simplifier.cpp pablo/optimizers/codemotionpass.cpp pablo/optimizers/distributivepass.cpp pablo/optimizers/schedulingprepass.cpp)
88SET(PABLO_SRC ${PABLO_SRC} pablo/passes/flattenif.cpp)
89IF(ENABLE_MULTIPLEXING)
90SET(PABLO_SRC ${PABLO_SRC} pablo/optimizers/pablo_automultiplexing.cpp)
91ENDIF()
92
93SET (RE_PARSERS_SRC re/parsers/PCRE_parser.cpp re/parsers/ERE_parser.cpp re/parsers/BRE_parser.cpp re/parsers/Prosite_parser.cpp re/parsers/fixed_string_parser.cpp re/parsers/GLOB_parser.cpp re/parsers/parser.cpp)
94
95add_library(CodeGen ${TOOLCHAIN_SRC} ${DRIVER_SRC} ${OBJECT_CACHE_SRC} ${KERNEL_SRC} ${IDISA_SRC})
96add_library(PabloADT ${PABLO_SRC})
97# CCADT is the core library for representing and compiling character classes
98add_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)
99# RegExpADT is the core library for representing, parsing and printing regular expressions
100add_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_utility.cpp)
101add_library(RegExpCompiler ${RE_PARSERS_SRC} re/casing.cpp re/to_utf8.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/collect_ccs.cpp re/re_multiplex.cpp re/re_utility.cpp re/grapheme_clusters.cpp re/exclude_CC.cpp re/replaceCC.cpp)
102add_library(UCDlib UCD/CaseFolding.cpp utf8_encoder.cpp utf16_encoder.cpp UCD/ucd_compiler.cpp UCD/PropertyObjects.cpp UCD/resolve_properties.cpp)
103add_library(GrepEngine  ${GREP_CORE_SRC} grep/grep_engine.cpp kernels/cc_kernel.cpp kernels/cc_scan_kernel.cpp kernels/charclasses.cpp kernels/streams_merge.cpp kernels/until_n.cpp kernels/UCD_property_kernel.cpp kernels/grapheme_kernel.cpp)
104add_library(LZ4_Lib lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4/lz4_deposit_uncompressed.cpp kernels/lz4/lz4_generate_deposit_stream.cpp kernels/pdep_kernel.cpp kernels/lz4/lz4_match_copy_kernel.cpp lz4/LZ4Generator.cpp kernels/lz4/lz4_multiple_pdep_kernel.cpp kernels/lz4/lz4_swizzled_match_copy_kernel.cpp kernels/lz4/lz4_block_decoder.cpp kernels/lz4/lz4_index_builder.cpp lz4/LZ4GrepEngine.cpp lz4/LZ4GrepEngine.h)
105
106# force the compiler to compile the object cache to ensure that the versioning information is up to date
107add_custom_target(RecompileObjectCache ALL touch ${CMAKE_CURRENT_SOURCE_DIR}/${OBJECT_CACHE_SRC})
108add_dependencies(CodeGen RecompileObjectCache)
109
110# add the executable
111target_link_libraries (CodeGen ${REQ_LLVM_LIBRARIES})
112target_link_libraries (PabloADT CodeGen)
113target_link_libraries (CCADT PabloADT)
114target_link_libraries (RegExpADT PabloADT CCADT)
115target_link_libraries (UCDlib GrepEngine RegExpCompiler RegExpADT PabloADT CCADT)
116target_link_libraries (RegExpCompiler UCDlib CCADT RegExpADT)
117target_link_libraries (GrepEngine RegExpCompiler CodeGen)
118
119add_executable(icgrep icgrep.cpp util/file_select.cpp grep_interface.cpp)
120add_executable(u8u16 u8u16.cpp)
121add_executable(base64 base64.cpp kernels/radix64.cpp)
122add_executable(wc wc.cpp util/file_select.cpp)
123add_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)
124add_executable(lz4d lz4d.cpp lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4/lz4_index_decoder.cpp kernels/lz4/lz4_bytestream_decoder.cpp)
125add_executable(core combine/core.cpp combine/regexGen.cpp combine/stringGen.cpp combine/propGen.cpp combine/icgrep-test/icgrep-test.cpp grep_interface.cpp grep/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)
126add_executable(character_deletion character_deletion.cpp kernels/cc_kernel.cpp)
127add_executable(character_deposit character_deposit.cpp kernels/cc_kernel.cpp kernels/pdep_kernel.cpp kernels/lz4/lz4_multiple_pdep_kernel.cpp)
128add_executable(lz4d_ext_dep lz4d_ext_dep.cpp)
129
130
131#Exclude CoRE from default build.
132set_target_properties(core PROPERTIES EXCLUDE_FROM_ALL 1)
133
134target_link_libraries (icgrep GrepEngine UCDlib PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
135target_link_libraries (u8u16 PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
136target_link_libraries (base64 PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
137target_link_libraries (wc GrepEngine UCDlib PabloADT RegExpCompiler  CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
138target_link_libraries (editd PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
139target_link_libraries (lz4d PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
140target_link_libraries (core RegExpCompiler ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES})
141target_link_libraries (character_deletion PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
142target_link_libraries (character_deposit PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
143target_link_libraries (lz4d_ext_dep LZ4_Lib PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
144
145
146
147IF(ENABLE_MULTIPLEXING)
148    message(STATUS "Enabling Multiplexing")
149    find_package(Z3 REQUIRED)
150    include_directories(${Z3_INCLUDE_DIRS})
151    target_link_libraries(PabloADT ${Z3_LIBRARIES})
152    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_MULTIPLEXING")
153ENDIF()
154
155include_directories("${PROJECT_SOURCE_DIR}")
156
157#Check compiler support for 0x / 11
158include(CheckCXXCompilerFlag)
159CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
160if(COMPILER_SUPPORTS_CXX11)
161  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
162else()
163  CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
164  if(COMPILER_SUPPORTS_CXX0X)
165    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
166  else()
167    CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_GNU11)
168    if(COMPILER_SUPPORTS_GNU11)
169      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
170    else()
171      CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_GNU0X)
172      if(COMPILER_SUPPORTS_GNU0X)
173        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
174      endif()
175    endif()
176  endif()
177endif()
178
179#Disable RunTime Type Information
180IF (MSVC) # using Visual Studio C++
181  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
182ELSE() # using Clang, GCC, Intel C++, etc
183  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") 
184ENDIF()
185
186#Disable Dual ABI support
187IF(DISABLE_DUAL_ABI)
188SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
189ENDIF()
190
191#Enable all warnings
192SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
193
194UNSET(HAS_EXECINFO CACHE)
195UNSET(HAS_MACH_VM_TYPES CACHE)
196include(CheckIncludeFileCXX)
197CHECK_INCLUDE_FILE_CXX(mach/vm_types.h HAS_MACH_VM_TYPES)
198IF (HAS_MACH_VM_TYPES)
199  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_MACH_VM_TYPES")
200ELSE()
201  UNSET(LIBUNWIND_FOUND CACHE)
202  find_package(Libunwind)
203  IF (LIBUNWIND_FOUND)
204    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_LIBUNWIND")
205    include_directories(${LIBUNWIND_INCLUDE_DIR})
206    target_link_libraries(CodeGen ${LIBUNWIND_LIBRARIES})
207  ELSE()
208    CHECK_INCLUDE_FILE_CXX(execinfo.h HAS_EXECINFO)
209    IF (HAS_EXECINFO)
210       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_EXECINFO")
211    ENDIF()
212  ENDIF()
213ENDIF()
214
215IF (CARRYPACK_MANAGER)
216SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_CARRYPACK_MANAGER")
217ENDIF()
218
219SET(CMAKE_REQUIRED_FLAGS)
220
221# detect LLVM version and add compiler flags.
222MATH(EXPR LLVM_VERSION_INTEGER "${LLVM_VERSION_MAJOR} * 10000 + ${LLVM_VERSION_MINOR} * 100 + ${LLVM_VERSION_PATCH}")
223SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_VERSION_INTEGER=${LLVM_VERSION_INTEGER}")
224SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_VERSION_major=${LLVM_VERSION_MAJOR} -DLLVM_VERSION_MINOR=${LLVM_VERSION_MINOR}")
225message(STATUS "LLVM Version Integer: ${LLVM_VERSION_INTEGER}")
226
227SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DPARABIX_VERSION='\"${Parabix_REVISION}\"'")
228IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
229  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold")
230ENDIF()
231
232SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
233
234SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls")
235
236UNSET(HAS_ADDRESS_SANITIZER)
237CHECK_INCLUDE_FILE_CXX("sanitizer/asan_interface.h" HAS_ADDRESS_SANITIZER)
238IF (HAS_ADDRESS_SANITIZER)
239SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DHAS_ADDRESS_SANITIZER -fsanitize=address")
240ENDIF()
241
242
243add_test(
244  NAME greptest
245  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
246  COMMAND python greptest.py ${CMAKE_BINARY_DIR}/icgrep)
247
248add_test(
249  NAME proptest
250  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
251  COMMAND python greptest.py -d ${PROJECT_SOURCE_DIR}/../QA -t ${PROJECT_SOURCE_DIR}/../QA/proptest.xml ${CMAKE_BINARY_DIR}/icgrep)
252
253add_test(
254  NAME abc_test
255  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
256  COMMAND ./run_abc ${CMAKE_BINARY_DIR}/icgrep)
257
258add_test(
259  NAME u8u16_test
260  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/u8u16
261  COMMAND ./run_all "${CMAKE_BINARY_DIR}/u8u16 -segment-size=16 -enable-segment-pipeline-parallel")
262
263#add_test(
264#  NAME lz4d_test
265#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d
266#  COMMAND ./run_all ${CMAKE_BINARY_DIR}/lz4d)
267
268add_test(
269  NAME editd_test
270  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/editd
271  COMMAND python run_all.py -e ${CMAKE_BINARY_DIR})
272
273add_test(
274  NAME base64_test
275  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/base64
276  COMMAND python base64test.py ${CMAKE_BINARY_DIR}/base64)
277
278#add_test(
279#  NAME character_deletion_test
280#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deletion
281#  COMMAND python character_deletion_test.py ${CMAKE_BINARY_DIR}/character_deletion
282#)
283
284#add_test(
285#  NAME character_deposit_test
286#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deposit
287#  COMMAND python character_deposit_test.py ${CMAKE_BINARY_DIR}/character_deposit
288#)
289
290#add_test(
291#  NAME lz4d_ext_dep_test
292#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d_ext_dep
293#  COMMAND python main.py ${CMAKE_BINARY_DIR}/lz4d_ext_dep
294#)
295
296SET_PROPERTY(TEST greptest PROPERTY TIMEOUT 400)
297SET_PROPERTY(TEST proptest PROPERTY TIMEOUT 1500)
298SET_PROPERTY(TEST abc_test PROPERTY TIMEOUT 100)
299SET_PROPERTY(TEST u8u16_test editd_test base64_test PROPERTY TIMEOUT 40)
300
301
302add_custom_target (greptest
303  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
304  COMMAND python greptest.py "${CMAKE_BINARY_DIR}/icgrep")
305
306add_custom_target (proptest
307  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
308  COMMAND python greptest.py -d ${PROJECT_SOURCE_DIR}/../QA -t ${PROJECT_SOURCE_DIR}/../QA/proptest.xml "${CMAKE_BINARY_DIR}/icgrep")
309
310add_custom_target (u8u16_test
311  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/u8u16
312  COMMAND ./run_all "${CMAKE_BINARY_DIR}/u8u16 -segment-size=16 -enable-segment-pipeline-parallel")
313
314add_custom_target (lz4d_test
315  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d
316  COMMAND ./run_all "${CMAKE_BINARY_DIR}/lz4d")
317
318add_custom_target (editd_test
319  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/editd
320  COMMAND python run_all.py -e ${CMAKE_BINARY_DIR})
321
322add_custom_target (base64_test
323  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/base64
324  COMMAND python base64test.py "${CMAKE_BINARY_DIR}/base64")
325
326#add_custom_target(character_deletion_test
327#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deletion
328#  COMMAND python character_deletion_test.py ${CMAKE_BINARY_DIR}/character_deletion
329#)
330
331#add_custom_target(character_deposit_test
332#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deposit
333#  COMMAND python character_deposit_test.py ${CMAKE_BINARY_DIR}/character_deposit
334#)
335
336#add_custom_target(lz4d_ext_dep_test
337#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d_ext_dep_test
338#  COMMAND python main.py ${CMAKE_BINARY_DIR}/lz4d_ext_dep_test
339#)
340
341add_custom_target (abc_gen
342  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
343  COMMAND python abc_testgen.py)
344 
345add_custom_target (abc_test
346  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
347  COMMAND ./run_abc "${CMAKE_BINARY_DIR}/icgrep")
348
349add_custom_target (check
350  COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
351  DEPENDS icgrep abc_gen)
352
353add_custom_target (perf_icgrep
354  COMMAND python2 perf.py icgrep
355  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance
356  DEPENDS icgrep)
357
358add_custom_target (viewer
359  COMMAND python2 viewer.py
360  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance)
361
362add_custom_target (text_viewer
363  COMMAND python2 viewer.py -t
364  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance)
365
366
Note: See TracBrowser for help on using the repository browser.