Skip to content

Commit f078250

Browse files
committed
cleanup cmakelists
1 parent f320500 commit f078250

File tree

11 files changed

+238
-94
lines changed

11 files changed

+238
-94
lines changed

CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ else()
105105
add_compile_definitions(LOGLEVEL=7)
106106
endif()
107107

108+
109+
108110
message(STATUS "CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}")
109111

110112
# string( REPLACE "/DNDEBUG" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
@@ -236,8 +238,13 @@ message(STATUS "========================================================")
236238
# #######################################
237239
# library compilation #
238240
# #######################################
239-
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libCacheSim/include)
240-
set(ALL_MODULES cachelib admission prefetch evictionC evictionCPP traceReader profiler dataStructure ds_hash utils)
241+
# Define include directories for reuse in subdirectories
242+
set(libCacheSim_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/libCacheSim/include)
243+
set(libCacheSim_binary_include_dir ${CMAKE_CURRENT_BINARY_DIR}/libCacheSim/include)
244+
245+
include_directories(${libCacheSim_include_dir})
246+
include_directories(${libCacheSim_binary_include_dir})
247+
set(ALL_MODULES cachelib admissionC admissionCpp prefetchC evictionC evictionCPP traceReader profiler dataStructure ds_hash utils)
241248

242249
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libCacheSim/cache)
243250
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libCacheSim/dataStructure)

libCacheSim/cache/CMakeLists.txt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,30 @@
1+
# ==============================================================================
2+
# Cache Library
3+
# ==============================================================================
14

25
include_directories(admission)
36
include_directories(eviction)
47
include_directories(prefetch)
58

9+
# Add subdirectories
610
add_subdirectory(admission)
711
add_subdirectory(eviction)
812
add_subdirectory(prefetch)
913

10-
add_library(cachelib cache.c)
14+
# Main cache library
15+
set(CACHE_SOURCES
16+
cache.c
17+
plugin.c
18+
)
19+
20+
add_library(cachelib ${CACHE_SOURCES})
1121
target_link_libraries(cachelib dataStructure)
22+
target_include_directories(cachelib PUBLIC
23+
${GLib_INCLUDE_DIRS}
24+
${libCacheSim_include_dir}
25+
${libCacheSim_binary_include_dir}
26+
)
1227

28+
# Set PIC and export symbols
1329
target_compile_options(cachelib PRIVATE -fPIC)
1430
target_link_options(cachelib PRIVATE -Wl,--export-dynamic)
Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,40 @@
1-
add_library(admissionC prob.c size.c bloomfilter.c sizeProbabilistic.c)
2-
add_library(admissionCpp adaptsize/adaptsize.cpp adaptsize/adaptsize_interface.cpp)
3-
add_library(admission INTERFACE)
4-
target_link_libraries(admission INTERFACE admissionC admissionCpp)
1+
# ==============================================================================
2+
# Cache Admission Libraries
3+
# ==============================================================================
4+
5+
# C admission algorithms
6+
set(ADMISSION_C_SOURCES
7+
bloomfilter.c
8+
prob.c
9+
size.c
10+
sizeProbabilistic.c
11+
)
12+
13+
add_library(admissionC ${ADMISSION_C_SOURCES})
14+
target_link_libraries(admissionC cachelib dataStructure utils)
15+
target_include_directories(admissionC PUBLIC
16+
${GLib_INCLUDE_DIRS}
17+
${libCacheSim_include_dir}
18+
${libCacheSim_binary_include_dir}
19+
)
20+
21+
# C++ admission algorithms
22+
set(ADMISSION_CPP_SOURCES
23+
adaptsize/adaptsize.cpp
24+
adaptsize/adaptsize_interface.cpp
25+
)
26+
27+
add_library(admissionCpp ${ADMISSION_CPP_SOURCES})
28+
target_link_libraries(admissionCpp cachelib utils)
29+
target_include_directories(admissionCpp PUBLIC
30+
${GLib_INCLUDE_DIRS}
31+
${libCacheSim_include_dir}
32+
${libCacheSim_binary_include_dir}
33+
)
34+
35+
# Set C++ standard for C++ library
36+
set_target_properties(admissionCpp PROPERTIES
37+
CXX_STANDARD 17
38+
CXX_STANDARD_REQUIRED YES
39+
CXX_EXTENSIONS NO
40+
)

