zhangmeng
2024-04-09 2561a007b8d8999a4750046d0cfb3b1ad5af50ac
src/CMakeLists.txt
@@ -5,6 +5,10 @@
# to the source code
configure_file(bus_config.h.in bus_config.h)
set(CMAKE_SHARED_LINKER_FLAGS  ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exported_symbols")
#set_property(TARGET shm_queue PROPERTY POSITION_INDEPENDENT_CODE ON)
add_compile_options(-fPIC)
#target_compile_options(shm_queue PRIVATE -fPIC)
list(APPEND _SOURCES_ 
./logger_factory.cpp
@@ -13,23 +17,37 @@
./socket/shm_socket.cpp
./socket/shm_mod_socket.cpp
./time_util.cpp
./psem.cpp
./bus_error.cpp
./futex_sem.cpp
./svsem.cpp
./bh_api.cpp
./net/net_conn_pool.cpp
./net/net_mod_server_socket_wrapper.cpp
./net/net_mod_socket_wrapper.cpp
./net/net_mod_socket.cpp
./net/net_mod_socket_io.cpp
./net/net_mod_server_socket.cpp
../proto/source/bhome_msg_api.pb.cc
../proto/source/bhome_msg.pb.cc
../proto/source/error_msg.pb.cc
./shm/shm_mm_wrapper.cpp
./msg_trigger/msg_mgr.cpp
./shm/mm.cpp
./shm/hashtable.cpp
./shm/shm_mm.cpp
)
if (BUILD_SHARED_LIBS)
  add_library(shm_queue SHARED ${_SOURCES_})
  target_compile_options(shm_queue PRIVATE -fPIC)
  set_property(TARGET shm_queue PROPERTY POSITION_INDEPENDENT_CODE ON)
else()
 add_library(shm_queue STATIC ${_SOURCES_})
endif()
add_library(shm_queue SHARED ${_SOURCES_})
# STATIC SHARED
#add_library(shm_queue ${_SOURCES_})
target_include_directories(shm_queue PUBLIC ${EXTRA_INCLUDES} )
@@ -37,47 +55,55 @@
                                        ${PROJECT_BINARY_DIR}/src
                           ${CMAKE_CURRENT_SOURCE_DIR}
                           ${CMAKE_CURRENT_SOURCE_DIR}/shm
                           ${CMAKE_CURRENT_SOURCE_DIR}/proto
                           ${CMAKE_CURRENT_SOURCE_DIR}/queue
                           ${CMAKE_CURRENT_SOURCE_DIR}/socket
                           ${CMAKE_CURRENT_SOURCE_DIR}/msg_trigger
                           ${CMAKE_CURRENT_SOURCE_DIR}/net
                           )
add_executable(bus_proxy_start bus_proxy_start.cpp)
target_link_libraries(bus_proxy_start PRIVATE shm_queue  ${EXTRA_LIBS} )
target_link_libraries(shm_queue PUBLIC  ${EXTRA_LIBS} )
# install rules
install(TARGETS shm_queue  DESTINATION lib)
install(FILES 
  ./socket/socket_def.h
  ./socket/bus_server_socket.h
  ./socket/shm_socket.h
  ./socket/shm_mod_socket.h
  ./socket/bus_server_socket_wrapper.h
  ./psem.h
  ./key_def.h
  ./time_util.h
  ./futex_sem.h
  ./bus_error.h
  ./bus_def.h
  ./sole.h
  ./logger_factory.h
  ./queue/linked_lock_free_queue.h
  ./queue/array_lock_free_queue.h
  ./queue/shm_queue.h
  ./queue/array_lock_free_sem_queue.h
  ./queue/lock_free_queue.h
  ./svsem.h
  ./net/net_conn_pool.h
  ./net/net_mod_socket.h
  ./net/net_mod_server_socket_wrapper.h
  ./net/net_mod_socket_io.h
  ./net/net_mod_server_socket.h
  ./net/net_mod_socket_wrapper.h
  ./shm/hashtable.h
  ./shm/mem_pool.h
  ./shm/mm.h
  ./shm/shm_mm_wrapper.h
  ./shm/shm_allocator.h
 ./socket/socket_def.h
./socket/bus_server_socket.h
./socket/shm_socket.h
./socket/shm_mod_socket.h
./socket/bus_server_socket_wrapper.h
./psem.h
./pread_write_lock.h
./key_def.h
./time_util.h
./sv_read_write_lock.h
./futex_sem.h
./bus_error.h
./bus_def.h
./logger_factory.h
./sole.h
./proc_def.h
./queue/linked_lock_free_queue.h
./queue/array_lock_free_queue.h
./queue/shm_queue.h
./queue/array_lock_free_sem_queue.h
./queue/lock_free_queue.h
./svsem.h
./net/net_conn_pool.h
./net/net_mod_socket.h
./net/net_mod_server_socket_wrapper.h
./net/net_mod_socket_io.h
./net/net_mod_server_socket.h
./net/net_mod_socket_wrapper.h
./shm/hashtable.h
./shm/mm.h
./shm/shm_mm_wrapper.h
./shm/shm_allocator.h
./shm/shm_mm.h
  DESTINATION include)