diff --git a/CMakeLists.txt b/CMakeLists.txt index 196ea59a..8a7dd2e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) @@ -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 $ + add_library(scc-shared SHARED $ $ $ $ + $ ) - set_target_properties(scc_shared PROPERTIES CXX_VISIBILITY_PRESET hidden) + target_include_directories(scc-shared INTERFACE $ + $ + $ + $ + $ + ) + set_target_properties(scc-shared PROPERTIES CXX_VISIBILITY_PRESET hidden) + target_link_libraries(scc-shared PUBLIC $ + $ + $ + $ + $ + ) +# set(LIB_LIST $ +# $ +# $ +# $ +# $ +# ) +# 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 @@ -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:: ) diff --git a/src/sysc/CMakeLists.txt b/src/sysc/CMakeLists.txt index f2c75a63..9c3aff3c 100644 --- a/src/sysc/CMakeLists.txt +++ b/src/sysc/CMakeLists.txt @@ -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) @@ -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() @@ -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)