@@ -2,54 +2,21 @@ cmake_minimum_required(VERSION 3.13)
2
2
3
3
project (DolphinDBDemo)
4
4
5
- set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
6
- set (CMAKE_CXX_EXTENSIONS OFF )
5
+ add_executable (${CMAKE_PROJECT_NAME} ${PROJECT_SOURCE_DIR} /src/main.cpp)
6
+ set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR} /bin/)
7
+
8
+ target_compile_features (${CMAKE_PROJECT_NAME} PRIVATE cxx_std_11)
9
+
10
+ target_include_directories (${CMAKE_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /../include )
11
+ target_link_directories (${CMAKE_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /lib/)
12
+ target_link_libraries (${CMAKE_PROJECT_NAME} DolphinDBAPI)
7
13
8
- set (LINK_LIBS)
9
- if (USE_OPENSSL)
10
- add_definitions ("-DUSE_OPENSSL=1" )
11
- find_package (OpenSSL REQUIRED)
12
- include_directories (${OPENSSL_INCLUDE_DIR} )
13
- message ("openssl include dir : ${OPENSSL_INCLUDE_DIR} " )
14
- message ("openssl ssl lib dir : ${OPENSSL_SSL_LIBRARY} " )
15
- message ("openssl crypto lib dir : ${OPENSSL_CRYPTO_LIBRARY} " )
16
- endif ()
17
14
if (UNIX )
18
- check_include_file("uuid/uuid.h" HAS_UUID)
19
- if (NOT HAS_UUID)
20
- message (FATAL_ERROR "Failed to find uuid." )
21
- endif ()
22
- add_compile_options (-std=c++11 -DLINUX -Wall -fPIC)
23
- list (APPEND LINK_LIBS DolphinDBAPI rt pthread)
15
+ target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE LINUX)
24
16
elseif (WIN32 )
25
- if (MSVC )
26
- add_compile_options (-DWINDOWS -DNOMINMAX)
27
- list (APPEND LINK_LIBS DolphinDBAPI)
28
- elseif (MINGW)
29
- add_compile_options (-std=c++11 -DWINDOWS -Wall -fPIC)
30
- list (APPEND LINK_LIBS DolphinDBAPI pthread)
31
- endif ()
17
+ target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE WINDOWS NOMINMAX FMT_UNICODE=0)
32
18
endif ()
33
- include_directories (${CMAKE_CURRENT_SOURCE_DIR} /../include )
34
- link_directories (${CMAKE_CURRENT_SOURCE_DIR} /lib/)
35
- add_executable (${CMAKE_PROJECT_NAME} ${PROJECT_SOURCE_DIR} /src/main.cpp)
36
- target_compile_features (${CMAKE_PROJECT_NAME} PRIVATE cxx_std_11)
37
- target_link_libraries (${CMAKE_PROJECT_NAME} ${LINK_LIBS} )
38
- set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR} /bin/)
39
19
40
- if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
41
- # C4251: Class member of an exported class is not marked dllexport.
42
- # This is triggered by std::string but we cannot modify STL.
43
- # C4100: Parameter is unused. We should fix this later.
44
- # C4996: The code uses a deprecated API. We should fix this later.
45
- target_compile_options (${CMAKE_PROJECT_NAME} PRIVATE /W3 /MP /wd4251 /wd4100 /wd4996)
46
- # Unicode support of fmt (used in spdlog) requires /utf-8 of MSVC.
47
- target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE FMT_UNICODE=0)
48
- else ()
49
- # overloaded-virtual: Derived class hides base class virtual functions
50
- # This is triggered by derived classes of Constant and we will fix this later
51
- target_compile_options (${CMAKE_PROJECT_NAME} PRIVATE -Wall -Wno-overloaded-virtual)
52
- # Enable Wextra and Wconversion when possible
53
- # Try clang hwasan when possible: -fsanitize=hwaddress -Wl,--no-relax
54
- set (CMAKE_CXX_FLAGS_DEV "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -Werror -Wpedantic" )
55
- endif ()
20
+ if (MSVC )
21
+ target_compile_options (${CMAKE_PROJECT_NAME} PRIVATE /wd4251)
22
+ endif ()
0 commit comments