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

Last change on this file since 5906 was 5906, checked in by xwa163, 11 months ago

Implement swizzled match copy kernel, which can do match copy in swizzled bitstream form

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