aboutsummaryrefslogtreecommitdiff
path: root/ports/mimalloc/fix-cmake.patch
diff options
context:
space:
mode:
authorPhoebe <20694052+PhoebeHui@users.noreply.github.com>2020-03-19 15:39:00 +0800
committerGitHub <noreply@github.com>2020-03-19 00:39:00 -0700
commitb3bdac11f0b25544fbedc7c6913f0f1d16404aa2 (patch)
tree09c3de288b8e9de1ee57d8b07e83fa43749c4135 /ports/mimalloc/fix-cmake.patch
parent3d82def504f2cdf999e568bfdd26e6ebfa04aec0 (diff)
downloadvcpkg-b3bdac11f0b25544fbedc7c6913f0f1d16404aa2.tar.gz
vcpkg-b3bdac11f0b25544fbedc7c6913f0f1d16404aa2.zip
[mimalloc] Update to 1.6.1 (#10062)
* [mimalloc] Update to 1.6.0 * Update patch * Update ci baseline file * Add message for the arch and platform that doesn't support * Update the ci baseline file * Update to latest revision 1.6.1
Diffstat (limited to 'ports/mimalloc/fix-cmake.patch')
-rw-r--r--ports/mimalloc/fix-cmake.patch114
1 files changed, 62 insertions, 52 deletions
diff --git a/ports/mimalloc/fix-cmake.patch b/ports/mimalloc/fix-cmake.patch
index 3fd5f3050..e7db52654 100644
--- a/ports/mimalloc/fix-cmake.patch
+++ b/ports/mimalloc/fix-cmake.patch
@@ -1,52 +1,62 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a35e885..76b6f60 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -105,7 +105,7 @@ else()
- list(APPEND mi_libraries pthread)
- endif()
-
--
-+if(BUILD_SHARED_LIBS)
- # shared library
- add_library(mimalloc SHARED ${mi_sources})
- set_target_properties(mimalloc PROPERTIES VERSION ${mi_version} NO_SONAME "YES" OUTPUT_NAME ${mi_basename} )
-@@ -116,7 +116,7 @@ endif()
- target_compile_options(mimalloc PRIVATE ${mi_cflags})
- target_include_directories(mimalloc PRIVATE include PUBLIC $<INSTALL_INTERFACE:${mi_install_dir}/include>)
- target_link_libraries(mimalloc PUBLIC ${mi_libraries})
--
-+else()
- # static library
- add_library(mimalloc-static STATIC ${mi_sources})
- if(WIN32)
-@@ -135,15 +135,18 @@ endif()
- target_compile_options(mimalloc-static PRIVATE ${mi_cflags})
- target_include_directories(mimalloc-static PRIVATE include PUBLIC $<INSTALL_INTERFACE:${mi_install_dir}/include>)
- target_link_libraries(mimalloc-static PUBLIC ${mi_libraries})
-+endif()
-
- # install static and shared library, and the include files
--install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_dir} LIBRARY NAMELINK_SKIP)
--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 cmake/mimalloc-config.cmake DESTINATION ${mi_install_dir}/cmake)
- install(FILES cmake/mimalloc-config-version.cmake DESTINATION ${mi_install_dir}/cmake)
- install(EXPORT mimalloc DESTINATION ${mi_install_dir}/cmake)
--install(FILES "$<TARGET_FILE:mimalloc>" DESTINATION lib) # duplicate the .so in the lib directory (unversioned)
-
- # single object file for more predictable static overriding
- add_library(mimalloc-obj OBJECT src/static.c)
-@@ -154,7 +157,3 @@ if(NOT WIN32 AND MI_OVERRIDE MATCHES "ON")
- endif()
- target_compile_options(mimalloc-obj PRIVATE ${mi_cflags})
- target_include_directories(mimalloc-obj PRIVATE include PUBLIC $<INSTALL_INTERFACE:include>)
--
--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} )
+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