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

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