[arrayfire] 35/75: Add BUILD_* Options for examples and tests when building standalone

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Mon Feb 29 08:01:13 UTC 2016


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch dfsg-clean
in repository arrayfire.

commit 3c385b3909d7588eea30e16984f2c3c9069105bc
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date:   Tue Feb 16 16:05:29 2016 -0500

    Add BUILD_* Options for examples and tests when building standalone
---
 examples/CMakeLists.txt | 29 +++++++++++++++--------------
 test/CMakeLists.txt     | 43 +++++++++++++++++++++++++------------------
 2 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 4710d1b..be0f640 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -61,13 +61,17 @@ ENDMACRO()
 # and TARGET_LINK_LIBRARIES(... ${ARRAYFIRE_LIBRARIES}) are needed
 MACRO(BUILD_ALL FILES BACKEND_NAME BACKEND_LIBRARIES OTHER_LIBRARIES)
 
-    FOREACH(FILE ${FILES})
-        GET_FILENAME_COMPONENT(EXAMPLE ${FILE} NAME_WE)
-        GET_FILENAME_COMPONENT(FULL_DIR_NAME ${FILE} PATH)
-        GET_FILENAME_COMPONENT(DIR_NAME ${FULL_DIR_NAME} NAME)
+    STRING(TOUPPER ${BACKEND_NAME} BACKEND_NAME_UPPER)
+    MESSAGE(STATUS "EXAMPLES: ${BACKEND_NAME_UPPER} backend is ${BUILD_${BACKEND_NAME_UPPER}}.")
+    IF(${BUILD_${BACKEND_NAME_UPPER}})
+        FOREACH(FILE ${FILES})
+            GET_FILENAME_COMPONENT(EXAMPLE ${FILE} NAME_WE)
+            GET_FILENAME_COMPONENT(FULL_DIR_NAME ${FILE} PATH)
+            GET_FILENAME_COMPONENT(DIR_NAME ${FULL_DIR_NAME} NAME)
 
-        BUILD_EXAMPLE(${EXAMPLE} ${FILE} ${BACKEND_NAME} "${BACKEND_LIBRARIES}" "${OTHER_LIBRARIES}" ${DIR_NAME})
-    ENDFOREACH()
+            BUILD_EXAMPLE(${EXAMPLE} ${FILE} ${BACKEND_NAME} "${BACKEND_LIBRARIES}" "${OTHER_LIBRARIES}" ${DIR_NAME})
+        ENDFOREACH()
+    ENDIF()
 ENDMACRO()
 
 # Collect the source
@@ -76,10 +80,9 @@ ADD_DEFINITIONS("-DASSETS_DIR=\"${ASSETS_DIR}\"")
 
 # Next we build each example using every backend.
 IF(${ArrayFire_CPU_FOUND})  # variable defined by FIND(ArrayFire ...)
-    MESSAGE(STATUS "EXAMPLES: CPU backend is ON.")
+    OPTION(BUILD_CPU "Build ArrayFire Examples for CPU backend" ON)
     BUILD_ALL("${FILES}" cpu ${ArrayFire_CPU_LIBRARIES} "")
 ELSEIF(TARGET afcpu)        # variable defined by the ArrayFire build tree
-    MESSAGE(STATUS "EXAMPLES: CPU backend is ON.")
     BUILD_ALL("${FILES}" cpu afcpu "")
 ELSE()
     MESSAGE(STATUS "EXAMPLES: CPU backend is OFF. afcpu was not found.")
@@ -87,10 +90,9 @@ ENDIF()
 
 # Next we build each example using every backend.
 IF(${ArrayFire_Unified_FOUND})  # variable defined by FIND(ArrayFire ...)
-    MESSAGE(STATUS "EXAMPLES: UNIFIED backend is ON.")
+    OPTION(BUILD_UNIFIED "Build ArrayFire Examples for Unified backend" ON)
     BUILD_ALL("${FILES}" unified ${ArrayFire_Unified_LIBRARIES} "${CMAKE_DL_LIBS}")
 ELSEIF(TARGET af)        # variable defined by the ArrayFire build tree
-    MESSAGE(STATUS "EXAMPLES: UNIFIED backend is ON.")
     BUILD_ALL("${FILES}" unified af "${CMAKE_DL_LIBS}")
 ELSE()
     MESSAGE(STATUS "EXAMPLES: UNIFIED backend is OFF. af was not found.")
@@ -104,10 +106,10 @@ IF (${CUDA_FOUND})
           PATHS ${CUDA_TOOLKIT_ROOT_DIR}
           DOC "CUDA NVVM Library"
           )
