@@ -105,6 +105,8 @@ find_package(fmt REQUIRED)
105105find_package (spdlog REQUIRED)
106106find_package (yaml-cpp REQUIRED)
107107find_package (Catch2 QUIET )
108+ find_package (Threads REQUIRED)
109+ find_package (ZLIB REQUIRED)
108110
109111if (MSVC )
110112 add_compile_options (/vmg /MP /W3 /wd4244 /wd4267 /wd4996 -DNOMINMAX /EHsc)
@@ -168,16 +170,47 @@ if(SystemC_FOUND)
168170
169171 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
170172 #set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
171- add_library (scc_shared SHARED $<TARGET_OBJECTS:scc-util>
173+ add_library (scc-shared SHARED $<TARGET_OBJECTS:scc-util>
172174 $<TARGET_OBJECTS:scc-sysc>
173175 $<TARGET_OBJECTS:interfaces>
174176 $<TARGET_OBJECTS:scv-tr>
177+ $<TARGET_OBJECTS:tlm-interfaces>
175178 )
176- set_target_properties (scc_shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
179+ target_include_directories (scc-shared INTERFACE $<TARGET_PROPERTY:scc-util,INTERFACE_INCLUDE_DIRECTORIES >
180+ $<TARGET_PROPERTY:scc-sysc,INTERFACE_INCLUDE_DIRECTORIES >
181+ $<TARGET_PROPERTY:interfaces,INTERFACE_INCLUDE_DIRECTORIES >
182+ $<TARGET_PROPERTY:scv-tr,INTERFACE_INCLUDE_DIRECTORIES >
183+ $<TARGET_PROPERTY:tlm-interfaces,INTERFACE_INCLUDE_DIRECTORIES >
184+ )
185+ set_target_properties (scc-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
186+ target_link_libraries (scc-shared PUBLIC $<TARGET_PROPERTY:scc-util,LINK_LIBRARIES >
187+ $<TARGET_PROPERTY:scc-sysc,LINK_LIBRARIES >
188+ $<TARGET_PROPERTY:interfaces,LINK_LIBRARIES >
189+ $<TARGET_PROPERTY:scv-tr,LINK_LIBRARIES >
190+ $<TARGET_PROPERTY:tlm-interfaces,LINK_LIBRARIES >
191+ )
192+ # set(LIB_LIST $<TARGET_PROPERTY:scc-util,INTERFACE_LINK_LIBRARIES>
193+ # $<TARGET_PROPERTY:scc-sysc,INTERFACE_LINK_LIBRARIES>
194+ # $<TARGET_PROPERTY:interfaces,INTERFACE_LINK_LIBRARIES>
195+ # $<TARGET_PROPERTY:scv-tr,INTERFACE_LINK_LIBRARIES>
196+ # $<TARGET_PROPERTY:tlm-interfaces,INTERFACE_LINK_LIBRARIES>
197+ # )
198+ # message("LIB_LIST=${LIB_LIST}")
199+ # add_library(scc-shared SHARED src/scc.h)
200+ # target_link_libraries(scc-shared PUBLIC
201+ # -Wl,--whole-archive
202+ # scc-util
203+ # scc-sysc
204+ # interfaces
205+ # scv-tr
206+ # tlm-interfaces
207+ # -Wl,--no-whole-archive
208+ # )
209+ #
177210 if (TARGET Boost::stacktrace_backtrace)
178- target_link_libraries (scc_shared PUBLIC Boost::stacktrace_backtrace dl)
211+ target_link_libraries (scc-shared PUBLIC Boost::stacktrace_backtrace dl)
179212 endif ()
180- add_library (scc::scc_shared ALIAS scc_shared )
213+ add_library (scc::scc-shared ALIAS scc-shared )
181214 endif ()
182215
183216 install (TARGETS scc
@@ -193,15 +226,15 @@ if(SystemC_FOUND)
193226 NAMESPACE scc::
194227 )
195228 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
196- install (TARGETS scc_shared
197- EXPORT scc_shared -targets
229+ install (TARGETS scc-shared
230+ EXPORT scc-shared -targets
198231 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
199232 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${SCC_LIBRARY_DIR_MODIFIER}
200233 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${SCC_LIBRARY_DIR_MODIFIER}${SCC_ARCHIVE_DIR_MODIFIER}
201234 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
202235 )
203- install (EXPORT scc_shared -targets
204- FILE scc_shared -targets.cmake
236+ install (EXPORT scc-shared -targets
237+ FILE scc-shared -targets.cmake
205238 DESTINATION ${SCC_CMAKE_CONFIG_DIR}
206239 NAMESPACE scc::
207240 )
0 commit comments