Skip to content

Commit 99341f7

Browse files
committed
mod changelog
1 parent 6e8dac9 commit 99341f7

File tree

2 files changed

+154
-0
lines changed

2 files changed

+154
-0
lines changed

CMakeListsBak.txt

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
cmake_minimum_required(VERSION 3.0)
2+
3+
4+
# Find the source file that contains the version information
5+
find_file(VERSION_FILE include/tigerapi/version.h PATHS ${CMAKE_SOURCE_DIR})
6+
7+
message(version file " ${VERSION_FILE}")
8+
# Extract the version information from the source file
9+
file(READ ${VERSION_FILE} VERSION_FILE_CONTENTS)
10+
string(REGEX MATCH "([0-9]\\.[0-9]\\.[0-9])"
11+
PROJECT_VERSION "${VERSION_FILE_CONTENTS}")
12+
message(PROJECT_VERSION " ${PROJECT_VERSION}")
13+
14+
project(tigerapi VERSION ${PROJECT_VERSION})
15+
16+
17+
# Configure required libraries ...
18+
if(UNIX) # Darwing or Linux
19+
20+
find_package(Boost REQUIRED COMPONENTS system thread log program_options chrono)
21+
find_package(Threads REQUIRED)
22+
find_package(absl REQUIRED)
23+
24+
# cpprest
25+
find_path(CPPREST_INCLUDE_DIR NAMES cpprest/http_client.h cpprest/http_msg.h)
26+
find_library(CPPREST_LIBRARY NAMES cpprest)
27+
message(CPPREST_INCLUDE_DIR " ${CPPREST_INCLUDE_DIR}")
28+
message(CPPREST_LIBRARY " ${CPPREST_LIBRARY}")
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}")
40+
41+
if(APPLE)
42+
# file(GLOB OPENSSL_ROOT_DIR /usr/local/Cellar/openssl*/*)
43+
file(GLOB OPENSSL_ROOT_DIR /usr/local/opt/openssl/* /opt/homebrew/Cellar/openssl@3/*)
44+
# Prefer the latest (make the latest one first)
45+
list(REVERSE OPENSSL_ROOT_DIR)
46+
47+
find_package(OpenSSL REQUIRED)
48+
message(OPENSSL_ROOT_DIR " ${OPENSSL_ROOT_DIR}")
49+
message(OPENSSL_LIBRARIES " ${OPENSSL_LIBRARIES}")
50+
51+
# set(OPENSSL_VERSION "1.1.1q")
52+
53+
set(ZLIB_LIBRARY /opt/homebrew/Cellar/zlib/1.2.13/lib/libz.dylib )
54+
message(ZLIB_LIBRARY " ${ZLIB_LIBRARY}")
55+
56+
else()
57+
find_package(OpenSSL 1.0.1 REQUIRED)
58+
set(OPENSSL_VERSION "1.0.1")
59+
endif()
60+
61+
elseif(WIN32)
62+
message(FATAL_ERROR "-- please compile via Visual Studio ")
63+
else()
64+
message(FATAL_ERROR "-- Unsupported platform sorry! :( ")
65+
endif()
66+
67+
# Configure compiler options ...
68+
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
69+
70+
message("-- configuring clang options")
71+
# set(CMAKE_CXX_FLAGS "-arch x86_64 -std=c++11 -stdlib=libc++ -DBOOST_LOG_DYN_LINK -Wno-deprecated-declarations")
72+
set(CMAKE_CXX_FLAGS "-arch arm64 -std=c++14 -stdlib=libc++ -DBOOST_LOG_DYN_LINK -Wno-deprecated-declarations")
73+
74+
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
75+
76+
message("-- configuring gcc options")
77+
78+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -DBOOST_LOG_DYN_LINK")
79+
80+
endif()
81+
82+
# Project construction ...
83+
# src files ...
84+
file(GLOB MY_SOURCE_FILES "include/cpprest/*.h" "include/cpprest/details/*.h" "include/openapi_pb/pb_source/*.*"
85+
"include/tigerapi/push_socket/*.h" "include/tigerapi/*.h" "src/*.cpp" "src/push_socket/*.cpp")
86+
add_library(${PROJECT_NAME} cpprest/ ${MY_SOURCE_FILES})
87+
message(MY_SOURCE_FILES " ${MY_SOURCE_FILES}")
88+
# 确保生成动态库
89+
set_target_properties(${PROJECT_NAME} PROPERTIES
90+
SOVERSION ${PROJECT_VERSION}
91+
VERSION ${PROJECT_VERSION}
92+
)
93+
94+
# headers search paths ...
95+
#set(HEADER_SEARCH_PATHS ${CPPREST_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR})
96+
set(HEADER_SEARCH_PATHS ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${PROTOBUF_INCLUDE_DIR})
97+
98+
99+
set(OPENSSL_LIBS "${OPENSSL_LIBRARIES}")
100+
set(LIBRARIES_SEARCH_PATHS ${OPENSSL_LIBS} ${Boost_LIBRARIES} ${CPPREST_LIBRARY} ${ZIP_LIBRARY} ${Protobuf_LIBRARY} ${Protobuf_PROTOC_LIBRARY})
101+
102+
103+
message(BOOST_LIBS " ${Boost_LIBRARIES}")
104+
message(OPENSSL_LIBS " ${OPENSSL_LIBRARIES}")
105+
#message(CPPRESTSDK_LIBRARY " ${CPPRESTSDK_LIBRARY}")
106+
message(ZLIB_LIBRARY " ${ZLIB_LIBRARY}")
107+
message(LIBRARIES_SEARCH_PATHS " ${LIBRARIES_SEARCH_PATHS}")
108+
109+
include_directories(${HEADER_SEARCH_PATHS})
110+
if (APPLE)
111+
target_link_libraries(${PROJECT_NAME} PRIVATE
112+
"-framework CoreFoundation"
113+
"-framework Security"
114+
${LIBRARIES_SEARCH_PATHS}
115+
absl::base
116+
absl::utility
117+
)
118+
set_target_properties(${PROJECT_NAME} PROPERTIES
119+
LINK_FLAGS "-W1, -F/Library/Frameworks"
120+
)
121+
else()
122+
target_link_libraries(${PROJECT_NAME} PRIVATE
123+
${LIBRARIES_SEARCH_PATHS}
124+
OpenSSL::SSL
125+
OpenSSL::Crypto
126+
)
127+
endif()
128+
129+
130+
131+
132+
install(DIRECTORY include/
133+
DESTINATION "include"
134+
FILES_MATCHING
135+
PATTERN "*.h"
136+
# PATTERN "*.cc"
137+
)
138+
139+
install(TARGETS ${PROJECT_NAME}
140+
EXPORT ${PROJECT_NAME}Targets
141+
LIBRARY DESTINATION lib
142+
ARCHIVE DESTINATION lib
143+
RUNTIME DESTINATION bin
144+
INCLUDES DESTINATION include
145+
)
146+
install(EXPORT ${PROJECT_NAME}Targets
147+
FILE ${PROJECT_NAME}Targets.cmake
148+
NAMESPACE ${PROJECT_NAME}::
149+
DESTINATION lib/cmake/${PROJECT_NAME}
150+
)

changlog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.0 (2024-11-28)
2+
### New
3+
- 支持长连接推送
4+
15
## 0.1.6 (2024-03-08)
26
### New
37
- 新增根据ticksize调整下单价格的工具 PriceUtil

0 commit comments

Comments
 (0)