[test-suite] r254834 - Add CMakeLists for External/{Nurbs|Povray|skidmarks10|HMMER}

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 4 20:30:34 PST 2015


Author: matze
Date: Fri Dec  4 22:30:32 2015
New Revision: 254834

URL: http://llvm.org/viewvc/llvm-project?rev=254834&view=rev
Log:
Add CMakeLists for External/{Nurbs|Povray|skidmarks10|HMMER}

As discussed in D14678 I am going for post-commit review as cmake/lit
test-suite support is still in early development.

Differential Revision: http://reviews.llvm.org/D14561

Added:
    test-suite/trunk/External/CMakeLists.txt
    test-suite/trunk/External/HMMER/CMakeLists.txt
    test-suite/trunk/External/Nurbs/CMakeLists.txt
    test-suite/trunk/External/Povray/CMakeLists.txt
    test-suite/trunk/External/skidmarks10/CMakeLists.txt
Modified:
    test-suite/trunk/CMakeLists.txt

Modified: test-suite/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/CMakeLists.txt?rev=254834&r1=254833&r2=254834&view=diff
==============================================================================
--- test-suite/trunk/CMakeLists.txt (original)
+++ test-suite/trunk/CMakeLists.txt Fri Dec  4 22:30:32 2015
@@ -73,6 +73,7 @@ set(CMAKE_CXX_COMPILE_OBJECT "${CMAKE_BI
 
 add_subdirectory(SingleSource)
 add_subdirectory(MultiSource)
+add_subdirectory(External)
 
 # Produce lit.site.cfg
 configure_file("${CMAKE_SOURCE_DIR}/lit.site.cfg.in" "${CMAKE_BINARY_DIR}/lit.site.cfg")

Added: test-suite/trunk/External/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/CMakeLists.txt?rev=254834&view=auto
==============================================================================
--- test-suite/trunk/External/CMakeLists.txt (added)
+++ test-suite/trunk/External/CMakeLists.txt Fri Dec  4 22:30:32 2015
@@ -0,0 +1,30 @@
+set(TEST_SUITE_EXTERNALS_DIR "" CACHE PATH
+    "Directory containing test-suite external benchmark sources")
+
+# Find path containing an external benchmark and set PATHVAR to it.
+# Specifically this:
+# - Adds a CACHE variable for PATHVAR
+# - If PATHVAR is unset set it to the first existing directory in this list:
+#   - ${TEST_SUITE_EXTERNALS_DIR}/${NAME}
+#   - ${CMAKE_SOURCE_DIR}/test-suite-externals/${NAME}
+macro(llvm_externals_find PATHVAR NAME DESCRIPTION)
+  set(${PATHVAR} "" CACHE PATH "Directory containing ${DESCRIPTION} sourcecode")
+  if(TEST_SUITE_EXTERNALS_DIR AND NOT ${PATHVAR} AND
+     IS_DIRECTORY "${TEST_SUITE_EXTERNALS_DIR}/${NAME}")
+    set(${PATHVAR} "${TEST_SUITE_EXTERNALS_DIR}/${NAME}")
+  endif()
+  if(NOT ${PATHVAR} AND
+     IS_DIRECTORY "${CMAKE_SOURCE_DIR}/test-suite-externals/${NAME}")
+    set(${PATHVAR} "${CMAKE_SOURCE_DIR}/test-suite-externals/${NAME}")
+  endif()
+  if(${PATHVAR})
+    message(STATUS "Found ${DESCRIPTION}: ${${PATHVAR}}")
+  endif()
+endmacro()
+
+llvm_add_subdirectories(
+  HMMER
+  Nurbs
+  Povray
+  skidmarks10
+)

Added: test-suite/trunk/External/HMMER/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/HMMER/CMakeLists.txt?rev=254834&view=auto
==============================================================================
--- test-suite/trunk/External/HMMER/CMakeLists.txt (added)
+++ test-suite/trunk/External/HMMER/CMakeLists.txt Fri Dec  4 22:30:32 2015
@@ -0,0 +1,19 @@
+llvm_externals_find(TEST_SUITE_HMMER_ROOT "hmmer" "HMMER 2.3.2")
+
+if(TEST_SUITE_HMMER_ROOT)
+  set(PROG hmmcalibrate)
+  FILE(GLOB Source ${TEST_SUITE_HMMER_ROOT}/*.c)
+  list(APPEND CPPFLAGS -DSSE2 -pthread)
+  list(APPEND LDFLAGS -pthread)
+  if(ARCH STREQUAL "PowerPC")
+    list(APPEND TARGET_FLAGS -maltivec)
+    list(APPEND LCCFLAGS -maltivec)
+  endif()
+
+  if(DEFINED LARGE_PROBLEM_SIZE)
+    llvm_test_run(--fixed 400 --cpu 1 --num 200000 --seed 1158818515 ${TEST_SUITE_HMMER_ROOT}/globin.hmm)
+  else()
+    llvm_test_run(--fixed 400 --cpu 1 --num 80000 --seed 1158818515 ${TEST_SUITE_HMMER_ROOT}/globin.hmm)
+  endif()
+  llvm_multisource()
+endif()

Added: test-suite/trunk/External/Nurbs/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/Nurbs/CMakeLists.txt?rev=254834&view=auto
==============================================================================
--- test-suite/trunk/External/Nurbs/CMakeLists.txt (added)
+++ test-suite/trunk/External/Nurbs/CMakeLists.txt Fri Dec  4 22:30:32 2015
@@ -0,0 +1,19 @@
+llvm_externals_find(TEST_SUITE_NURBS_ROOT "nurbs" "Nurbs")
+
+if(TEST_SUITE_NURBS_ROOT)
+  set(PROG nurbs)
+  file(GLOB Source ${TEST_SUITE_NURBS_ROOT}/*.cpp)
+  list(APPEND LDFLAGS -lstdc++)
+  list(APPEND LIBS -lstdc++)
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    list(APPEND CPPFLAGS -DDWORD_IS_ULL)
+  endif()
+
+  llvm_test_run(/k all timed /t 500 /vsteps 192 /usteps 192 /vcp 20 /ucp 20)
+  llvm_test_verify(${CMAKE_BINARY_DIR}/tools/fpcmp
+    %o
+    ${CMAKE_CURRENT_SOURCE_DIR}/nurbs.reference_output
+  )
+
+  llvm_multisource()
+endif()

Added: test-suite/trunk/External/Povray/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/Povray/CMakeLists.txt?rev=254834&view=auto
==============================================================================
--- test-suite/trunk/External/Povray/CMakeLists.txt (added)
+++ test-suite/trunk/External/Povray/CMakeLists.txt Fri Dec  4 22:30:32 2015
@@ -0,0 +1,37 @@
+llvm_externals_find(TEST_SUITE_POVRAY_ROOT "povray31" "POV-Ray 3.1")
+
+if(TEST_SUITE_POVRAY_ROOT)
+  set(PROG povray)
+
+  file(GLOB Source
+    ${TEST_SUITE_POVRAY_ROOT}/source/*.c
+    ${TEST_SUITE_POVRAY_ROOT}/source/libpng/*.c
+  )
+  list(REMOVE_ITEM Source
+    ${TEST_SUITE_POVRAY_ROOT}/source/libpng/ansi2knr.c
+    ${TEST_SUITE_POVRAY_ROOT}/source/libpng/pngtest.c
+    ${TEST_SUITE_POVRAY_ROOT}/source/libpng/example.c
+  )
+
+  list(APPEND CPPFLAGS
+    -I${TEST_SUITE_POVRAY_ROOT}/source
+    -I${TEST_SUITE_POVRAY_ROOT}/source/unix
+    -I${TEST_SUITE_POVRAY_ROOT}/source/libpng
+    -DPREFIX='"${CMAKE_CURRENT_BINARY_DIR}"'
+    -DSYSCONFDIR='"${CMAKE_CURRENT_BINARY_DIR}"'
+  )
+  list(APPEND LIBS -lz -lm)
+  list(APPEND LDFLAGS -lz -lm)
+
+  llvm_test_run(
+    -I${TEST_SUITE_POVRAY_ROOT}/scenes/advanced/chess2.pov
+    -L${TEST_SUITE_POVRAY_ROOT}/include
+    -GA$<.junk -O-
+  )
+  llvm_test_verify(${CMAKE_BINARY_DIR}/tools/fpcmp
+    %o
+    ${CMAKE_CURRENT_SOURCE_DIR}/povray.reference_output
+  )
+
+  llvm_multisource()
+endif()

Added: test-suite/trunk/External/skidmarks10/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/skidmarks10/CMakeLists.txt?rev=254834&view=auto
==============================================================================
--- test-suite/trunk/External/skidmarks10/CMakeLists.txt (added)
+++ test-suite/trunk/External/skidmarks10/CMakeLists.txt Fri Dec  4 22:30:32 2015
@@ -0,0 +1,17 @@
+llvm_externals_find(TEST_SUITE_SKIDMARKS10_ROOT "skidmarks10" "Skidmarks 10")
+
+if(TEST_SUITE_SKIDMARKS10_ROOT)
+  set(PROG skidmarks)
+  file(GLOB Source ${TEST_SUITE_SKIDMARKS10_ROOT}/source/*.c)
+  list(APPEND CPPFLAGS -I${TEST_SUITE_SKIDMARKS10_ROOT}/source)
+  if(ARCH STREQUAL "x86")
+    list(APPEND CPPFLAGS -msse3)
+  endif()
+
+  llvm_test_run(0 ${TEST_SUITE_SKIDMARKS10_ROOT}/golden)
+  llvm_test_verify(${CMAKE_BINARY_DIR}/tools/fpcmp
+    %o
+    ${CMAKE_CURRENT_SOURCE_DIR}/skidmarks.reference_output
+  )
+  llvm_multisource()
+endif()




More information about the llvm-commits mailing list