1- cmake_minimum_required (VERSION 3.0)
2-
3- set (CMAKE_CXX_STANDARD 11)
4-
5- project (DolphinDBAPI)
6-
7- if (UNIX )
8- add_definitions (-fPIC -DABI -DNDEBUG -DOPENBLAS -DLOGGING_LEVEL_2 -O3 -Wall -fmessage-length =0 -std=gnu++11 -msse -msse2 -msse3 -funroll-loops)
9- add_definitions ("-DLINUX" )
10-
11- if (SSL_LIBS)
12- include_directories (${SSL_LIBS} /include )
13- set (LIBSSL "-Wl,--whole-archive ${SSL_LIBS} /lib/libssl.a -Wl,--no-whole-archive" )
14- set (LIBCRYPTO "-Wl,--whole-archive ${SSL_LIBS} /lib/libcrypto.a -Wl,--no-whole-archive" )
15- else ()
16- set (LIBSSL ssl)
17- set (LIBCRYPTO crypto)
18- endif ()
19-
20- if (UUID_LIBS)
21- include_directories (${UUID_LIBS} /include )
22- set (LIBUUID "-Wl,--whole-archive ${UUID_LIBS} /lib/libuuid.a -Wl,--no-whole-archive" )
23- else ()
24- set (LIBUUID uuid)
25- endif ()
26-
27- elseif (WIN32 )
28- if (MSVC )
29- message ("MSVC Compiling" )
30- add_definitions ("-DWINDOWS -DWIN32_LEAN_AND_MEAN -D_DDBAPIDLL -DNOMINMAX" )
31- if (SSL_LIBS)
32- include_directories (${SSL_LIBS} /include64)
33- set (LIBSSL ${SSL_LIBS} /lib64/ssleay32MD.lib)
34- set (LIBCRYPTO ${SSL_LIBS} /lib64/libeay32MD.lib)
35- else ()
36- set (LIBSSL ssleay32MD.lib)
37- set (LIBCRYPTO libeay32MD.lib)
38- endif ()
39- elseif (MINGW)
40- message ("MINGW Compiling" )
41- add_definitions (-fPIC -DABI -DNDEBUG -DOPENBLAS -DLOGGING_LEVEL_2 -O3 -Wall -fmessage-length =0 -std=gnu++11 -msse -msse2 -msse3 -funroll-loops)
42- add_definitions ("-DWINDOWS -D_WIN32_WINNT=0x0600" )
43- if (SSL_LIBS)
44- include_directories (${SSL_LIBS} /include )
45- set (LIBSSL ${SSL_LIBS} /lib/libssl.a)
46- set (LIBCRYPTO ${SSL_LIBS} /lib/libcrypto.a)
47- else ()
48- set (LIBSSL ssl)
49- set (LIBCRYPTO crypto)
50- endif ()
51- endif ()
52-
53-
54- endif ()
55-
56- AUX_SOURCE_DIRECTORY (src DIR_SRCS)
57-
58- ADD_LIBRARY (DolphinDBAPI SHARED ${DIR_SRCS} )
59-
60- if (UNIX )
61- target_link_libraries (
62- DolphinDBAPI
63- pthread
64- ${LIBSSL}
65- ${LIBCRYPTO}
66- ${LIBUUID}
67- dl
68- )
69- elseif (WIN32 )
70- target_link_libraries (
71- DolphinDBAPI
72- ${LIBSSL}
73- ${LIBCRYPTO}
74- ws2_32
75- )
1+ cmake_minimum_required (VERSION 3.0)
2+
3+ set (CMAKE_CXX_STANDARD 11)
4+
5+ project (DolphinDBAPI)
6+
7+ if (UNIX )
8+ add_definitions (-fPIC -DNDEBUG -O3 -Wall -fmessage-length =0 -std=gnu++11 -msse -msse2 -msse3 -funroll-loops)
9+ add_definitions ("-DLINUX" )
10+ if (ABI EQUAL 0)
11+ message ("set _GLIBCXX_USE_CXX11_ABI to 0" )
12+ add_definitions ("-D_GLIBCXX_USE_CXX11_ABI=0" )
13+ elseif (ABI EQUAL 1)
14+ message ("set _GLIBCXX_USE_CXX11_ABI to 1" )
15+ add_definitions ("-D_GLIBCXX_USE_CXX11_ABI=1" )
16+ endif ()
17+ if (SSL_LIBS)
18+ include_directories (${SSL_LIBS} /include )
19+ set (LIBSSL "-Wl,--whole-archive ${SSL_LIBS} /lib/libssl.a -Wl,--no-whole-archive" )
20+ set (LIBCRYPTO "-Wl,--whole-archive ${SSL_LIBS} /lib/libcrypto.a -Wl,--no-whole-archive" )
21+ else ()
22+ set (LIBSSL ssl)
23+ set (LIBCRYPTO crypto)
24+ endif ()
25+
26+ if (UUID_LIBS)
27+ include_directories (${UUID_LIBS} /include )
28+ set (LIBUUID "-Wl,--whole-archive ${UUID_LIBS} /lib/libuuid.a -Wl,--no-whole-archive" )
29+ else ()
30+ set (LIBUUID uuid)
31+ endif ()
32+
33+ elseif (WIN32 )
34+ if (MSVC )
35+ message ("MSVC Compiling" )
36+ add_definitions ("-DWINDOWS -DWIN32_LEAN_AND_MEAN -D_DDBAPIDLL -DNOMINMAX" )
37+ if (SSL_LIBS)
38+ include_directories (${SSL_LIBS} /include64)
39+ set (LIBSSL ${SSL_LIBS} /lib64/ssleay32MD.lib)
40+ set (LIBCRYPTO ${SSL_LIBS} /lib64/libeay32MD.lib)
41+ else ()
42+ set (LIBSSL ssleay32MD.lib)
43+ set (LIBCRYPTO libeay32MD.lib)
44+ endif ()
45+ elseif (MINGW)
46+ message ("MINGW Compiling" )
47+ add_definitions (-fPIC -DNDEBUG -O3 -Wall -fmessage-length =0 -std=gnu++11 -msse -msse2 -msse3 -funroll-loops)
48+ add_definitions ("-DWINDOWS -D_WIN32_WINNT=0x0600" )
49+ if (ABI EQUAL 0)
50+ message ("set _GLIBCXX_USE_CXX11_ABI to 0" )
51+ add_definitions ("-D_GLIBCXX_USE_CXX11_ABI=0" )
52+ elseif (ABI EQUAL 1)
53+ message ("set _GLIBCXX_USE_CXX11_ABI to 1" )
54+ add_definitions ("-D_GLIBCXX_USE_CXX11_ABI=1" )
55+ endif ()
56+ if (SSL_LIBS)
57+ include_directories (${SSL_LIBS} /include )
58+ set (LIBSSL ${SSL_LIBS} /lib/libssl.a)
59+ set (LIBCRYPTO ${SSL_LIBS} /lib/libcrypto.a)
60+ else ()
61+ set (LIBSSL ssl)
62+ set (LIBCRYPTO crypto)
63+ endif ()
64+ endif ()
65+
66+
67+ endif ()
68+
69+ AUX_SOURCE_DIRECTORY (src DIR_SRCS)
70+ include_directories (include )
71+ ADD_LIBRARY (DolphinDBAPI SHARED ${DIR_SRCS} )
72+
73+ if (UNIX )
74+ target_link_libraries (
75+ DolphinDBAPI
76+ pthread
77+ ${LIBSSL}
78+ ${LIBCRYPTO}
79+ ${LIBUUID}
80+ dl
81+ )
82+ elseif (WIN32 )
83+ target_link_libraries (
84+ DolphinDBAPI
85+ ${LIBSSL}
86+ ${LIBCRYPTO}
87+ ws2_32
88+ )
7689endif ()
0 commit comments