11# Copyright <2022> Amazon.com, Inc. or its affiliates. All Rights Reserved.
2- #
2+ #
33# Licensed under the Apache License, Version 2.0 (the "License").
44# You may not use this file except in compliance with the License.
55# A copy of the License is located at
6- #
6+ #
77# http://www.apache.org/licenses/LICENSE-2.0
8- #
8+ #
99# or in the "license" file accompanying this file. This file is distributed
1010# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
1111# express or implied. See the License for the specific language governing
@@ -19,52 +19,64 @@ string(STRIP ${ODBC_DRIVER_VERSION} ODBC_DRIVER_VERSION)
1919project (Timestream-ODBC VERSION ${ODBC_DRIVER_VERSION} )
2020
2121# Mac
22- if (UNIX AND APPLE )
23- set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /aws-sdk-cpp/install/lib)
22+ if (UNIX AND APPLE )
23+ set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /aws-sdk-cpp/install/lib)
2424endif ()
2525
26- # Linux
27- if (UNIX AND NOT APPLE )
28- if (${INSTALLER_TYPE} STREQUAL "RPM" AND ${BITNESS} EQUAL 64)
29- set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /aws-sdk-cpp/install/lib64)
30- else ()
31- set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /aws-sdk-cpp/install/lib)
32- endif ()
26+ # Linux
27+ if (UNIX AND NOT APPLE )
28+ if (${INSTALLER_TYPE} STREQUAL "RPM" AND ${BITNESS} EQUAL 64)
29+ set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /aws-sdk-cpp/install/lib64)
30+ else ()
31+ set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /aws-sdk-cpp/install/lib)
32+ endif ()
3333endif ()
3434
3535# Windows
36- if (WIN32 )
37- set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /../build/aws-sdk/install/lib)
38-
39- set (CMAKE_BUILD_DIR ${CMAKE_BINARY_DIR } /${CMAKE_BUILD_TYPE } )
40- set (AWS_DLL_DIR ${CMAKE_SOURCE_DIR } /../build/aws-sdk/install/bin)
41- set (AWS_LIB_DIR ${CMAKE_SOURCE_DIR } /../build/aws-sdk/install/lib)
42-
43- # copy AWS DLL to ${CMAKE_BUILD_DIR} as they are needed for Windows building and test running
44- configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-core.dll ${CMAKE_BUILD_DIR} /aws-cpp-sdk-core.dll COPYONLY )
45- configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-timestream-query.dll ${CMAKE_BUILD_DIR} /aws-cpp-sdk-timestream-query.dll COPYONLY )
46- # Timestream-write dll is needed for data writer tool
47- configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-timestream-write.dll ${CMAKE_BUILD_DIR} /aws-cpp-sdk-timestream-write.dll COPYONLY )
48- configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-sts.dll ${CMAKE_BUILD_DIR} /aws-cpp-sdk-sts.dll COPYONLY )
49- configure_file (${AWS_DLL_DIR} /aws-c-auth.dll ${CMAKE_BUILD_DIR} /aws-c-auth.dll COPYONLY )
50- configure_file (${AWS_DLL_DIR} /aws-c-cal.dll ${CMAKE_BUILD_DIR} /aws-c-cal.dll COPYONLY )
51- configure_file (${AWS_DLL_DIR} /aws-c-common.dll ${CMAKE_BUILD_DIR} /aws-c-common.dll COPYONLY )
52- configure_file (${AWS_DLL_DIR} /aws-c-compression.dll ${CMAKE_BUILD_DIR} /aws-c-compression.dll COPYONLY )
53- configure_file (${AWS_DLL_DIR} /aws-c-event-stream.dll ${CMAKE_BUILD_DIR} /aws-c-event-stream.dll COPYONLY )
54- configure_file (${AWS_DLL_DIR} /aws-checksums.dll ${CMAKE_BUILD_DIR} /aws-checksums.dll COPYONLY )
55- configure_file (${AWS_DLL_DIR} /aws-c-http.dll ${CMAKE_BUILD_DIR} /aws-c-http.dll COPYONLY )
56- configure_file (${AWS_DLL_DIR} /aws-c-io.dll ${CMAKE_BUILD_DIR} /aws-c-io.dll COPYONLY )
57- configure_file (${AWS_DLL_DIR} /aws-c-mqtt.dll ${CMAKE_BUILD_DIR} /aws-c-mqtt.dll COPYONLY )
58- configure_file (${AWS_DLL_DIR} /aws-crt-cpp.dll ${CMAKE_BUILD_DIR} /aws-crt-cpp.dll COPYONLY )
59- configure_file (${AWS_DLL_DIR} /aws-c-s3.dll ${CMAKE_BUILD_DIR} /aws-c-s3.dll COPYONLY )
60- configure_file (${AWS_DLL_DIR} /aws-c-sdkutils.dll ${CMAKE_BUILD_DIR} /aws-c-sdkutils.dll COPYONLY )
36+ if (WIN32 )
37+ set (AWS_CMAKE_DIR ${CMAKE_SOURCE_DIR } /../build/aws-sdk/install/lib)
38+
39+ set (CMAKE_BUILD_DIR ${CMAKE_BINARY_DIR } /${CMAKE_BUILD_TYPE } )
40+ set (AWS_DLL_DIR ${CMAKE_SOURCE_DIR } /../build/aws-sdk/install/bin)
41+ set (AWS_LIB_DIR ${CMAKE_SOURCE_DIR } /../build/aws-sdk/install/lib)
42+
43+ # copy AWS DLL to ${CMAKE_BUILD_DIR} as they are needed for Windows building and test running
44+ configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-core.dll
45+ ${CMAKE_BUILD_DIR} /aws-cpp-sdk-core.dll COPYONLY )
46+ configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-timestream-query.dll
47+ ${CMAKE_BUILD_DIR} /aws-cpp-sdk-timestream-query.dll COPYONLY )
48+ # Timestream-write dll is needed for data writer tool
49+ configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-timestream-write.dll
50+ ${CMAKE_BUILD_DIR} /aws-cpp-sdk-timestream-write.dll COPYONLY )
51+ configure_file (${AWS_DLL_DIR} /aws-cpp-sdk-sts.dll
52+ ${CMAKE_BUILD_DIR} /aws-cpp-sdk-sts.dll COPYONLY )
53+ configure_file (${AWS_DLL_DIR} /aws-c-auth.dll ${CMAKE_BUILD_DIR} /aws-c-auth.dll COPYONLY )
54+ configure_file (${AWS_DLL_DIR} /aws-c-cal.dll ${CMAKE_BUILD_DIR} /aws-c-cal.dll COPYONLY )
55+ configure_file (${AWS_DLL_DIR} /aws-c-common.dll ${CMAKE_BUILD_DIR} /aws-c-common.dll
56+ COPYONLY )
57+ configure_file (${AWS_DLL_DIR} /aws-c-compression.dll
58+ ${CMAKE_BUILD_DIR} /aws-c-compression.dll COPYONLY )
59+ configure_file (${AWS_DLL_DIR} /aws-c-event-stream.dll
60+ ${CMAKE_BUILD_DIR} /aws-c-event-stream.dll COPYONLY )
61+ configure_file (${AWS_DLL_DIR} /aws-checksums.dll ${CMAKE_BUILD_DIR} /aws-checksums.dll
62+ COPYONLY )
63+ configure_file (${AWS_DLL_DIR} /aws-c-http.dll ${CMAKE_BUILD_DIR} /aws-c-http.dll COPYONLY )
64+ configure_file (${AWS_DLL_DIR} /aws-c-io.dll ${CMAKE_BUILD_DIR} /aws-c-io.dll COPYONLY )
65+ configure_file (${AWS_DLL_DIR} /aws-c-mqtt.dll ${CMAKE_BUILD_DIR} /aws-c-mqtt.dll COPYONLY )
66+ configure_file (${AWS_DLL_DIR} /aws-crt-cpp.dll ${CMAKE_BUILD_DIR} /aws-crt-cpp.dll
67+ COPYONLY )
68+ configure_file (${AWS_DLL_DIR} /aws-c-s3.dll ${CMAKE_BUILD_DIR} /aws-c-s3.dll COPYONLY )
69+ configure_file (${AWS_DLL_DIR} /aws-c-sdkutils.dll ${CMAKE_BUILD_DIR} /aws-c-sdkutils.dll
70+ COPYONLY )
6171endif ()
6272
6373# ensure AWS SDK libraries built by us could be found by find_package
6474set (s2n_DIR "${AWS_CMAKE_DIR} /s2n/cmake" )
65- set (aws-cpp-sdk-timestream-query_DIR "${AWS_CMAKE_DIR} /cmake/aws-cpp-sdk-timestream-query" )
75+ set (aws-cpp-sdk-timestream-query_DIR
76+ "${AWS_CMAKE_DIR} /cmake/aws-cpp-sdk-timestream-query" )
6677# Timestream-write directory value is needed for data writer tool
67- set (aws-cpp-sdk-timestream-write_DIR "${AWS_CMAKE_DIR} /cmake/aws-cpp-sdk-timestream-write" )
78+ set (aws-cpp-sdk-timestream-write_DIR
79+ "${AWS_CMAKE_DIR} /cmake/aws-cpp-sdk-timestream-write" )
6880set (aws-cpp-sdk-sts_DIR "${AWS_CMAKE_DIR} /cmake/aws-cpp-sdk-sts" )
6981set (aws-cpp-sdk-core_DIR "${AWS_CMAKE_DIR} /cmake/aws-cpp-sdk-core" )
7082set (aws-crt-cpp_DIR "${AWS_CMAKE_DIR} /aws-crt-cpp/cmake" )
@@ -82,68 +94,70 @@ set(aws-c-sdkutils_DIR "${AWS_CMAKE_DIR}/aws-c-sdkutils/cmake")
8294set (AWSSDK_DIR "${AWS_CMAKE_DIR} /cmake/AWSSDK" )
8395
8496include ("${CMAKE_CURRENT_SOURCE_DIR } /modules/code-coverage.cmake" )
85- if (NOT "$ENV{BOOST_ROOT} " STREQUAL "" )
86- set (BOOST_ROOT "$ENV{BOOST_ROOT} " )
97+ if (NOT "$ENV{BOOST_ROOT} " STREQUAL "" )
98+ set (BOOST_ROOT "$ENV{BOOST_ROOT} " )
8799endif ()
88100set (CMAKE_CXX_STANDARD 11)
89101
90102set (CMAKE_PROJECT_VERSION ${PROJECT_VERSION } )
91103set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH } "${CMAKE_SOURCE_DIR } /cmake" )
92- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -DIGNITE_IMPL -DIGNITE_FRIEND -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS" )
104+ set (CMAKE_CXX_FLAGS
105+ "${CMAKE_CXX_FLAGS } -DIGNITE_IMPL -DIGNITE_FRIEND -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
106+ )
93107
94108set (CMAKE_SKIP_BUILD_RPATH FALSE )
95109set (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE )
96110set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX } /lib" )
97111set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
98112set (PROJECT_ROOT "${CMAKE_CURRENT_SOURCE_DIR } /.." )
99113
100- list (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX } /lib" isSystemDir)
114+ list (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX } /lib"
115+ isSystemDir)
101116
102117if ("${isSystemDir} " STREQUAL "-1" )
103- set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX } /lib" )
118+ set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX } /lib" )
104119endif ("${isSystemDir} " STREQUAL "-1" )
105120
106121add_definitions (-DUNICODE=1 )
107- if (WIN32 )
122+ if (WIN32 )
108123
109- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR } )
124+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR } )
110125
111- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR } )
126+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR } )
112127else ()
113- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /../build/odbc/lib" )
114- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /../build/odbc/lib" )
115- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /../build/odbc/bin" )
128+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /../build/odbc/lib" )
129+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /../build/odbc/lib" )
130+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR } /../build/odbc/bin" )
116131endif ()
117132
118- if (MSVC )
119- add_compile_options (/source-charset:utf-8 /execution-charset:utf-8 )
133+ if (MSVC )
134+ add_compile_options (/source-charset:utf-8 /execution-charset:utf-8 )
120135
121- add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS )
136+ add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS )
122137endif ()
123138
124- option (WITH_ODBC OFF )
125- option (WITH_ODBC_MSI OFF )
126- option (WITH_THIN_CLIENT OFF )
127- option (WITH_TESTS OFF )
128- option (WARNINGS_AS_ERRORS OFF )
129-
130- if (${WARNINGS_AS_ERRORS} )
131- if (MSVC )
132- add_compile_options (/WX )
133- else ()
134- add_compile_options (-Wall -Wextra -Werror -Wno-variadic-macros )
135- endif ()
139+ option (WITH_ODBC OFF )
140+ option (WITH_ODBC_MSI OFF )
141+ option (WITH_THIN_CLIENT OFF )
142+ option (WITH_TESTS OFF )
143+ option (WARNINGS_AS_ERRORS OFF )
144+
145+ if (${WARNINGS_AS_ERRORS} )
146+ if (MSVC )
147+ add_compile_options (/WX )
148+ else ()
149+ add_compile_options (-Wall -Wextra -Werror -Wno-variadic-macros )
150+ endif ()
136151endif ()
137152
138- if (${WITH_ODBC} )
139- add_subdirectory (odbc )
153+ if (${WITH_ODBC} )
154+ add_subdirectory (odbc )
140155endif ()
141156
142- if (${WITH_TESTS} )
143- enable_testing ()
157+ if (${WITH_TESTS} )
158+ enable_testing ()
144159
145- if (EXISTS ${CMAKE_SOURCE_DIR } /tests)
146- add_subdirectory (tests )
147- endif ()
160+ if (EXISTS ${CMAKE_SOURCE_DIR } /tests)
161+ add_subdirectory (tests )
162+ endif ()
148163endif ()
149-
0 commit comments