Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 41 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@ find_package(fmt REQUIRED)
find_package(spdlog REQUIRED)
find_package(yaml-cpp REQUIRED)
find_package(Catch2 QUIET)
find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED)

if(MSVC)
add_compile_options(/vmg /MP /W3 /wd4244 /wd4267 /wd4996 -DNOMINMAX /EHsc)
Expand Down Expand Up @@ -168,16 +170,47 @@ if(SystemC_FOUND)

if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
#set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
add_library(scc_shared SHARED $<TARGET_OBJECTS:scc-util>
add_library(scc-shared SHARED $<TARGET_OBJECTS:scc-util>
$<TARGET_OBJECTS:scc-sysc>
$<TARGET_OBJECTS:interfaces>
$<TARGET_OBJECTS:scv-tr>
$<TARGET_OBJECTS:tlm-interfaces>
)
set_target_properties(scc_shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
target_include_directories(scc-shared INTERFACE $<TARGET_PROPERTY:scc-util,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:scc-sysc,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:interfaces,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:scv-tr,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:tlm-interfaces,INTERFACE_INCLUDE_DIRECTORIES>
)
set_target_properties(scc-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
target_link_libraries(scc-shared PUBLIC $<TARGET_PROPERTY:scc-util,LINK_LIBRARIES>
$<TARGET_PROPERTY:scc-sysc,LINK_LIBRARIES>
$<TARGET_PROPERTY:interfaces,LINK_LIBRARIES>
$<TARGET_PROPERTY:scv-tr,LINK_LIBRARIES>
$<TARGET_PROPERTY:tlm-interfaces,LINK_LIBRARIES>
)
# set(LIB_LIST $<TARGET_PROPERTY:scc-util,INTERFACE_LINK_LIBRARIES>
# $<TARGET_PROPERTY:scc-sysc,INTERFACE_LINK_LIBRARIES>
# $<TARGET_PROPERTY:interfaces,INTERFACE_LINK_LIBRARIES>
# $<TARGET_PROPERTY:scv-tr,INTERFACE_LINK_LIBRARIES>
# $<TARGET_PROPERTY:tlm-interfaces,INTERFACE_LINK_LIBRARIES>
# )
# message("LIB_LIST=${LIB_LIST}")
# add_library(scc-shared SHARED src/scc.h)
# target_link_libraries(scc-shared PUBLIC
# -Wl,--whole-archive
# scc-util
# scc-sysc
# interfaces
# scv-tr
# tlm-interfaces
# -Wl,--no-whole-archive
# )
#
if(TARGET Boost::stacktrace_backtrace)
target_link_libraries(scc_shared PUBLIC Boost::stacktrace_backtrace dl)
target_link_libraries(scc-shared PUBLIC Boost::stacktrace_backtrace dl)
endif()
add_library(scc::scc_shared ALIAS scc_shared)
add_library(scc::scc-shared ALIAS scc-shared)
endif()

install(TARGETS scc
Expand All @@ -193,15 +226,15 @@ if(SystemC_FOUND)
NAMESPACE scc::
)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
install(TARGETS scc_shared
EXPORT scc_shared-targets
install(TARGETS scc-shared
EXPORT scc-shared-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${SCC_LIBRARY_DIR_MODIFIER}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${SCC_LIBRARY_DIR_MODIFIER}${SCC_ARCHIVE_DIR_MODIFIER}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install(EXPORT scc_shared-targets
FILE scc_shared-targets.cmake
install(EXPORT scc-shared-targets
FILE scc-shared-targets.cmake
DESTINATION ${SCC_CMAKE_CONFIG_DIR}
NAMESPACE scc::
)
Expand Down
18 changes: 9 additions & 9 deletions src/sysc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
project(scc-sysc VERSION 0.0.1 LANGUAGES CXX)

find_package(Threads)
find_package(Threads REQUIRED)
find_package(Boost REQUIRED QUIET COMPONENTS date_time filesystem)
find_package(Boost QUIET COMPONENTS stacktrace_backtrace)
find_package(ZLIB)
Expand Down Expand Up @@ -107,11 +107,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()
Expand Down Expand Up @@ -188,11 +188,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(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND 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)
Expand Down