diff --git a/ports/jemalloc/CONTROL b/ports/jemalloc/CONTROL index 5bdca6c4382..7f6fa5ae23f 100644 --- a/ports/jemalloc/CONTROL +++ b/ports/jemalloc/CONTROL @@ -1,4 +1,4 @@ Source: jemalloc -Version: 4.3.1-2 +Version: 4.3.1-3 Description: jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support Build-Depends: diff --git a/ports/jemalloc/fix-static-build.patch b/ports/jemalloc/fix-static-build.patch new file mode 100644 index 00000000000..3ede809a8a6 --- /dev/null +++ b/ports/jemalloc/fix-static-build.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0b8959a..55e6a5f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -826,10 +826,16 @@ endif() + install(FILES include/jemalloc/jemalloc${install_suffix}.h + DESTINATION include/jemalloc) + +-install(TARGETS ${LIBJEMALLOCSO} +- RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++if (without-export) ++ install(TARGETS ${C_JETLIB} ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++else() ++ install(TARGETS ${LIBJEMALLOCSO} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++endif() + if (build-tests) + ################################################################## + # Common source for Unit, Integration and stress test libraries diff --git a/ports/jemalloc/portfile.cmake b/ports/jemalloc/portfile.cmake index 527891666f3..21d258166ef 100644 --- a/ports/jemalloc/portfile.cmake +++ b/ports/jemalloc/portfile.cmake @@ -15,15 +15,21 @@ vcpkg_from_github( vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-utilities.patch" + fix-cmakelists.patch + fix-utilities.patch + fix-static-build.patch ) +if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(BUILD_STATIC_LIBRARY OFF) +else() + set(BUILD_STATIC_LIBRARY ON) +endif() vcpkg_configure_cmake( DISABLE_PARALLEL_CONFIGURE SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DGIT_FOUND=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + OPTIONS -DGIT_FOUND=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -Dwithout-export=${BUILD_STATIC_LIBRARY} ) vcpkg_install_cmake()