@@ -21,17 +21,24 @@ if(UNIX) # Darwing or Linux
2121 find_package (Threads REQUIRED)
2222 find_package (absl REQUIRED)
2323
24-
2524 # cpprest
2625 find_path (CPPREST_INCLUDE_DIR NAMES cpprest/http_client.h cpprest/http_msg.h)
2726 find_library (CPPREST_LIBRARY NAMES cpprest)
2827 message (CPPREST_INCLUDE_DIR " ${CPPREST_INCLUDE_DIR} " )
2928 message (CPPREST_LIBRARY " ${CPPREST_LIBRARY} " )
30-
31-
29+
30+ set (Protobuf_INCLUDE_DIR "/usr/local/opt/protobuf/include" )
31+ set (Protobuf_LIBRARY "/usr/local/opt/protobuf/lib/libprotobuf.dylib" )
32+ set (Protobuf_PROTOC_LIBRARY "/usr/local/opt/protobuf/lib/libprotoc.dylib" )
33+ set (Protobuf_PROTOC_EXECUTABLE "/usr/local/opt/protobuf/bin/protoc" )
34+
35+ # 查找 Protobuf 包
36+ find_package (Protobuf REQUIRED)
37+ message (STATUS "Protobuf version: ${Protobuf_VERSION} " )
38+ message (STATUS "Protobuf include dir: ${Protobuf_INCLUDE_DIR} " )
39+ message (STATUS "Protobuf libraries: ${Protobuf_LIBRARY} " )
3240
3341 if (APPLE )
34- # Prefer a homebrew version of OpenSSL over the one in /usr/lib
3542 # file(GLOB OPENSSL_ROOT_DIR /usr/local/Cellar/openssl*/*)
3643 file (GLOB OPENSSL_ROOT_DIR /usr/local/opt/openssl/* /opt/homebrew/Cellar/openssl@3/*)
3744 # Prefer the latest (make the latest one first)
@@ -71,22 +78,18 @@ endif()
7178
7279# Project construction ...
7380# src files ...
74- file (GLOB MY_SOURCE_FILES "include/cpprest/*.h" "include/cpprest/details/*.h" "include/tigerapi/push_socket/*.h" "include/tigerapi/*.h" "src/*.cpp" "src/push_socket/*.cpp" )
81+ file (GLOB MY_SOURCE_FILES "include/cpprest/*.h" "include/cpprest/details/*.h"
82+ "include/tigerapi/push_socket/*.h" "include/tigerapi/*.h" "src/*.cpp" "src/push_socket/*.cpp" )
7583add_library (${PROJECT_NAME} cpprest/ ${MY_SOURCE_FILES} )
7684
7785# headers search paths ...
7886#set(HEADER_SEARCH_PATHS ${CPPREST_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR})
79- set (HEADER_SEARCH_PATHS ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${Protobuf_INCLUDE_DIRS} )
87+ set (HEADER_SEARCH_PATHS ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${PROTOBUF_INCLUDE_DIR} )
88+
8089
81- # library search paths ...
82- #if(APPLE)
8390set (OPENSSL_LIBS "${OPENSSL_LIBRARIES} " )
84- # set(ZIP_LIBRARY ZLIB::ZLIB)
85- set (LIBRARIES_SEARCH_PATHS ${OPENSSL_LIBS} ${Boost_LIBRARIES} ${CPPREST_LIBRARY} ${ZIP_LIBRARY} ${Protobuf_LIBRARIES} )
86- #else()
87- # set(OPENSSL_LIBS "${OPENSSL_LIBRARIES}")
88- # set(LIBRARIES_SEARCH_PATHS ${CPPREST_LIBRARY} ${OPENSSL_LIBS} ${Boost_LIBRARIES} ${ZIP_LIBRARY})
89- #endif()
91+ set (LIBRARIES_SEARCH_PATHS ${OPENSSL_LIBS} ${Boost_LIBRARIES} ${CPPREST_LIBRARY} ${ZIP_LIBRARY} ${Protobuf_LIBRARY} ${Protobuf_PROTOC_LIBRARY} )
92+
9093
9194message (BOOST_LIBS " ${Boost_LIBRARIES} " )
9295message (OPENSSL_LIBS " ${OPENSSL_LIBRARIES} " )
@@ -96,19 +99,22 @@ message(LIBRARIES_SEARCH_PATHS " ${LIBRARIES_SEARCH_PATHS}")
9699
97100include_directories (${HEADER_SEARCH_PATHS} )
98101if (APPLE )
99- target_link_libraries (${PROJECT_NAME} "-framework CoreFoundation" )
100- target_link_libraries (${PROJECT_NAME} "-framework Security" )
101- target_link_libraries (${PROJECT_NAME} ${LIBRARIES_SEARCH_PATHS} )
102- set_target_properties (${PROJECT_NAME} PROPERTIES LINK_FLAGS "-W1, -F/Library/Frameworks " )
103- target_link_libraries (${PROJECT_NAME}
104- absl::base
105- absl::utility
106- protobuf::libprotobuf
102+ target_link_libraries (${PROJECT_NAME} PRIVATE
103+ "-framework CoreFoundation"
104+ "-framework Security"
105+ ${LIBRARIES_SEARCH_PATHS}
106+ absl::base
107+ absl::utility
108+ )
109+ set_target_properties (${PROJECT_NAME} PROPERTIES
110+ LINK_FLAGS "-W1, -F/Library/Frameworks"
107111 )
108112else ()
109- target_link_libraries (${PROJECT_NAME} ${LIBRARIES_SEARCH_PATHS} )
110- target_link_libraries (${PROJECT_NAME} OpenSSL::SSL OpenSSL::Crypto)
111-
113+ target_link_libraries (${PROJECT_NAME} PRIVATE
114+ ${LIBRARIES_SEARCH_PATHS}
115+ OpenSSL::SSL
116+ OpenSSL::Crypto
117+ )
112118endif ()
113119
114120
0 commit comments