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

Last change on this file since 5921 was 5921, checked in by xwa163, 11 months ago
  1. Initial checkin for new approach for lz4 index decoder that always use 4MB buffer
  2. Add test case for new approach (for now test cases will fail when test file is larger than 4MB)
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
93add_library(CodeGen ${TOOLCHAIN_SRC} ${DRIVER_SRC} ${OBJECT_CACHE_SRC} ${KERNEL_SRC} ${IDISA_SRC})
94add_library(PabloADT ${PABLO_SRC})
95# CCADT is the core library for representing and compiling character classes
96add_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)
97# RegExpADT is the core library for representing, parsing and printing regular expressions
98add_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)
99add_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)
100add_library(UCDlib UCD/CaseFolding.cpp utf8_encoder.cpp utf16_encoder.cpp UCD/ucd_compiler.cpp UCD/PropertyObjects.cpp UCD/resolve_properties.cpp)
101add_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)
102add_library(LZ4_Lib lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4/lz4_block_decoder.cpp kernels/sequential_kernel.cpp kernels/lz4/lz4_extract_e_m0.cpp kernels/lz4/lz4_deposit_uncompressed.cpp kernels/lz4/lz4_generate_deposit_stream.cpp kernels/lz4/lz4_numbers_to_bitstream_kernel.cpp kernels/lz4/LZ4MarkerToMaskKernel.cpp kernels/lz4/lz4_bitstream_not_kernel.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_new.cpp kernels/lz4/lz4_index_builder.cpp lz4/LZ4GeneratorNew.cpp)
103
104# force the compiler to compile the object cache to ensure that the versioning information is up to date
105add_custom_target(RecompileObjectCache ALL touch ${CMAKE_CURRENT_SOURCE_DIR}/${OBJECT_CACHE_SRC})
106add_dependencies(CodeGen RecompileObjectCache)
107
108# add the executable
109target_link_libraries (CodeGen ${REQ_LLVM_LIBRARIES})
110target_link_libraries (PabloADT CodeGen)
111target_link_libraries (CCADT PabloADT)
112target_link_libraries (RegExpADT PabloADT CCADT)
113target_link_libraries (UCDlib GrepEngine RegExpCompiler RegExpADT PabloADT CCADT)
114target_link_libraries (RegExpCompiler UCDlib CCADT RegExpADT)
115target_link_libraries (GrepEngine RegExpCompiler CodeGen)
116
117add_executable(icgrep icgrep.cpp grep_interface.cpp)
118add_executable(u8u16 u8u16.cpp)
119add_executable(base64 base64.cpp kernels/radix64.cpp)
120add_executable(wc wc.cpp)
121add_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)
122add_executable(lz4d lz4d.cpp lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4/lz4_index_decoder.cpp kernels/lz4/lz4_bytestream_decoder.cpp)
123add_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)
124add_executable(character_deletion character_deletion.cpp kernels/cc_kernel.cpp)
125add_executable(character_deposit character_deposit.cpp kernels/cc_kernel.cpp kernels/pdep_kernel.cpp kernels/lz4/lz4_multiple_pdep_kernel.cpp)
126add_executable(lz4d_ext_dep lz4d_ext_dep.cpp)
127
128
129#Exclude CoRE from default build.
130set_target_properties(core PROPERTIES EXCLUDE_FROM_ALL 1)
131
132target_link_libraries (icgrep GrepEngine UCDlib PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
133target_link_libraries (u8u16 PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
134target_link_libraries (base64 PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
135target_link_libraries (wc PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
136target_link_libraries (editd PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
137target_link_libraries (lz4d PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
138target_link_libraries (core RegExpCompiler ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES})
139target_link_libraries (character_deletion PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
140target_link_libraries (character_deposit PabloADT RegExpCompiler CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
141target_link_libraries (lz4d_ext_dep LZ4_Lib PabloADT CCADT CodeGen ${REQ_LLVM_LIBRARIES} ${Boost_LIBRARIES} ${CUDA_LIB})
142
143
144
145IF(ENABLE_MULTIPLEXING)
146    message(STATUS "Enabling Multiplexing")
147    find_package(Z3 REQUIRED)
148    include_directories(${Z3_INCLUDE_DIRS})
149    target_link_libraries(PabloADT ${Z3_LIBRARIES})
150    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_MULTIPLEXING")
151ENDIF()
152
153include_directories("${PROJECT_SOURCE_DIR}")
154
155#Check compiler support for 0x / 11
156include(CheckCXXCompilerFlag)
157CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
158if(COMPILER_SUPPORTS_CXX11)
159  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
160else()
161  CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
162  if(COMPILER_SUPPORTS_CXX0X)
163    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
164  else()
165    CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_GNU11)
166    if(COMPILER_SUPPORTS_GNU11)
167      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
168    else()
169      CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_GNU0X)
170      if(COMPILER_SUPPORTS_GNU0X)
171        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
172      endif()
173    endif()
174  endif()
175endif()
176
177#Disable RunTime Type Information
178IF (MSVC) # using Visual Studio C++
179  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
180ELSE() # using Clang, GCC, Intel C++, etc
181  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") 
182ENDIF()
183
184#Disable Dual ABI support
185IF(DISABLE_DUAL_ABI)
186SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
187ENDIF()
188
189#Enable all warnings
190SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
191
192UNSET(HAS_EXECINFO CACHE)
193UNSET(HAS_MACH_VM_TYPES CACHE)
194include(CheckIncludeFileCXX)
195CHECK_INCLUDE_FILE_CXX(mach/vm_types.h HAS_MACH_VM_TYPES)
196IF (HAS_MACH_VM_TYPES)
197  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_MACH_VM_TYPES")
198ELSE()
199  UNSET(LIBUNWIND_FOUND CACHE)
200  find_package(Libunwind)
201  IF (LIBUNWIND_FOUND)
202    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_LIBUNWIND")
203    include_directories(${LIBUNWIND_INCLUDE_DIR})
204    target_link_libraries(CodeGen ${LIBUNWIND_LIBRARIES})
205  ELSE()
206    CHECK_INCLUDE_FILE_CXX(execinfo.h HAS_EXECINFO)
207    IF (HAS_EXECINFO)
208       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAS_EXECINFO")
209    ENDIF()
210  ENDIF()
211ENDIF()
212
213IF (CARRYPACK_MANAGER)
214SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_CARRYPACK_MANAGER")
215ENDIF()
216
217SET(CMAKE_REQUIRED_FLAGS)
218
219# detect LLVM version and add compiler flags.
220MATH(EXPR LLVM_VERSION_INTEGER "${LLVM_VERSION_MAJOR} * 10000 + ${LLVM_VERSION_MINOR} * 100 + ${LLVM_VERSION_PATCH}")
221SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_VERSION_INTEGER=${LLVM_VERSION_INTEGER}")
222SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_VERSION_major=${LLVM_VERSION_MAJOR} -DLLVM_VERSION_MINOR=${LLVM_VERSION_MINOR}")
223message(STATUS "LLVM Version Integer: ${LLVM_VERSION_INTEGER}")
224
225SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DPARABIX_VERSION='\"${Parabix_REVISION}\"'")
226IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
227  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold")
228ENDIF()
229
230SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
231
232SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls")
233
234UNSET(HAS_ADDRESS_SANITIZER)
235CHECK_INCLUDE_FILE_CXX("sanitizer/asan_interface.h" HAS_ADDRESS_SANITIZER)
236IF (HAS_ADDRESS_SANITIZER)
237SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DHAS_ADDRESS_SANITIZER -fsanitize=address")
238ENDIF()
239
240
241add_test(
242  NAME greptest
243  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
244  COMMAND python greptest.py ${CMAKE_BINARY_DIR}/icgrep)
245
246add_test(
247  NAME proptest
248  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
249  COMMAND python greptest.py -d ${PROJECT_SOURCE_DIR}/../QA -t ${PROJECT_SOURCE_DIR}/../QA/proptest.xml ${CMAKE_BINARY_DIR}/icgrep)
250
251add_test(
252  NAME abc_test
253  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
254  COMMAND ./run_abc ${CMAKE_BINARY_DIR}/icgrep)
255
256add_test(
257  NAME u8u16_test
258  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/u8u16
259  COMMAND ./run_all "${CMAKE_BINARY_DIR}/u8u16 -segment-size=16 -enable-segment-pipeline-parallel")
260
261#add_test(
262#  NAME lz4d_test
263#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d
264#  COMMAND ./run_all ${CMAKE_BINARY_DIR}/lz4d)
265
266add_test(
267  NAME editd_test
268  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/editd
269  COMMAND python run_all.py -e ${CMAKE_BINARY_DIR})
270
271add_test(
272  NAME base64_test
273  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/base64
274  COMMAND python base64test.py ${CMAKE_BINARY_DIR}/base64)
275
276#add_test(
277#  NAME character_deletion_test
278#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deletion
279#  COMMAND python character_deletion_test.py ${CMAKE_BINARY_DIR}/character_deletion
280#)
281
282#add_test(
283#  NAME character_deposit_test
284#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deposit
285#  COMMAND python character_deposit_test.py ${CMAKE_BINARY_DIR}/character_deposit
286#)
287
288#add_test(
289#  NAME lz4d_ext_dep_test
290#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d_ext_dep
291#  COMMAND python main.py ${CMAKE_BINARY_DIR}/lz4d_ext_dep
292#)
293
294SET_PROPERTY(TEST greptest PROPERTY TIMEOUT 400)
295SET_PROPERTY(TEST proptest PROPERTY TIMEOUT 1500)
296SET_PROPERTY(TEST abc_test PROPERTY TIMEOUT 100)
297SET_PROPERTY(TEST u8u16_test editd_test base64_test PROPERTY TIMEOUT 40)
298
299
300add_custom_target (greptest
301  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
302  COMMAND python greptest.py "${CMAKE_BINARY_DIR}/icgrep")
303
304add_custom_target (proptest
305  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
306  COMMAND python greptest.py -d ${PROJECT_SOURCE_DIR}/../QA -t ${PROJECT_SOURCE_DIR}/../QA/proptest.xml "${CMAKE_BINARY_DIR}/icgrep")
307
308add_custom_target (u8u16_test
309  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/u8u16
310  COMMAND ./run_all "${CMAKE_BINARY_DIR}/u8u16 -segment-size=16 -enable-segment-pipeline-parallel")
311
312add_custom_target (lz4d_test
313  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d
314  COMMAND ./run_all "${CMAKE_BINARY_DIR}/lz4d")
315
316add_custom_target (editd_test
317  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/editd
318  COMMAND python run_all.py -e ${CMAKE_BINARY_DIR})
319
320add_custom_target (base64_test
321  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/base64
322  COMMAND python base64test.py "${CMAKE_BINARY_DIR}/base64")
323
324#add_custom_target(character_deletion_test
325#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deletion
326#  COMMAND python character_deletion_test.py ${CMAKE_BINARY_DIR}/character_deletion
327#)
328
329#add_custom_target(character_deposit_test
330#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/character_deposit
331#  COMMAND python character_deposit_test.py ${CMAKE_BINARY_DIR}/character_deposit
332#)
333
334#add_custom_target(lz4d_ext_dep_test
335#  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA/lz4d_ext_dep_test
336#  COMMAND python main.py ${CMAKE_BINARY_DIR}/lz4d_ext_dep_test
337#)
338
339add_custom_target (abc_gen
340  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
341  COMMAND python abc_testgen.py)
342 
343add_custom_target (abc_test
344  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../QA
345  COMMAND ./run_abc "${CMAKE_BINARY_DIR}/icgrep")
346
347add_custom_target (check
348  COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
349  DEPENDS icgrep abc_gen)
350
351add_custom_target (perf_icgrep
352  COMMAND python2 perf.py icgrep
353  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance
354  DEPENDS icgrep)
355
356add_custom_target (viewer
357  COMMAND python2 viewer.py
358  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance)
359
360add_custom_target (text_viewer
361  COMMAND python2 viewer.py -t
362  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/../performance)
363
364
Note: See TracBrowser for help on using the repository browser.