[jemalloc]Fix dll generated when generating static library (#5829)

* [jemalloc]Fix dll generated when generating static library
This commit is contained in:
JackBoosY 2019-03-28 13:01:56 +08:00 committed by Phil Christensen
parent c88974a223
commit 493b76284d
3 changed files with 35 additions and 7 deletions

View File

@ -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:

View File

@ -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

View File

@ -11,19 +11,22 @@ vcpkg_from_github(
REF jemalloc-cmake.4.3.1
SHA512 e94b62ec3a53acc0ab5acb247d7646bc172108e80f592bb41c2dd50d181cbbeb33d623adf28415ffc0a0e2de3818af2dfe4c04af75ac891ef5042bc5bb186886
HEAD_REF master
)
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()