我编译了两个版本的 jemalloc,一个是发布版本,另一个是启用了分析功能的版本(--enable-prof)。带分析的版本配置有后缀(--suffix="-prof")。 结果,系统中安装了两个库:libjemalloc.so和libjemalloc-prof.so 你能告诉我如何在 cmake 中选择特定的库吗?
在 CMakeLists.txt 中,您可以添加
option
来启用分析,然后链接到 jemalloc-prof(如果已启用),否则链接到 jemalloc。在链接之前,请确保您正在调用 find_library
或 find_package
中合适的那个。如下所示:
# ...
option(ENABLE_JEMALLOC_PROFILING "Enable profiling for Jemalloc" FALSE)
# ...
if (ENABLE_JEMALLOC_PROFILING)
find_library(JEMALLOC_PROF jemalloc-prof HINTS PATH_HINT1 PATH_HINT2 REQUIRED)
target_link_libraries(YOUR_TARGET PRIVATE jemalloc-prof)
else()
find_library(JEMALLOC jemalloc HINTS PATH_HINT1 PATH_HINT2 REQUIRED)
target_link_libraries(YOUR_TARGET PRIVATE jemalloc)
endif()