[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