Skip to content

Commit 03fa803

Browse files
committed
make BA, utils and coarse a static libs
1 parent df6828d commit 03fa803

File tree

8 files changed

+153
-166
lines changed

8 files changed

+153
-166
lines changed

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -970,12 +970,11 @@ if(UMF_FORMAT_CODE_STYLE)
970970
COMMENT "Format C/C++, CMake, and Python files")
971971
message(
972972
STATUS
973-
" Adding convenience targets 'format-check' and 'format-apply'."
974-
)
973+
"Adding convenience targets 'format-check' and 'format-apply'.")
975974
else()
976975
message(
977976
STATUS
978-
" Convenience targets 'format-check' and 'format-apply' are "
977+
"Convenience targets 'format-check' and 'format-apply' are "
979978
"not available. Use commands specific for found tools (see the log above)."
980979
)
981980
endif()

src/CMakeLists.txt

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,38 +30,16 @@ set(UMF_COMMON_COMPILE_DEFINITIONS
3030
${UMF_COMMON_COMPILE_DEFINITIONS} UMF_VERSION=${UMF_VERSION}
3131
UMF_ALL_CMAKE_VARIABLES="${UMF_ALL_CMAKE_VARIABLES}")
3232

33-
set(BA_SOURCES
34-
${CMAKE_CURRENT_SOURCE_DIR}/base_alloc/base_alloc.c
35-
${CMAKE_CURRENT_SOURCE_DIR}/base_alloc/base_alloc_linear.c
36-
${CMAKE_CURRENT_SOURCE_DIR}/base_alloc/base_alloc_global.c)
37-
3833
add_subdirectory(utils)
34+
add_subdirectory(base_alloc)
3935
add_subdirectory(coarse)
4036

41-
set(UMF_LIBS $<BUILD_INTERFACE:umf_utils> $<BUILD_INTERFACE:coarse>)
42-
43-
set(CTL_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/ctl/ctl.c)
44-
45-
if(LINUX)
46-
set(BA_SOURCES ${BA_SOURCES}
47-
${CMAKE_CURRENT_SOURCE_DIR}/base_alloc/base_alloc_linux.c)
48-
elseif(WINDOWS)
49-
set(BA_SOURCES ${BA_SOURCES}
50-
${CMAKE_CURRENT_SOURCE_DIR}/base_alloc/base_alloc_windows.c)
51-
elseif(MACOSX)
52-
set(BA_SOURCES ${BA_SOURCES}
53-
${CMAKE_CURRENT_SOURCE_DIR}/base_alloc/base_alloc_linux.c)
54-
endif()
55-
56-
set(BA_SOURCES
57-
${BA_SOURCES}
58-
PARENT_SCOPE)
37+
set(UMF_LIBS umf_utils umf_ba umf_coarse)
5938

6039
set(HWLOC_DEPENDENT_SOURCES topology.c)
6140