-        MESSAGE(STATUS "EXAMPLES: CUDA backend is ON.")
+        MARK_AS_ADVANCED(CUDA_NVVM_LIBRARY)
+        OPTION(BUILD_CUDA "Build ArrayFire Examples for CUDA backend" ON)
         BUILD_ALL("${FILES}" cuda ${ArrayFire_CUDA_LIBRARIES} "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
     ELSEIF(TARGET afcuda)        # variable defined by the ArrayFire build tree
-        MESSAGE(STATUS "EXAMPLES: CUDA backend is ON.")
         BUILD_ALL("${FILES}" cuda afcuda "")
     ELSE()
         MESSAGE(STATUS "EXAMPLES: CUDA backend is OFF. afcuda was not found")
@@ -118,10 +120,9 @@ ENDIF()
 
 IF (${OpenCL_FOUND})
     IF(${ArrayFire_OpenCL_FOUND})  # variable defined by FIND(ArrayFire ...)
-        MESSAGE(STATUS "EXAMPLES: OpenCL backend is ON.")
+        OPTION(BUILD_OPENCL "Build ArrayFire Examples for OpenCL backend" ON)
         BUILD_ALL("${FILES}" opencl ${ArrayFire_OpenCL_LIBRARIES} "${OpenCL_LIBRARIES}")
     ELSEIF(TARGET afopencl)        # variable defined by the ArrayFire build tree
-        MESSAGE(STATUS "EXAMPLES: OpenCL backend is ON.")
         BUILD_ALL("${FILES}" opencl afopencl "${OpenCL_LIBRARIES}")
     ELSE()
         MESSAGE(STATUS "EXAMPLES: OpenCL backend is OFF. afopencl was not found")
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index bea93d5..5db2371 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -110,6 +110,14 @@ MACRO(CREATE_TESTS BACKEND AFLIBNAME GTEST_LIBS OTHER_LIBS)
 
 ENDMACRO(CREATE_TESTS)
 
+MACRO(CHECK_AND_CREATE_TESTS BACKEND AFLIBNAME GTEST_LIBS OTHER_LIBS)
+    STRING(TOUPPER ${BACKEND} BACKEND_NAME_UPPER)
+    MESSAGE(STATUS "TESTS: ${BACKEND_NAME_UPPER} backend is ${BUILD_${BACKEND_NAME_UPPER}}.")
+    IF(${BUILD_${BACKEND_NAME_UPPER}})
+        CREATE_TESTS(${BACKEND} ${AFLIBNAME} "${GTEST_LIBS}" "${OTHER_LIBS}")
+    ENDIF()
+ENDMACRO(CHECK_AND_CREATE_TESTS)
+
 FIND_PACKAGE(Threads REQUIRED)
 IF(CMAKE_USE_PTHREADS_INIT AND NOT "${APPLE}")
     SET(THREAD_LIB_FLAG "-pthread")
@@ -170,11 +178,10 @@ LIST(SORT UNIFIED_FILES)  # Tests execute in alphabetical order
 
 # Next we build each example using every backend.
 IF(${ArrayFire_CPU_FOUND})  # variable defined by FIND(ArrayFire ...)
-    MESSAGE(STATUS "TESTS: CPU backend is ON.")
-    CREATE_TESTS(cpu ${ArrayFire_CPU_LIBRARIES} "${GTEST_LIBRARIES}" "")
+    OPTION(BUILD_CPU "Build ArrayFire Tests for CPU backend" ON)
+    CHECK_AND_CREATE_TESTS(cpu ${ArrayFire_CPU_LIBRARIES} "${GTEST_LIBRARIES}" "")
 ELSEIF(TARGET afcpu)        # variable defined by the ArrayFire build tree
-    MESSAGE(STATUS "TESTS: CPU backend is ON.")
-    CREATE_TESTS(cpu afcpu "${GTEST_LIBRARIES}" "")
+    CHECK_AND_CREATE_TESTS(cpu afcpu "${GTEST_LIBRARIES}" "")
 ELSE()
     MESSAGE(STATUS "TESTS: CPU backend is OFF. afcpu was not found.")
 ENDIF()
@@ -188,10 +195,11 @@ IF (${CUDA_FOUND})
           PATHS ${CUDA_TOOLKIT_ROOT_DIR}
           DOC "CUDA NVVM Library"
           )
