aboutsummaryrefslogtreecommitdiff
path: root/ports/clfft
diff options
context:
space:
mode:
authorNagy-Egri Máté Ferenc <csiga.biga@aol.com>2018-03-01 17:08:53 +0100
committerRobert Schumacher <roschuma@microsoft.com>2018-03-01 08:08:53 -0800
commitb21c895ca59f3e7260c3a2a81ad88820fe9c1b68 (patch)
tree4cb31ae05f6d5be46418d820298512676bb4ddde /ports/clfft
parent1fb3785beed7dfb24c796619d3c596f34758298e (diff)
downloadvcpkg-b21c895ca59f3e7260c3a2a81ad88820fe9c1b68.tar.gz
vcpkg-b21c895ca59f3e7260c3a2a81ad88820fe9c1b68.zip
Add OpenCL SDK and clMath ports (#2837)
* initial clFFT porting * OpenCL SDK half baked * Tried fixing Debug/Release * Remove DLL deployment * OpenCL SDK installs * clFFT installs * clFFT properly depends on OpenCL * OpenCL SDK fixes and clFFT patches * [clfft][opencl] Simplification, use patches instead of full files.
Diffstat (limited to 'ports/clfft')
-rw-r--r--ports/clfft/CONTROL4
-rw-r--r--ports/clfft/portfile.cmake37
-rw-r--r--ports/clfft/tweak-install.patch28
3 files changed, 69 insertions, 0 deletions
diff --git a/ports/clfft/CONTROL b/ports/clfft/CONTROL
new file mode 100644
index 000000000..0a109ac14
--- /dev/null
+++ b/ports/clfft/CONTROL
@@ -0,0 +1,4 @@
+Source: clfft
+Version: 2.12.2
+Build-Depends: opencl
+Description: clFFT is an OpenCL 1.2 accelerated Fast Fourier Transform library.
diff --git a/ports/clfft/portfile.cmake b/ports/clfft/portfile.cmake
new file mode 100644
index 000000000..4e314b5d9
--- /dev/null
+++ b/ports/clfft/portfile.cmake
@@ -0,0 +1,37 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO clMathLibraries/clFFT
+ REF v2.12.2
+ SHA512 19e9a4e06f76ae7c7808d1188677d5553c43598886a75328b7801ab2ca68e35206839a58fe2f958a44a6f7c83284dc9461cd0e21c37d1042bf82e24aad066be8
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/tweak-install.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/src
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_LOADLIBRARIES=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DSUFFIX_LIB=
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL
+ "${SOURCE_PATH}/LICENSE"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/share/clfft/copyright
+)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/clfft/tweak-install.patch b/ports/clfft/tweak-install.patch
new file mode 100644
index 000000000..45952032f
--- /dev/null
+++ b/ports/clfft/tweak-install.patch
@@ -0,0 +1,28 @@
+diff --git a/src/clFFTConfig.cmake.in b/src/clFFTConfig.cmake.in
+index 5b58c35..ee749a2 100644
+--- a/src/clFFTConfig.cmake.in
++++ b/src/clFFTConfig.cmake.in
+@@ -1,3 +1,3 @@
+ include(${CMAKE_CURRENT_LIST_DIR}/clFFTTargets.cmake)
+-get_filename_component(CLFFT_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/@reldir@/include ABSOLUTE)
++get_filename_component(CLFFT_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/@reldir@/../include ABSOLUTE)
+ set(CLFFT_LIBRARIES clFFT)
+diff --git a/src/library/CMakeLists.txt b/src/library/CMakeLists.txt
+index 132ef86..12ba905 100644
+--- a/src/library/CMakeLists.txt
++++ b/src/library/CMakeLists.txt
+@@ -90,6 +90,7 @@ target_link_libraries( clFFT ${OPENCL_LIBRARIES} ${CMAKE_DL_LIBS} )
+ set_target_properties( clFFT PROPERTIES VERSION ${CLFFT_VERSION} )
+ set_target_properties( clFFT PROPERTIES SOVERSION ${CLFFT_SOVERSION} )
+ set_target_properties( clFFT PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/staging" )
++set_target_properties( clFFT PROPERTIES INTERFACE_INCLUDE_DIRECTORIES $<INSTALL_INTERFACE:include> )
+
+ if( CMAKE_COMPILER_IS_GNUCC )
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/clFFT.pc.in
+@@ -104,5 +105,5 @@ install( TARGETS clFFT
+ EXPORT Library
+ RUNTIME DESTINATION bin${SUFFIX_BIN}
+ LIBRARY DESTINATION lib${SUFFIX_LIB}
+- ARCHIVE DESTINATION lib${SUFFIX_LIB}/import
++ ARCHIVE DESTINATION lib${SUFFIX_LIB}
+ )