File tree Expand file tree Collapse file tree 3 files changed +25
-37
lines changed Expand file tree Collapse file tree 3 files changed +25
-37
lines changed Original file line number Diff line number Diff line change @@ -632,6 +632,23 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio" OR CMAKE_GENERATOR MATCHES
632632 set (CMAKE_UMF_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin/$<CONFIG>)
633633endif ()
634634
635+ # Valgrind
636+ if (UMF_USE_VALGRIND)
637+ if (UMF_USE_ASAN
638+ OR UMF_USE_TSAN
639+ OR UMF_USE_UBSAN
640+ OR UMF_USE_MSAN)
641+ message (FATAL_ERROR "Cannot use valgrind and sanitizers together" )
642+ endif ()
643+
644+ if (PkgConfig_FOUND)
645+ pkg_check_modules(VALGRIND valgrind)
646+ endif ()
647+ if (NOT VALGRIND_FOUND)
648+ find_package (VALGRIND REQUIRED valgrind)
649+ endif ()
650+ endif ()
651+
635652# Sanitizer flags
636653if (UMF_USE_ASAN)
637654 add_sanitizer_flag(address)
Original file line number Diff line number Diff line change @@ -225,7 +225,8 @@ endfunction()
225225
226226function (add_umf_target_compile_options name )
227227 check_add_target_compile_options(${name} "-Wno-covered-switch-default" )
228-
228+ target_compile_definitions (${name}
229+ PRIVATE ${UMF_COMMON_COMPILE_DEFINITIONS} )
229230 if (NOT MSVC )
230231 target_compile_options (
231232 ${name}
@@ -260,6 +261,10 @@ function(add_umf_target_compile_options name)
260261 -g -O0)
261262 endif ()
262263 endif ()
264+ if (UMF_USE_VALGRIND)
265+ target_compile_definitions (${name} PRIVATE "UMF_VG_ENABLED=1" )
266+ target_include_directories (${name} PRIVATE ${VALGRIND_INCLUDE_DIRS} )
267+ endif ()
263268 elseif (MSVC )
264269 target_compile_options (
265270 ${name}
@@ -386,6 +391,7 @@ function(add_umf_library)
386391 target_include_directories (
387392 ${ARG_NAME}
388393 PRIVATE ${UMF_CMAKE_SOURCE_DIR} /include
394+ ${UMF_CMAKE_SOURCE_DIR} /src
389395 ${UMF_CMAKE_SOURCE_DIR} /src/utils
390396 ${UMF_CMAKE_SOURCE_DIR} /src/base_alloc
391397 ${UMF_CMAKE_SOURCE_DIR} /src/coarse)
Original file line number Diff line number Diff line change @@ -16,22 +16,6 @@ set(UMF_UTILS_SOURCES_MACOSX utils_macosx_common.c)
1616set (UMF_UTILS_SOURCES_WINDOWS utils_windows_common.c
1717 utils_windows_concurrency.c)
1818
19- if (UMF_USE_VALGRIND)
20- if (UMF_USE_ASAN
21- OR UMF_USE_TSAN
22- OR UMF_USE_UBSAN
23- OR UMF_USE_MSAN)
24- message (FATAL_ERROR "Cannot use valgrind and sanitizers together" )
25- endif ()
26-
27- if (PkgConfig_FOUND)
28- pkg_check_modules(VALGRIND valgrind)
29- endif ()
30- if (NOT VALGRIND_FOUND)
31- find_package (VALGRIND REQUIRED valgrind)
32- endif ()
33- endif ()
34-
3519if (LINUX OR MACOSX)
3620 set (UMF_UTILS_SOURCES ${UMF_UTILS_SOURCES_COMMON}
3721 ${UMF_UTILS_SOURCES_POSIX} )
@@ -48,24 +32,5 @@ elseif(WINDOWS)
4832 ${UMF_UTILS_SOURCES_WINDOWS} )
4933endif ()
5034
51- add_library (umf_utils INTERFACE )
52- add_library (${PROJECT_NAME} ::utils ALIAS umf_utils)
53-
54- target_sources (umf_utils INTERFACE ${UMF_UTILS_SOURCES} )
55- target_link_libraries (umf_utils INTERFACE ${CMAKE_THREAD_LIBS_INIT}
56- ${UMF_UTILS_LIBS} )
57-
58- target_include_directories (
59- umf_utils
60- INTERFACE ${VALGRIND_INCLUDE_DIRS}
61- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include >
62- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} >)
63-
64- if (UMF_USE_VALGRIND)
65- set (UMF_UTILS_INTERFACE_DEFS "UMF_VG_ENABLED=1" )
35+ install (TARGETS umf_utils EXPORT ${PROJECT_NAME} -targets)
6636endif ()
67-
68- set (UMF_UTILS_INTERFACE_DEFS ${UMF_UTILS_INTERFACE_DEFS}
69- ${UMF_COMMON_COMPILE_DEFINITIONS} )
70-
71- target_compile_definitions (umf_utils INTERFACE ${UMF_UTILS_INTERFACE_DEFS} )
You can’t perform that action at this time.
0 commit comments