diff --git a/cmake/FindVerilator.cmake b/cmake/FindVerilator.cmake index 5c28e9146..0f8725690 100644 --- a/cmake/FindVerilator.cmake +++ b/cmake/FindVerilator.cmake @@ -27,6 +27,8 @@ if (VERILATOR_FOUND) return() endif() +cmake_policy(SET CMP0144 OLD) + find_package(PackageHandleStandardArgs REQUIRED) include(SystemCPackage) @@ -35,7 +37,7 @@ if(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) endif() find_program(VERILATOR_EXECUTABLE NAMES verilator verilator_bin verilator_bin_dbg - HINTS ${CONAN_VERILATOR_ROOT} ENV VERILATOR_ROOT + HINTS ${VERILATOR_ROOT} ENV VERILATOR_ROOT PATH_SUFFIXES bin REQUIRED DOC "Path to the Verilator executable" diff --git a/cmake/clang-format.cmake b/cmake/clang-format.cmake index c72cfe0f4..f24cd1507 100644 --- a/cmake/clang-format.cmake +++ b/cmake/clang-format.cmake @@ -32,11 +32,5 @@ add_custom_target(${FORMAT_TARGET_NAME} add_custom_target(${FORMAT_TARGET_NAME}-check COMMENT "Checking clang-format changes" - # Use ! to negate the result for correct output - COMMAND ! - ${CLANG_FORMAT_BIN} - -style=file - -output-replacements-xml - ${ALL_SOURCE_FILES} - | grep -q "replacement offset" + COMMAND ${CLANG_FORMAT_BIN} -style=file --dry-run -Werror ${ALL_SOURCE_FILES} ) \ No newline at end of file diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 5cc6961bd..15485c80e 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -16,7 +16,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC ) if( NOT MSVC) # rigtorp/SPSCQueue.h uses std::hardware_destructive_interference_size which is HW dependend. GCC>14 warns about it - target_compile_options(${PROJECT_NAME} PUBLIC -Wno-interference-size) + target_compile_options(${PROJECT_NAME} PUBLIC $<$:-Wno-interference-size>) endif() if(TARGET lz4::lz4) target_link_libraries(${PROJECT_NAME} PUBLIC lz4::lz4) diff --git a/src/common/util/delegate.h b/src/common/util/delegate.h index 492b89b4d..06bfffa27 100644 --- a/src/common/util/delegate.h +++ b/src/common/util/delegate.h @@ -199,7 +199,7 @@ template class delegate { using deleter_type = void (*)(void*); void* object_ptr_{nullptr}; - stub_ptr_type stub_ptr_{}; + stub_ptr_type stub_ptr_{nullptr}; deleter_type deleter_{}; diff --git a/src/interfaces/obi/pin/target.h b/src/interfaces/obi/pin/target.h index 4596ac5b2..76d73511d 100644 --- a/src/interfaces/obi/pin/target.h +++ b/src/interfaces/obi/pin/target.h @@ -170,7 +170,7 @@ target::target::nb_transport_bw(pa template inline void target::achannel_req_t() { - wait(SC_ZERO_TIME); + wait(sc_core::SC_ZERO_TIME); wait(clk_i.posedge_event()); while(true) { while(resetn_i.read() == false) diff --git a/src/sysc/CMakeLists.txt b/src/sysc/CMakeLists.txt index 9c3aff3cc..4e6a82981 100644 --- a/src/sysc/CMakeLists.txt +++ b/src/sysc/CMakeLists.txt @@ -7,6 +7,7 @@ find_package(ZLIB) option(ENABLE_SQLITE "Enable SQLite backend for SCV" ON) option(ENABLE_PYTHON4SC "Enable Python interpreter integration" OFF) +option(DISABLE_QKD_WARNING "Disbale the warning about multi-threaded quantum keeper when using SystemC 2.3.4" OFF) if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") @@ -89,6 +90,9 @@ endif() add_library(${PROJECT_NAME} ${LIB_SOURCES}) add_library(scc::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) +if(DISABLE_QKD_WARNING) + target_compile_definitions(${PROJECT_NAME} PUBLIC NO_MTQK) +endif() if(FULL_TRACE_TYPE_LIST) target_compile_definitions(${PROJECT_NAME} PRIVATE FULL_TRACE_TYPE_LIST) endif() @@ -107,11 +111,11 @@ if(ENABLE_PYTHON4SC) target_compile_options(${PROJECT_NAME} PRIVATE -fvisibility=hidden) target_link_libraries(${PROJECT_NAME} PUBLIC pybind11::embed) #pybind11::headers) endif() -#if(TARGET fmt::fmt-header-only) -# target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt-header-only) -#else() +if(TARGET fmt::fmt-header-only) + target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt-header-only) +else() target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt) -#endif() +endif() if(TARGET spdlog::spdlog_header_only) target_link_libraries(${PROJECT_NAME} PRIVATE spdlog::spdlog_header_only) else() @@ -188,11 +192,11 @@ if(TARGET lz4::lz4) target_link_libraries(${PROJECT_NAME} PRIVATE lz4::lz4) endif() target_compile_definitions(${PROJECT_NAME} PUBLIC FMT_SHARED) -#if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND TARGET fmt::fmt-header-only) -# target_link_libraries(${PROJECT_NAME} PUBLIC fmt::fmt-header-only) -#else() +if(TARGET fmt::fmt-header-only) + target_link_libraries(${PROJECT_NAME} PUBLIC fmt::fmt-header-only) +else() target_link_libraries(${PROJECT_NAME} PUBLIC fmt::fmt) -#endif() +endif() target_link_libraries(${PROJECT_NAME} PUBLIC fstapi Threads::Threads ${CMAKE_DL_LIBS}) if(CLANG_TIDY_EXE) diff --git a/src/sysc/tlm/scc/quantum_keeper.h b/src/sysc/tlm/scc/quantum_keeper.h index 7b5b2f361..dddb40af3 100644 --- a/src/sysc/tlm/scc/quantum_keeper.h +++ b/src/sysc/tlm/scc/quantum_keeper.h @@ -3,7 +3,9 @@ #include "quantum_keeper_st.h" #if SC_VERSION_MAJOR < 3 +#ifndef NO_MTQK #warning "Multithreaded quantum keeper is only supported with SystemC 3.0 and newer" +#endif namespace tlm { namespace scc { using quantumkeeper_mt = quantumkeeper_st;