diff options
| author | Lily <47812810+LilyWangL@users.noreply.github.com> | 2020-06-02 07:17:34 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-01 16:17:34 -0700 |
| commit | 6fb72ff00b4ab842d898558254bcde35a4a26b09 (patch) | |
| tree | 198c16e3e39974beca2d52ae4912b3aa134172a6 | |
| parent | 2f28b35d778ae4ccf2e7bf3594e93b344e616ff4 (diff) | |
| download | vcpkg-6fb72ff00b4ab842d898558254bcde35a4a26b09.tar.gz vcpkg-6fb72ff00b4ab842d898558254bcde35a4a26b09.zip | |
[mimalloc] Install mimalloc-redirect.dll to CMAKE_INSTALL_BINDIR (#11632)
| -rw-r--r-- | ports/mimalloc/CONTROL | 2 | ||||
| -rw-r--r-- | ports/mimalloc/fix-cmake.patch | 132 | ||||
| -rw-r--r-- | ports/mimalloc/portfile.cmake | 1 |
3 files changed, 71 insertions, 64 deletions
diff --git a/ports/mimalloc/CONTROL b/ports/mimalloc/CONTROL index 7070cf192..95fec2b75 100644 --- a/ports/mimalloc/CONTROL +++ b/ports/mimalloc/CONTROL @@ -1,5 +1,5 @@ Source: mimalloc
-Version: 1.6.1
+Version: 1.6.1-1
Description: Compact general purpose allocator with excellent performance
Homepage: https://github.com/microsoft/mimalloc
diff --git a/ports/mimalloc/fix-cmake.patch b/ports/mimalloc/fix-cmake.patch index e7db52654..d751a21c4 100644 --- a/ports/mimalloc/fix-cmake.patch +++ b/ports/mimalloc/fix-cmake.patch @@ -1,62 +1,70 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e16830a..c68ae65 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -166,6 +166,7 @@ message(STATUS "")
- # Main targets
- # -----------------------------------------------------------------------------
-
-+if(BUILD_SHARED_LIBS)
- # shared library
- add_library(mimalloc SHARED ${mi_sources})
- set_target_properties(mimalloc PROPERTIES VERSION ${mi_version} OUTPUT_NAME ${mi_basename} )
-@@ -178,12 +179,19 @@ target_include_directories(mimalloc PUBLIC
- )
- if(WIN32)
- # On windows copy the mimalloc redirection dll too.
-- target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect.lib)
-- add_custom_command(TARGET mimalloc POST_BUILD
-+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-+ target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect.lib)
-+ add_custom_command(TARGET mimalloc POST_BUILD
- COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect.dll" $<TARGET_FILE_DIR:mimalloc>
- COMMENT "Copy mimalloc-redirect.dll to output directory")
-+ elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
-+ target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect32.lib)
-+ add_custom_command(TARGET mimalloc POST_BUILD
-+ COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect32.dll" $<TARGET_FILE_DIR:mimalloc>
-+ COMMENT "Copy mimalloc-redirect32.dll to output directory")
-+ endif()
- endif()
--
-+else()
- # static library
- add_library(mimalloc-static STATIC ${mi_sources})
- target_compile_definitions(mimalloc-static PRIVATE ${mi_defines} MI_STATIC_LIB)
-@@ -201,10 +209,13 @@ if(WIN32)
- else()
- set_target_properties(mimalloc-static PROPERTIES OUTPUT_NAME ${mi_basename})
- endif()
--
-+endif()
- # install static and shared library, and the include files
--install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_dir} LIBRARY)
--install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION ${mi_install_dir})
-+if(BUILD_SHARED_LIBS)
-+install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION lib RUNTIME DESTINATION bin LIBRARY DESTINATION lib NAMELINK_SKIP)
-+else()
-+install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION lib)
-+endif()
- install(FILES include/mimalloc.h DESTINATION ${mi_install_dir}/include)
- install(FILES include/mimalloc-override.h DESTINATION ${mi_install_dir}/include)
- install(FILES include/mimalloc-new-delete.h DESTINATION ${mi_install_dir}/include)
-@@ -234,9 +245,6 @@ target_include_directories(mimalloc-obj PUBLIC
-
- # the FILES expression can also be: $<TARGET_OBJECTS:mimalloc-obj>
- # but that fails cmake versions less than 3.10 so we leave it as is for now
--install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/mimalloc-obj.dir/src/static.c${CMAKE_C_OUTPUT_EXTENSION}
-- DESTINATION ${mi_install_dir}
-- RENAME ${mi_basename}${CMAKE_C_OUTPUT_EXTENSION} )
-
- # -----------------------------------------------------------------------------
- # API surface testing
+diff --git a/CMakeLists.txt b/CMakeLists.txt +index e16830a..3c7c8da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -166,6 +166,7 @@ message(STATUS "") + # Main targets + # ----------------------------------------------------------------------------- + ++if(BUILD_SHARED_LIBS) + # shared library + add_library(mimalloc SHARED ${mi_sources}) + set_target_properties(mimalloc PROPERTIES VERSION ${mi_version} OUTPUT_NAME ${mi_basename} ) +@@ -178,12 +179,27 @@ target_include_directories(mimalloc PUBLIC + ) + if(WIN32) + # On windows copy the mimalloc redirection dll too. +- target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect.lib) +- add_custom_command(TARGET mimalloc POST_BUILD ++ if(CMAKE_SIZEOF_VOID_P EQUAL 8) ++ target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect.lib) ++ add_custom_command(TARGET mimalloc POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect.dll" $<TARGET_FILE_DIR:mimalloc> + COMMENT "Copy mimalloc-redirect.dll to output directory") ++ install ( ++ FILES $<TARGET_FILE_DIR:mimalloc>/mimalloc-redirect.dll ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ) ++ elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) ++ target_link_libraries(mimalloc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect32.lib) ++ add_custom_command(TARGET mimalloc POST_BUILD ++ COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/bin/mimalloc-redirect32.dll" $<TARGET_FILE_DIR:mimalloc> ++ COMMENT "Copy mimalloc-redirect32.dll to output directory") ++ install ( ++ FILES $<TARGET_FILE_DIR:mimalloc>/mimalloc-redirect32.dll ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ ) ++ endif() + endif() +- ++else() + # static library + add_library(mimalloc-static STATIC ${mi_sources}) + target_compile_definitions(mimalloc-static PRIVATE ${mi_defines} MI_STATIC_LIB) +@@ -201,10 +217,13 @@ if(WIN32) + else() + set_target_properties(mimalloc-static PROPERTIES OUTPUT_NAME ${mi_basename}) + endif() +- ++endif() + # install static and shared library, and the include files +-install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_dir} LIBRARY) +-install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION ${mi_install_dir}) ++if(BUILD_SHARED_LIBS) ++install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION lib RUNTIME DESTINATION bin LIBRARY DESTINATION lib NAMELINK_SKIP) ++else() ++install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION lib) ++endif() + install(FILES include/mimalloc.h DESTINATION ${mi_install_dir}/include) + install(FILES include/mimalloc-override.h DESTINATION ${mi_install_dir}/include) + install(FILES include/mimalloc-new-delete.h DESTINATION ${mi_install_dir}/include) +@@ -234,9 +253,6 @@ target_include_directories(mimalloc-obj PUBLIC + + # the FILES expression can also be: $<TARGET_OBJECTS:mimalloc-obj> + # but that fails cmake versions less than 3.10 so we leave it as is for now +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/mimalloc-obj.dir/src/static.c${CMAKE_C_OUTPUT_EXTENSION} +- DESTINATION ${mi_install_dir} +- RENAME ${mi_basename}${CMAKE_C_OUTPUT_EXTENSION} ) + + # ----------------------------------------------------------------------------- + # API surface testing diff --git a/ports/mimalloc/portfile.cmake b/ports/mimalloc/portfile.cmake index 3db43aa01..e22aa4619 100644 --- a/ports/mimalloc/portfile.cmake +++ b/ports/mimalloc/portfile.cmake @@ -66,4 +66,3 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endif()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-
|
