[arrayfire] 59/79: Created OSX Installer

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Mon Jun 15 13:38:07 UTC 2015


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

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

commit cd8a59472d6586bb1e9c0474cfa966be02ae4bc7
Author: Umar Arshad <umar at arrayfire.com>
Date:   Wed Jun 10 23:03:51 2015 -0400

    Created OSX Installer
---
 CMakeModules/OSXInstaller.cmake | 78 +++++++++++++++++++++++++++++++++++++++++
 CMakeModules/distribution.dist  | 39 +++++++++++++++++++++
 CMakeModules/readme.html        | 22 ++++++++++++
 CMakeModules/welcome.html       | 27 ++++++++++++++
 4 files changed, 166 insertions(+)

diff --git a/CMakeModules/OSXInstaller.cmake b/CMakeModules/OSXInstaller.cmake
new file mode 100644
index 0000000..921f040
--- /dev/null
+++ b/CMakeModules/OSXInstaller.cmake
@@ -0,0 +1,78 @@
+#
+# Builds ArrayFire Installers for OSX
+#
+include(CMakeParseArguments)
+include(${CMAKE_MODULE_PATH}/Version.cmake)
+
+set(BIN2CPP_PROGRAM "bin2cpp")
+
+function(PKG_BUILD)
+    cmake_parse_arguments(ARGS "" "INSTALL_LOCATION;IDENTIFIER;PATH_TO_FILES;PKG_NAME" "FILTERS" ${ARGN})
+
+    foreach(filter ${ARGS_FILTERS})
+        LIST(APPEND  FILTER_LIST --filter ${filter})
+    endforeach()
+
+    EXECUTE_PROCESS(COMMAND pkgbuild    --install-location  ${ARGS_INSTALL_LOCATION}
+                                        --identifier        ${ARGS_IDENTIFIER}
+                                        --root ${ARGS_PATH_TO_FILES}
+                                        ${FILTER_LIST}
+                                        ${ARGS_PKG_NAME}
+                    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+endfunction(PKG_BUILD)
+
+function(PRODUCT_BUILD)
+    SET(DISTRIBUTION_FILE       "${CMAKE_MODULE_PATH}/distribution.dist")
+    SET(DISTRIBUTION_FILE_OUT   "${CMAKE_CURRENT_BINARY_DIR}/distribution.dist.out")
+
+    SET(WELCOME_FILE       "${CMAKE_MODULE_PATH}/welcome.html")
+    SET(WELCOME_FILE_OUT   "${CMAKE_CURRENT_BINARY_DIR}/welcome.html.out")
+
+    SET(README_FILE       "${CMAKE_MODULE_PATH}/readme.html")
+    SET(README_FILE_OUT   "${CMAKE_CURRENT_BINARY_DIR}/readme.html.out")
+
+    SET(AF_TITLE    "ArrayFire ${AF_VERSION}")
+    CONFIGURE_FILE(${DISTRIBUTION_FILE} ${DISTRIBUTION_FILE_OUT})
+    CONFIGURE_FILE(${WELCOME_FILE} ${WELCOME_FILE_OUT})
+    CONFIGURE_FILE(${README_FILE} ${README_FILE_OUT})
+
+    SET(PACKAGE_NAME "Install ArrayFire.pkg")
+    EXECUTE_PROCESS(COMMAND productbuild    --distribution  ${DISTRIBUTION_FILE_OUT}
+                                            ${PACKAGE_NAME}
+                    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+endfunction(PRODUCT_BUILD)
+
+
+function(OSX_INSTALLER)
+    PKG_BUILD(  PKG_NAME        ArrayFireCPU.pkg
+                INSTALL_LOCATION /usr/local/lib
+                IDENTIFIER      com.arrayfire.arrayfire.cpu.lib
+                PATH_TO_FILES   package/lib
+                FILTERS         opencl cuda)
+
+    PKG_BUILD(  PKG_NAME        ArrayFireCUDA.pkg
+                INSTALL_LOCATION /usr/local/lib
+                IDENTIFIER      com.arrayfire.arrayfire.cuda.lib
+                PATH_TO_FILES   package/lib
+                FILTERS         cpu opencl)
+
+    PKG_BUILD(  PKG_NAME        ArrayFireOPENCL.pkg
+                INSTALL_LOCATION /usr/local/lib
+                IDENTIFIER      com.arrayfire.arrayfire.opencl.lib
+                PATH_TO_FILES   package/lib
+                FILTERS         cpu cuda)
+
+    PKG_BUILD(  PKG_NAME        ArrayFireHeaders.pkg
+                INSTALL_LOCATION /usr/local/include
+                IDENTIFIER      com.arrayfire.arrayfire.inc
+                PATH_TO_FILES   package/include)
+
+    PKG_BUILD(  PKG_NAME        ArrayFireExtra.pkg
+                INSTALL_LOCATION /usr/local/share
+                IDENTIFIER      com.arrayfire.arrayfire.extra
+                PATH_TO_FILES   package/share)
+
+    PRODUCT_BUILD()
+endfunction(OSX_INSTALLER)
+
+
diff --git a/CMakeModules/distribution.dist b/CMakeModules/distribution.dist
new file mode 100644
index 0000000..b62d54f
--- /dev/null
+++ b/CMakeModules/distribution.dist
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<installer-gui-script minSpecVersion="1">
+    <title>${AF_TITLE}</title>
+    <welcome    file="${WELCOME_FILE_OUT}" />
+    <readme     file="${README_FILE_OUT}" mime-type="test/html" />
+    <license    file="${CMAKE_MODULE_PATH}/../LICENSE" mime-type="test/plain" />
+
+    <pkg-ref id="com.arrayfire.arrayfire.cpu.lib"       version="${AF_VERSION}" onConclusion="none">ArrayFireCPU.pkg</pkg-ref>
+    <pkg-ref id="com.arrayfire.arrayfire.cuda.lib"      version="${AF_VERSION}" onConclusion="none">ArrayFireCUDA.pkg</pkg-ref>
+    <pkg-ref id="com.arrayfire.arrayfire.opencl.lib"    version="${AF_VERSION}" onConclusion="none">ArrayFireOPENCL.pkg</pkg-ref>
+    <pkg-ref id="com.arrayfire.arrayfire.inc"           version="${AF_VERSION}" onConclusion="none">ArrayFireHeaders.pkg</pkg-ref>
+    <pkg-ref id="com.arrayfire.arrayfire.extra"         version="${AF_VERSION}" onConclusion="none">ArrayFireExtra.pkg</pkg-ref>
+    <options customize="always" require-scripts="false"/>
+    <choices-outline>
+        <line choice="libs">
+            <line choice="com.arrayfire.arrayfire.cpu.lib"/>
+            <line choice="com.arrayfire.arrayfire.cuda.lib"/>
+            <line choice="com.arrayfire.arrayfire.opencl.lib"/>
+        </line>
+        <line choice="com.arrayfire.arrayfire.inc"/>
+        <line choice="com.arrayfire.arrayfire.extra"/>
+    </choices-outline>
+    <choice id="libs" title="ArrayFire Libraries" visible="true" />
+    <choice title="CPU Libraries" description="CPU Libraries" id="com.arrayfire.arrayfire.cpu.lib" visible="true" enabled="true">
+        <pkg-ref id="com.arrayfire.arrayfire.cpu.lib"/>
+    </choice>
+    <choice title="CUDA Libraries" description="CUDA Libraries" id="com.arrayfire.arrayfire.cuda.lib" visible="true" enabled="true">
+        <pkg-ref id="com.arrayfire.arrayfire.cuda.lib"/>
+    </choice>
+    <choice title="OpenCL Libraries" description="OpenCL Libraries" id="com.arrayfire.arrayfire.opencl.lib" visible="true" enabled="true">
+        <pkg-ref id="com.arrayfire.arrayfire.opencl.lib"/>
+    </choice>
+    <choice title="ArrayFire Headers" description="ArrayFire Headers" id="com.arrayfire.arrayfire.inc" visible="true" enabled="true">
+        <pkg-ref id="com.arrayfire.arrayfire.inc"/>
+    </choice>
+    <choice title="Extas" description="Extas (Docs, Cmake scripts)" id="com.arrayfire.arrayfire.extra" visible="true" enabled="true">
+        <pkg-ref id="com.arrayfire.arrayfire.extra"/>
+    </choice>
+</installer-gui-script>
diff --git a/CMakeModules/readme.html b/CMakeModules/readme.html
new file mode 100644
index 0000000..41d4ab8
--- /dev/null
+++ b/CMakeModules/readme.html
@@ -0,0 +1,22 @@
+<html>
+<body>
+
+    <h2>Install Directories</h2>
+    <ul>
+        <li> Libraries will be installed in <code>/usr/local/lib</code> </li>
+        <li> Headers will be installed in <code>/usr/local/include</code> </li>
+        <li> Docs and other files will be installed in <code>/usr/local/share</code> </li>
+    </ul>
+
+    <h2> Major Updates </h2>
+    <ul>
+        <li> ArrayFire is now open source</li>
+        <li> Major changes to the visualization library</li>
+        <li> Introducing handle based C API</li>
+        <li> New backend: CPU fallback available for systems without GPUs</li>
+        <li> Dense linear algebra functions available for all backends</li>
+        <li> Support for 64 bit integers</li>
+    </ul>
+
+</body>
+</html>
diff --git a/CMakeModules/welcome.html b/CMakeModules/welcome.html
new file mode 100644
index 0000000..75cb2f4
--- /dev/null
+++ b/CMakeModules/welcome.html
@@ -0,0 +1,27 @@
+<html>
+<body>
+    <h1>Welcome To ArrayFire ${AF_VERSION}</h1>
+
+    <p>
+    ArrayFire is a high performance software library for parallel computing
+    with an easy-to-use API. Its <em>array</em> based function set makes parallel
+    programming simple.
+    </p>
+
+    <p> 
+    ArrayFire's multiple backends (<strong>CUDA</strong>,
+    <strong>OpenCL</strong>and native <strong>CPU</strong>) make it platform
+    independent and highly portable.
+    </p>
+
+    <p>
+    A few lines of code in ArrayFire can replace dozens of lines of parallel
+    compute code, saving you valuable time and lowering development costs.
+    </p>
+
+    <p>
+    Follow these steps to install the ArrayFire libraries.
+    </p>
+</body>
+
+</html>

-- 
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