libCacheSim/cache/prefetch/CMakeLists.txt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
1+
# ==============================================================================
2+
# Prefetch Algorithms Library
3+
# ==============================================================================
14

2-
add_library(prefetchC Mithril.c OBL.c PG.c)
5+
set(PREFETCH_C_SOURCES
6+
Mithril.c
7+
OBL.c
8+
PG.c
9+
)
10+
11+
add_library(prefetchC ${PREFETCH_C_SOURCES})
12+
target_link_libraries(prefetchC cachelib utils)
13+
target_include_directories(prefetchC PUBLIC
14+
${GLib_INCLUDE_DIRS}
15+
${libCacheSim_include_dir}
16+
${libCacheSim_binary_include_dir}
17+
)
318

419
add_library(prefetch INTERFACE)
520
target_link_libraries(prefetch INTERFACE prefetchC)
Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,25 @@
1+
# ==============================================================================
2+
# Data Structure Library
3+
# ==============================================================================
4+
15
add_subdirectory(hash)
2-
set(source
3-
pqueue.c
4-
splay.c
5-
bloom.c
6-
minimalIncrementCBF.c
7-
hash/murmur3.c
8-
hashtable/chainedHashtable.c
9-
hashtable/chainedHashTableV2.c
10-
)
11-
add_library (dataStructure ${source})
6+
7+
set(DATASTRUCTURE_SOURCES
8+
pqueue.c
9+
splay.c
10+
bloom.c
11+
minimalIncrementCBF.c
12+
histogram.c
13+
splay_tuple.c
14+
hash/murmur3.c
15+
hashtable/chainedHashtable.c
16+
hashtable/chainedHashTableV2.c
17+
)
18+
19+
add_library(dataStructure ${DATASTRUCTURE_SOURCES})
20+
target_include_directories(dataStructure PUBLIC
21+
${GLib_INCLUDE_DIRS}
22+
${libCacheSim_include_dir}
23+
${libCacheSim_binary_include_dir}
24+
)
1225

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
1+
# ==============================================================================
2+
# MRC Profiler Library
3+
# ==============================================================================
14

2-
file(GLOB source *.cpp)
5+
# Collect all source files
6+
file(GLOB MRC_SOURCES *.cpp)
37

4-
add_library (mrcProfilerLib ${source} ${source2})
8+
add_library(mrcProfilerLib ${MRC_SOURCES})
59

