@@ -2,54 +2,21 @@ cmake_minimum_required(VERSION 3.13)
22
33project (DolphinDBDemo)
44
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)
713
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 ()
1714if (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)
2416elseif (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)
3218endif ()
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/)
3919
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