aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-10-26 22:34:54 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-10-26 22:35:06 -0700
commit4b66571c9d12cf718e3175203a867d5014208fdb (patch)
tree36958fda04028672d8ef8a43522c234c43eb734b
parent29f62852bda546248a2f3c8cb0f8cbbc7d6acc9f (diff)
downloadvcpkg-4b66571c9d12cf718e3175203a867d5014208fdb.tar.gz
vcpkg-4b66571c9d12cf718e3175203a867d5014208fdb.zip
[blaze] Add dependencies and install *-config.cmake files.
-rw-r--r--ports/blaze/CONTROL3
-rw-r--r--ports/blaze/no-absolute-paths-in-install.patch33
-rw-r--r--ports/blaze/portfile.cmake22
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake14
4 files changed, 61 insertions, 11 deletions
diff --git a/ports/blaze/CONTROL b/ports/blaze/CONTROL
index ca7923ffc..5161b924f 100644
--- a/ports/blaze/CONTROL
+++ b/ports/blaze/CONTROL
@@ -1,3 +1,4 @@
Source: blaze
-Version: 3.2
+Version: 3.2-1
+Build-Depends: boost, clapack
Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.
diff --git a/ports/blaze/no-absolute-paths-in-install.patch b/ports/blaze/no-absolute-paths-in-install.patch
new file mode 100644
index 000000000..a601a37e7
--- /dev/null
+++ b/ports/blaze/no-absolute-paths-in-install.patch
@@ -0,0 +1,33 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0d102ab..5d918b8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,7 +36,7 @@ cmake_minimum_required(VERSION 3.5)
+ add_library(blaze INTERFACE)
+ target_include_directories(blaze INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
+- $<INSTALL_INTERFACE:install>
++ $<INSTALL_INTERFACE:include>
+ )
+
+ target_compile_options(blaze INTERFACE
+@@ -48,8 +48,8 @@ target_compile_options(blaze INTERFACE
+ #==================================================================================================
+
+ find_package(LAPACK REQUIRED)
+-target_link_libraries(blaze INTERFACE ${LAPACK_LIBRARIES})
+-target_compile_options(blaze INTERFACE ${LAPACK_LINKER_FLAGS})
++target_link_libraries(blaze INTERFACE $<BUILD_INTERFACE:${LAPACK_LIBRARIES}>)
++target_compile_options(blaze INTERFACE $<BUILD_INTERFACE:${LAPACK_LINKER_FLAGS}>)
+
+
+ #==================================================================================================
+@@ -57,7 +57,7 @@ target_compile_options(blaze INTERFACE ${LAPACK_LINKER_FLAGS})
+ #==================================================================================================
+
+ find_package(Boost 1.54.0 REQUIRED)
+-target_include_directories(blaze INTERFACE ${Boost_INCLUDE_DIRS})
++target_include_directories(blaze INTERFACE $<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>)
+
+
+ #==================================================================================================
diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake
index a8fc5ab1e..7bbb58afc 100644
--- a/ports/blaze/portfile.cmake
+++ b/ports/blaze/portfile.cmake
@@ -1,4 +1,3 @@
-#header-only library
include(vcpkg_common_functions)
vcpkg_from_bitbucket(
@@ -9,10 +8,23 @@ vcpkg_from_bitbucket(
HEAD_REF master
)
-# Copy the blaze header files
-file(COPY "${SOURCE_PATH}/blaze"
- DESTINATION "${CURRENT_PACKAGES_DIR}/include"
- FILES_MATCHING PATTERN "*.h")
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/no-absolute-paths-in-install.patch"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBLAZE_SMP_THREADS=C++11
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/blaze/cmake)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/blaze)
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index 40ed0225f..069672b71 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -23,7 +23,7 @@ function(vcpkg_fixup_cmake_targets)
set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/share/${PORT})
set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/share/${PORT})
- if(_vfct_CONFIG_PATH)
+ if(_vfct_CONFIG_PATH AND NOT RELEASE_SHARE STREQUAL "${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH}")
set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH})
set(RELEASE_CONFIG ${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH})
@@ -31,10 +31,14 @@ function(vcpkg_fixup_cmake_targets)
message(FATAL_ERROR "'${DEBUG_CONFIG}' does not exist.")
endif()
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/share)
- file(RENAME ${DEBUG_CONFIG} ${DEBUG_SHARE})
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
- file(RENAME ${RELEASE_CONFIG} ${RELEASE_SHARE})
+ file(MAKE_DIRECTORY ${DEBUG_SHARE})
+ file(GLOB FILES ${DEBUG_CONFIG}/*)
+ file(COPY ${FILES} DESTINATION ${DEBUG_SHARE})
+ file(REMOVE_RECURSE ${DEBUG_CONFIG})
+
+ file(GLOB FILES ${RELEASE_CONFIG}/*)
+ file(COPY ${FILES} DESTINATION ${RELEASE_SHARE})
+ file(REMOVE_RECURSE ${RELEASE_CONFIG})
get_filename_component(DEBUG_CONFIG_DIR_NAME ${DEBUG_CONFIG} NAME)
string(TOLOWER "${DEBUG_CONFIG_DIR_NAME}" DEBUG_CONFIG_DIR_NAME)