-        MESSAGE(STATUS "TESTS: CUDA backend is ON.")
+        MARK_AS_ADVANCED(CUDA_NVVM_LIBRARY)
         # If OSX && CLANG && CUDA < 7
         IF("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
-            CREATE_TESTS(cuda ${ArrayFire_CUDA_LIBRARIES} "${GTEST_LIBRARIES_STDLIB}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
+            OPTION(BUILD_CUDA "Build ArrayFire Tests for CUDA backend" ON)
+            CHECK_AND_CREATE_TESTS(cuda ${ArrayFire_CUDA_LIBRARIES} "${GTEST_LIBRARIES_STDLIB}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
 
             FOREACH(FILE ${FILES})
                 GET_FILENAME_COMPONENT(FNAME ${FILE} NAME_WE)
@@ -202,15 +210,15 @@ IF (${CUDA_FOUND})
 
         # ELSE OSX && CLANG && CUDA < 7
         ELSE("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
-            CREATE_TESTS(cuda ${ArrayFire_CUDA_LIBRARIES} "${GTEST_LIBRARIES}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
+            OPTION(BUILD_CUDA "Build ArrayFire Tests for CUDA backend" ON)
+            CHECK_AND_CREATE_TESTS(cuda ${ArrayFire_CUDA_LIBRARIES} "${GTEST_LIBRARIES}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
 
         ENDIF("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
 
     ELSEIF(TARGET afcuda)        # variable defined by the ArrayFire build tree
-        MESSAGE(STATUS "TESTS: CUDA backend is ON.")
         # If OSX && CLANG && CUDA < 7
         IF("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
-            CREATE_TESTS(cuda afcuda "${GTEST_LIBRARIES_STDLIB}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
+            CHECK_AND_CREATE_TESTS(cuda afcuda "${GTEST_LIBRARIES_STDLIB}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
 
             FOREACH(FILE ${FILES})
                 GET_FILENAME_COMPONENT(FNAME ${FILE} NAME_WE)
@@ -221,7 +229,7 @@ IF (${CUDA_FOUND})
 
         # ELSE OSX && CLANG && CUDA < 7
         ELSE("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
-            CREATE_TESTS(cuda afcuda "${GTEST_LIBRARIES}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
+            CHECK_AND_CREATE_TESTS(cuda afcuda "${GTEST_LIBRARIES}" "${CUDA_CUBLAS_LIBRARIES};${CUDA_LIBRARIES};${CUDA_cusolver_LIBRARY};${CUDA_CUFFT_LIBRARIES};${CUDA_NVVM_LIBRARY};${CUDA_CUDA_LIBRARY}")
 
         ENDIF("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
     ELSE()
@@ -235,11 +243,11 @@ ENDIF()
 IF (${OpenCL_FOUND})
     INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIRS})
     IF(${ArrayFire_OpenCL_FOUND})  # variable defined by FIND(ArrayFire ...)
-        MESSAGE(STATUS "TESTS: OpenCL backend is ON.")
-        CREATE_TESTS(opencl ${ArrayFire_OpenCL_LIBRARIES} "${GTEST_LIBRARIES}" "${OpenCL_LIBRARIES}")
+        OPTION(BUILD_OPENCL "Build ArrayFire Tests for OpenCL backend" ON)
+        MESSAGE(${OpenCL_LIBRARIES})
+        CHECK_AND_CREATE_TESTS(opencl ${ArrayFire_OpenCL_LIBRARIES} "${GTEST_LIBRARIES}" "${OpenCL_LIBRARIES}")
     ELSEIF(TARGET afopencl)        # variable defined by the ArrayFire build tree
-        MESSAGE(STATUS "TESTS: OpenCL backend is ON.")
-        CREATE_TESTS(opencl afopencl "${GTEST_LIBRARIES}" "${OpenCL_LIBRARIES}")
+        CHECK_AND_CREATE_TESTS(opencl afopencl "${GTEST_LIBRARIES}" "${OpenCL_LIBRARIES}")
     ELSE()
         MESSAGE(STATUS "TESTS: OpenCL backend is OFF. afopencl was not found")
     ENDIF()
@@ -249,11 +257,10 @@ ENDIF()
 
 # Unified Backend
 IF(${ArrayFire_Unified_FOUND})  # variable defined by FIND(ArrayFire ...)
-    MESSAGE(STATUS "TESTS: UNIFIED backend is ON.")
-    CREATE_TESTS(unified ${ArrayFire_Unified_LIBRARIES} "${GTEST_LIBRARIES}" "${CMAKE_DL_LIBS}")
+  OPTION(BUILD_UNIFIED "Build ArrayFire Tests for Unified backend" ON)
+    CHECK_AND_CREATE_TESTS(unified ${ArrayFire_Unified_LIBRARIES} "${GTEST_LIBRARIES}" "${CMAKE_DL_LIBS}")
 ELSEIF(TARGET af)        # variable defined by the ArrayFire build tree
-    MESSAGE(STATUS "TESTS: UNIFIED backend is ON.")
-    CREATE_TESTS(unified af "${GTEST_LIBRARIES}" "${CMAKE_DL_LIBS}")
+    CHECK_AND_CREATE_TESTS(unified af "${GTEST_LIBRARIES}" "${CMAKE_DL_LIBS}")
 ELSE()
     MESSAGE(STATUS "TESTS: UNIFIED backend is OFF. af was not found.")
 ENDIF()

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git



More information about the debian-science-commits mailing list