6241
set(UMF_SOURCES
63-
${BA_SOURCES}
64-
${CTL_SOURCES}
42+
ctl/ctl.c
6543
libumf.c
6644
ipc.c
6745
ipc_cache.c
@@ -178,7 +156,7 @@ target_include_directories(umf PRIVATE ${UMF_PRIVATE_INCLUDE_DIRS})
178156
target_link_directories(umf PRIVATE ${UMF_PRIVATE_LIBRARY_DIRS})
179157
target_compile_definitions(umf PRIVATE ${UMF_COMMON_COMPILE_DEFINITIONS})
180158

181-
add_dependencies(umf coarse)
159+
add_dependencies(umf umf_ba umf_coarse umf_utils)
182160

183161
if(UMF_LINK_HWLOC_STATICALLY)
184162
add_dependencies(umf ${UMF_HWLOC_NAME})

src/base_alloc/CMakeLists.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Copyright (C) 2025 Intel Corporation
2+
# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
3+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4+
5+
include(${UMF_CMAKE_SOURCE_DIR}/cmake/helpers.cmake)
6+
7+
set(UMF_BA_SOURCES_COMMON base_alloc_global.c base_alloc.c base_alloc_linear.c)
8+
set(UMF_BA_SOURCES_LINUX base_alloc_linux.c)
9+
set(UMF_BA_SOURCES_WINDOWS base_alloc_windows.c)
10+
11+
if(LINUX OR MACOSX)
12+
set(UMF_BA_SOURCES ${UMF_BA_SOURCES_COMMON} ${UMF_BA_SOURCES_LINUX})
13+
elseif(WINDOWS)
14+
set(UMF_BA_SOURCES ${UMF_BA_SOURCES_COMMON} ${UMF_BA_SOURCES_WINDOWS})
15+
endif()
16+
17+
add_umf_library(
18+
NAME umf_ba
19+
TYPE STATIC
20+
SRCS ${UMF_BA_SOURCES}
21+
LIBS umf_utils)
22+
23+
target_include_directories(umf_ba
24+
PRIVATE ${UMF_CMAKE_SOURCE_DIR}/src/base_alloc)
25+
26+
if(NOT UMF_BUILD_SHARED_LIBRARY)
27+
install(TARGETS umf_ba EXPORT ${PROJECT_NAME}-targets)
28+
endif()

src/coarse/CMakeLists.txt

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,21 @@
44

55
include(${UMF_CMAKE_SOURCE_DIR}/cmake/helpers.cmake)
66

7-
set(COARSE_SOURCES coarse.c ../ravl/ravl.c)
8-
9-
if(UMF_BUILD_SHARED_LIBRARY AND (NOT WINDOWS))
10-
set(COARSE_EXTRA_SRCS ${BA_SOURCES})
11-
set(COARSE_EXTRA_LIBS $<BUILD_INTERFACE:umf_utils>)
12-
endif()
7+
set(UMF_COARSE_SOURCES coarse.c ${UMF_CMAKE_SOURCE_DIR}/src/ravl/ravl.c)
8+
set(UMF_COARSE_LIBS umf_utils umf_ba)
139

1410
add_umf_library(
15-
NAME coarse
11+
NAME umf_coarse
1612
TYPE STATIC
17-
SRCS ${COARSE_SOURCES} ${COARSE_EXTRA_SRCS}
18-
LIBS ${COARSE_EXTRA_LIBS})
13+
SRCS ${UMF_COARSE_SOURCES}
14+
LIBS ${UMF_COARSE_LIBS})
1915

2016
target_include_directories(
21-
coarse
22-
PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
23-
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
24-
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/ravl>)
17+
umf_coarse
18+
PRIVATE ${UMF_CMAKE_SOURCE_DIR}/src/coarse
19+
${UMF_CMAKE_SOURCE_DIR}/src/base_alloc
20+
${UMF_CMAKE_SOURCE_DIR}/src/ravl)
2521

26-
add_library(${PROJECT_NAME}::coarse ALIAS coarse)
22+
if(NOT UMF_BUILD_SHARED_LIBRARY)
23+
install(TARGETS umf_coarse EXPORT ${PROJECT_NAME}-targets)
24+
endif()

src/proxy_lib/CMakeLists.txt

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,46 @@
1-
# Copyright (C) 2023-2024 Intel Corporation
1+
# Copyright (C) 2023-2025 Intel Corporation
22
# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
33
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44

55
include(${UMF_CMAKE_SOURCE_DIR}/cmake/helpers.cmake)
66

7-
set(PROXY_SOURCES proxy_lib.c)
7+
set(UMF_PROXY_SOURCES_COMMON proxy_lib.c)
8+
set(UMF_PROXY_SOURCES_LINUX proxy_lib_linux.c)
9+
set(UMF_PROXY_SOURCES_WINDOWS proxy_lib_windows.c)
810

