[arrayfire] 42/248: Changes to examples and test CMakeLists to build *_unified binaries
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Tue Nov 17 15:53:52 UTC 2015
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 e35b5ecd0b7975b609fa2195e7cb6a90f6f597f8
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date: Fri Sep 4 19:33:42 2015 -0400
Changes to examples and test CMakeLists to build *_unified binaries
---
examples/CMakeLists.txt | 28 +++++++++++-----------------
src/api/unified/symbol_manager.cpp | 3 ++-
test/CMakeLists.txt | 17 +++++++++++------
3 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 254afe3..c813398 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -68,25 +68,8 @@ ENDMACRO()
# Collect the source
FILE(GLOB FILES "*/*.cpp")
-FILE(GLOB UNIFIED_FILES "unified/*.cpp")
ADD_DEFINITIONS("-DASSETS_DIR=\"${ASSETS_DIR}\"")
-IF(${ArrayFire_UNIFIED_FOUND})
- MESSAGE(STATUS "UNIFIED examples")
- IF(WIN32)
- BUILD_ALL("${UNIFIED_FILES}" unified ${ArrayFire_UNIFIED_LIBRARIES} "")
- ELSE()
- BUILD_ALL("${UNIFIED_FILES}" unified ${ArrayFire_UNIFIED_LIBRARIES} dl)
- ENDIF()
-ELSEIF(TARGET af)
- MESSAGE(STATUS "UNIFIED examples")
- IF(WIN32)
- BUILD_ALL("${UNIFIED_FILES}" unified af "")
- ELSE()
- BUILD_ALL("${UNIFIED_FILES}" unified af dl)
- ENDIF()
-ENDIF()
-
# Next we build each example using every backend.
if(${ArrayFire_CPU_FOUND}) # variable defined by FIND(ArrayFire ...)
MESSAGE(STATUS "EXAMPLES: CPU backend is ON.")
@@ -98,6 +81,17 @@ else()
MESSAGE(STATUS "EXAMPLES: CPU backend is OFF. afcpu was not found.")
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.")
+ BUILD_ALL("${FILES}" unified ${ArrayFire_Unified_LIBRARIES} "")
+elseif(TARGET af) # variable defined by the ArrayFire build tree
+ MESSAGE(STATUS "EXAMPLES: UNIFIED backend is ON.")
+ BUILD_ALL("${FILES}" unified af "dl")
+else()
+ MESSAGE(STATUS "EXAMPLES: UNIFIED backend is OFF. af was not found.")
+endif()
+
if (${CUDA_FOUND})
if(${ArrayFire_CUDA_FOUND}) # variable defined by FIND(ArrayFire ...)
FIND_LIBRARY( CUDA_NVVM_LIBRARY
diff --git a/src/api/unified/symbol_manager.cpp b/src/api/unified/symbol_manager.cpp
index 38f3399..ef4c638 100644
--- a/src/api/unified/symbol_manager.cpp
+++ b/src/api/unified/symbol_manager.cpp
@@ -65,8 +65,9 @@ AFSymbolManager::AFSymbolManager()
AFSymbolManager::~AFSymbolManager()
{
for(int i=0; i<NUM_BACKENDS; ++i) {
- if (bkndHandles[i])
+ if (bkndHandles[i]) {
closeDynLibrary(bkndHandles[i]);
+ }
}
}
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 662a74d..dc28bf1 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -5,7 +5,7 @@ FIND_PACKAGE(CUDA QUIET)
FIND_PACKAGE(OpenCL QUIET)
-MACRO(CREATE_TESTS BACKEND GTEST_LIBS OTHER_LIBS)
+MACRO(CREATE_TESTS BACKEND LIBNAME GTEST_LIBS OTHER_LIBS)
STRING(TOUPPER ${BACKEND} DEF_NAME)
FOREACH(FILE ${FILES})
@@ -20,7 +20,7 @@ MACRO(CREATE_TESTS BACKEND GTEST_LIBS OTHER_LIBS)
FILE(GLOB TEST_FILE "${FNAME}.cpp" "${FNAME}.c")
ADD_EXECUTABLE(${TEST_NAME} ${TEST_FILE})
- TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE af${BACKEND}
+ TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE af${LIBNAME}
PRIVATE ${THREAD_LIB_FLAG}
PRIVATE ${GTEST_LIBS}
PRIVATE ${OTHER_LIBS})
@@ -86,7 +86,7 @@ FILE(GLOB FILES "*.cpp" "*.c")
IF(${BUILD_CPU})
MESSAGE(STATUS "TESTS: CPU backend is ON")
- CREATE_TESTS(cpu "${GTEST_LIBRARIES}" "")
+ CREATE_TESTS(cpu cpu "${GTEST_LIBRARIES}" "")
ELSE()
MESSAGE(STATUS "TESTS: CPU backend is OFF")
ENDIF()
@@ -94,7 +94,7 @@ ENDIF()
IF(${BUILD_CUDA} AND ${CUDA_FOUND})
MESSAGE(STATUS "TESTS: CUDA backend is ON")
IF("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
- CREATE_TESTS(cuda "${GTEST_LIBRARIES_STDLIB}" "")
+ CREATE_TESTS(cuda cuda "${GTEST_LIBRARIES_STDLIB}" "")
FOREACH(FILE ${FILES})
GET_FILENAME_COMPONENT(FNAME ${FILE} NAME_WE)
SET(TEST_NAME ${FNAME}_cuda)
@@ -102,7 +102,7 @@ IF(${BUILD_CUDA} AND ${CUDA_FOUND})
SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES LINK_FLAGS -stdlib=libstdc++)
ENDFOREACH()
ELSE("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
- CREATE_TESTS(cuda "${GTEST_LIBRARIES}" "")
+ CREATE_TESTS(cuda cuda "${GTEST_LIBRARIES}" "")
ENDIF("${APPLE}" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CUDA_VERSION_MAJOR} VERSION_LESS 7)
ELSE()
MESSAGE(STATUS "TESTS: CUDA backend is OFF")
@@ -110,7 +110,12 @@ ENDIF()
IF(${BUILD_OPENCL} AND ${OpenCL_FOUND})
MESSAGE(STATUS "TESTS: OPENCL backend is ON")
- CREATE_TESTS(opencl "${GTEST_LIBRARIES}" "${OpenCL_LIBRARIES}")
+ CREATE_TESTS(opencl opencl "${GTEST_LIBRARIES}" "${OpenCL_LIBRARIES}")
ELSE()
MESSAGE(STATUS "TESTS: OPENCL backend is OFF")
ENDIF()
+
+IF(${BUILD_UNIFIED})
+ MESSAGE(STATUS "TESTS: Unified backends is ON")
+ CREATE_TESTS(unified "" "${GTEST_LIBRARIES}" dl)
+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