6-
set_target_properties(mrcProfilerLib
7-
PROPERTIES
8-
CXX_STANDARD 17
9-
CXX_STANDARD_REQUIRED YES
10-
CXX_EXTENSIONS NO
10+
# Set C++ standard
11+
set_target_properties(mrcProfilerLib PROPERTIES
12+
CXX_STANDARD 17
13+
CXX_STANDARD_REQUIRED YES
14+
CXX_EXTENSIONS NO
15+
)
16+
17+
# Link dependencies and set include paths
18+
target_link_libraries(mrcProfilerLib utils)
19+
target_include_directories(mrcProfilerLib PUBLIC
20+
${GLib_INCLUDE_DIRS}
21+
${libCacheSim_include_dir}
22+
${libCacheSim_binary_include_dir}
1123
)
Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
1+
# ==============================================================================
2+
# Trace Analyzer Library
3+
# ==============================================================================
14

2-
file(GLOB source *.cpp)
3-
file(GLOB source2 experimental/*.cpp)
5+
# Include utility subdirectory
6+
add_subdirectory(utils)
47

5-
add_library (traceAnalyzerLib ${source} ${source2})
8+
# Collect all analyzer source files
9+
file(GLOB ANALYZER_SOURCES *.cpp)
10+
file(GLOB EXPERIMENTAL_SOURCES experimental/*.cpp)
611

7-
set_target_properties(traceAnalyzerLib
8-
PROPERTIES
9-
CXX_STANDARD 17
10-
CXX_STANDARD_REQUIRED YES
11-
CXX_EXTENSIONS NO
12+
add_library(traceAnalyzerLib ${ANALYZER_SOURCES} ${EXPERIMENTAL_SOURCES})
13+
14+
# Set C++ standard
15+
set_target_properties(traceAnalyzerLib PROPERTIES
16+
CXX_STANDARD 17
17+
CXX_STANDARD_REQUIRED YES
18+
CXX_EXTENSIONS NO
19+
)
20+
21+
# Link dependencies and set include paths
22+
target_link_libraries(traceAnalyzerLib traceAnalyzerUtils)
23+
target_include_directories(traceAnalyzerLib PUBLIC
24+
${GLib_INCLUDE_DIRS}
25+
${libCacheSim_include_dir}
26+
${libCacheSim_binary_include_dir}
1227
)
1328

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
1-
#aux_source_directory(. DIR_LIB_SRCS)
2-
#add_library (utils ${DIR_LIB_SRCS})
3-
#target_link_libraries(utils traceReader)
1+
# ==============================================================================
2+
# Trace Analyzer Utilities
3+
# ==============================================================================
44

5+
set(ANALYZER_UTILS_SOURCES
6+
utils.cpp
7+
utilsSys.cpp
8+
threadPool.cpp
9+
)
510

6-
set (SOURCE utils.cpp utilsSys.cpp threadPool.cpp)
7-
add_library (utils ${SOURCE})
8-
#target_link_libraries(utils traceReader)
11+
add_library(traceAnalyzerUtils ${ANALYZER_UTILS_SOURCES})
12+
target_include_directories(traceAnalyzerUtils PUBLIC
13+
${GLib_INCLUDE_DIRS}
14+
${libCacheSim_include_dir}
15+
${libCacheSim_binary_include_dir}
16+
${CMAKE_CURRENT_SOURCE_DIR}/include
17+
)
18+
19+
# Set C++ standard
20+
set_target_properties(traceAnalyzerUtils PROPERTIES
21+
CXX_STANDARD 17
22+
CXX_STANDARD_REQUIRED YES
23+
CXX_EXTENSIONS NO
24+
)
925

1026

1127

libCacheSim/traceAnalyzer/utils/include/utilsStr.h

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
// Created by Juncheng Yang on 6/19/20.
55
//
66

7-
#include "const.h"
8-
#include <cstring>
97
#include <cstdio>
108
#include <cstdlib>
9+
#include <cstring>
1110

11+
#include "libCacheSim/const.h"
1212

1313
namespace utilsStr {
1414

@@ -19,26 +19,25 @@ namespace utilsStr {
1919
* @param str a 8 byte char array
2020
*/
2121
static inline void convert_size_to_str(long long size, char *str) {
22-
23-
if (size >= TiB) {
24-
sprintf(str, "%.0lf TiB", (double) size / TiB);
25-
} else if (size >= GiB) {
26-
sprintf(str, "%.0lf GiB", (double) size / GiB);
27-
} else if (size >= MiB) {
28-
sprintf(str, "%.0lf MiB", (double) size / MiB);
29-
} else if (size >= KiB) {
30-
sprintf(str, "%.0lf KiB", (double) size / KiB);
31-
} else {
32-
sprintf(str, "%lld B", size);
33-
}
22+
if (size >= TiB) {
23+
sprintf(str, "%.0lf TiB", (double)size / TiB);
24+
} else if (size >= GiB) {
25+
sprintf(str, "%.0lf GiB", (double)size / GiB);
26+
} else if (size >= MiB) {
27+
sprintf(str, "%.0lf MiB", (double)size / MiB);
28+
} else if (size >= KiB) {
29+
sprintf(str, "%.0lf KiB", (double)size / KiB);
30+
} else {
31+
sprintf(str, "%lld B", size);
32+
}
3433
}
3534

3635
static inline uint64_t str_to_u64(const char *start, size_t len) {
37-
uint64_t n = 0;
38-
while (len--) {
39-
n = n * 10 + *start++ - '0';
40-
}
41-
return n;
36+
uint64_t n = 0;
37+
while (len--) {
38+
n = n * 10 + *start++ - '0';
39+
}
40+
return n;
4241
}
4342

44-
}// namespace utilsStr
43+
} // namespace utilsStr

0 commit comments

Comments
 (0)