9-
set(PROXY_SOURCES_LINUX proxy_lib_linux.c)
10-
11-
set(PROXY_SOURCES_WINDOWS proxy_lib_windows.c)
12-
13-
set(PROXY_SOURCES_MACOSX proxy_lib_linux.c)
14-
15-
if(LINUX)
16-
set(PROXY_SOURCES ${PROXY_SOURCES} ${PROXY_SOURCES_LINUX})
11+
if(LINUX OR MACOSX)
12+
set(UMF_PROXY_SOURCES ${UMF_PROXY_SOURCES_COMMON}
13+
${UMF_PROXY_SOURCES_LINUX})
1714
elseif(WINDOWS)
18-
set(PROXY_SOURCES ${PROXY_SOURCES} ${PROXY_SOURCES_WINDOWS})
19-
15+
set(UMF_PROXY_SOURCES ${UMF_PROXY_SOURCES_COMMON}
16+
${UMF_PROXY_SOURCES_WINDOWS})
2017
# Add resource file needed for Windows to fill metadata in binary files
2118
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/proxy_lib.rc.in"
2219
"${CMAKE_CURRENT_BINARY_DIR}/proxy_lib.rc" IMMEDIATE @ONLY)
23-
set(PROXY_SOURCES ${PROXY_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/proxy_lib.rc)
24-
elseif(MACOSX)
25-
set(PROXY_SOURCES ${PROXY_SOURCES} ${PROXY_SOURCES_MACOSX})
20+
set(UMF_PROXY_SOURCES ${UMF_PROXY_SOURCES_COMMON}
21+
${CMAKE_CURRENT_BINARY_DIR}/proxy_lib.rc)
2622
endif()
2723

2824
add_umf_library(
2925
NAME umf_proxy
3026
TYPE SHARED
31-
SRCS ${BA_SOURCES} ${PROXY_SOURCES}
32-
LIBS umf_utils ${PROXY_LIBS}
27+
SRCS ${UMF_PROXY_SOURCES}
28+
LIBS umf umf_utils umf_ba
3329
LINUX_MAP_FILE ${CMAKE_CURRENT_SOURCE_DIR}/proxy_lib.map
3430
WINDOWS_DEF_FILE ${CMAKE_CURRENT_SOURCE_DIR}/proxy_lib.def)
35-
set_target_properties(umf_proxy PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
36-
37-
add_library(${PROJECT_NAME}::proxy ALIAS umf_proxy)
3831

39-
target_link_directories(umf_proxy PRIVATE ${LIBHWLOC_LIBRARY_DIRS})
40-
41-
target_compile_definitions(umf_proxy PRIVATE ${UMF_COMMON_COMPILE_DEFINITIONS})
32+
set_target_properties(umf_proxy PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
4233

4334
if(PROXY_LIB_USES_SCALABLE_POOL)
44-
target_compile_definitions(umf_proxy PRIVATE PROXY_LIB_USES_SCALABLE_POOL=1)
35+
target_compile_definitions(umf_proxy
36+
PRIVATE "PROXY_LIB_USES_SCALABLE_POOL=1")
4537
elseif(PROXY_LIB_USES_JEMALLOC_POOL)
46-
target_compile_definitions(umf_proxy PRIVATE PROXY_LIB_USES_JEMALLOC_POOL=1)
38+
target_compile_definitions(umf_proxy
39+
PRIVATE "PROXY_LIB_USES_JEMALLOC_POOL=1")
4740
endif()
4841

4942
target_include_directories(
50-
umf_proxy
51-
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
52-
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/utils>
53-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
54-
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
43+
umf_proxy PRIVATE ${UMF_CMAKE_SOURCE_DIR}/src/base_alloc
44+
${UMF_CMAKE_SOURCE_DIR}/src/ravl)
5545

5646
install(TARGETS umf_proxy EXPORT ${PROJECT_NAME}-targets)

src/utils/CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ include(${UMF_CMAKE_SOURCE_DIR}/cmake/helpers.cmake)
66
include(FindThreads)
77

88
set(UMF_UTILS_SOURCES_COMMON utils_common.c utils_log.c utils_load_library.c)
9-
109
set(UMF_UTILS_SOURCES_POSIX utils_posix_common.c utils_posix_concurrency.c)
11-
1210
set(UMF_UTILS_SOURCES_LINUX utils_linux_common.c)
13-
1411
set(UMF_UTILS_SOURCES_MACOSX utils_macosx_common.c)
15-
1612
set(UMF_UTILS_SOURCES_WINDOWS utils_windows_common.c
1713
utils_windows_concurrency.c)
1814

@@ -32,5 +28,12 @@ elseif(WINDOWS)
3228
${UMF_UTILS_SOURCES_WINDOWS})
3329
endif()
3430

31+
add_umf_library(
32+
NAME umf_utils
33+
TYPE STATIC
34+
SRCS ${UMF_UTILS_SOURCES}
35+
LIBS ${UMF_UTILS_LIBS} ${CMAKE_THREAD_LIBS_INIT})
36+
37+
if(NOT UMF_BUILD_SHARED_LIBRARY)
3538
install(TARGETS umf_utils EXPORT ${PROJECT_NAME}-targets)
3639
endif()

0 commit comments

Comments
 (0)