Skip to content

Commit e17ef4e

Browse files
committed
multi-arch fix and cmake ci/cd improvement
1 parent e221860 commit e17ef4e

11 files changed

Lines changed: 19 additions & 13 deletions

File tree

.github/workflows/build-multi-arch.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ jobs:
6868
${{ matrix.image }} \
6969
bash -c "
7070
apt-get update -q &&
71-
apt-get install -y --no-install-recommends g++ build-essential python3-pip git &&
72-
pip3 install cmake --break-system-packages &&
71+
apt-get install -y --no-install-recommends g++ build-essential cmake git &&
7372
cmake -B build -DCMAKE_BUILD_TYPE=Debug &&
7473
cmake --build build --config Debug --parallel
7574
"

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.29 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
22

33
project(llarm VERSION 0.1 LANGUAGES CXX)
44

cmake/flags.cmake

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ set(CLANG_CXX_FLAGS
4646
-Wdouble-promotion
4747
-Wformat=2
4848
-Wimplicit-fallthrough
49-
-Wno-deprecated-literal-operator # specific to string-view-lite lib
50-
-Wno-deprecated-builtins # same
49+
)
50+
51+
set(STRING_VIEW_LITE_SUPPRESS_CXX_FLAGS
52+
-Wno-deprecated-literal-operator
53+
-Wno-deprecated-builtins
5154
)
5255

5356

cmake/target_flags.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@ function(configure_target_flags TARGET)
1212
else()
1313
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
1414
list(APPEND CXX_FLAGS ${CLANG_CXX_FLAGS})
15+
list(APPEND CXX_FLAGS ${STRING_VIEW_LITE_SUPPRESS_CXX_FLAGS})
1516
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
1617
list(APPEND CXX_FLAGS ${CLANG_ONLY_CXX_FLAGS})
1718
endif()
1819
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
1920
list(APPEND CXX_FLAGS ${GCC_CXX_FLAGS})
21+
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "13")
22+
list(APPEND CXX_FLAGS ${STRING_VIEW_LITE_SUPPRESS_CXX_FLAGS})
23+
endif()
2024
else()
2125
message(WARNING "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
2226
endif()

llarm-asm/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# basic info
2-
cmake_minimum_required(VERSION 3.29 FATAL_ERROR)
2+
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
33

44

55
# includes

llarm-asm/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# basic info
2-
cmake_minimum_required(VERSION 3.29 FATAL_ERROR)
2+
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
33

44

55
# includes

llarm-cpu/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# basic info
2-
cmake_minimum_required(VERSION 3.29 FATAL_ERROR)
2+
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
33

44

55
# includes

llarm-emu/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# basic info
2-
cmake_minimum_required(VERSION 3.29 FATAL_ERROR)
2+
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
33

44

55
# includes

llarm-emu/src/cpu/memory/cache.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void CACHE::set_parameters() {
5656
- cp15.read(id::cp15::R0_CACHE_DSIZE_LEN)
5757
));
5858
DATA_CACHE_SIZE = static_cast<u32>(DATA_MULTIPLIER << (cp15.read(id::cp15::R0_CACHE_DSIZE_SIZE) + 8));
59-
data_lines.assign(static_cast<size_t>(DATA_NSETS) * DATA_ASSOCIATIVITY, cache_line{});
59+
data_lines.assign(DATA_NSETS * static_cast<std::size_t>(DATA_ASSOCIATIVITY), cache_line{});
6060

6161
DATA_W = 0;
6262
for (u16 a = DATA_ASSOCIATIVITY - 1; a > 0; a >>= 1) {
@@ -76,7 +76,7 @@ void CACHE::set_parameters() {
7676
));
7777
INST_CACHE_SIZE = static_cast<u32>(INST_MULTIPLIER << (cp15.read(id::cp15::R0_CACHE_ISIZE_SIZE) + 8));
7878

79-
inst_lines.assign(static_cast<size_t>(INST_NSETS) * INST_ASSOCIATIVITY, cache_line{});
79+
inst_lines.assign(INST_NSETS * static_cast<std::size_t>(INST_ASSOCIATIVITY), cache_line{});
8080

8181
INST_W = 0;
8282
for (u16 a = INST_ASSOCIATIVITY - 1; a > 0; a >>= 1) {

llarm-rand/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# basic info
2-
cmake_minimum_required(VERSION 3.29 FATAL_ERROR)
2+
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
33
project(
44
llarm-rand
55
VERSION 0.1

0 commit comments

Comments
 (0)