1
- add_project (aws-cpp-sdk-dynamodb "C++ SDK for the AWS dynamodb service" aws-cpp-sdk-core )
2
-
3
- file (GLOB AWS_DYNAMODB_HEADERS
4
- "include/aws/dynamodb/*.h"
5
- )
6
-
7
- file (GLOB AWS_DYNAMODB_MODEL_HEADERS
8
- "include/aws/dynamodb/model/*.h"
9
- )
10
-
11
- file (GLOB AWS_DYNAMODB_SOURCE
12
- "source/*.cpp"
13
- )
14
-
15
- file (GLOB AWS_DYNAMODB_MODEL_SOURCE
16
- "source/model/*.cpp"
17
- )
18
-
19
- file (GLOB DYNAMODB_UNIFIED_HEADERS
20
- ${AWS_DYNAMODB_HEADERS}
21
- ${AWS_DYNAMODB_MODEL_HEADERS}
22
- )
23
-
24
- file (GLOB DYNAMODB_UNITY_SRC
25
- ${AWS_DYNAMODB_SOURCE}
26
- ${AWS_DYNAMODB_MODEL_SOURCE}
27
- )
28
-
29
- if (ENABLE_UNITY_BUILD )
30
- enable_unity_build ("DYNAMODB" DYNAMODB_UNITY_SRC )
31
- endif ()
32
-
33
- file (GLOB DYNAMODB_SRC
34
- ${DYNAMODB_UNIFIED_HEADERS}
35
- ${DYNAMODB_UNITY_SRC}
36
- )
37
-
38
- if (WIN32 )
39
- #if we are compiling for visual studio, create a sane directory tree.
40
- if (MSVC )
41
- source_group ("Header Files\\ aws\\ dynamodb" FILES ${AWS_DYNAMODB_HEADERS} )
42
- source_group ("Header Files\\ aws\\ dynamodb\\ model" FILES ${AWS_DYNAMODB_MODEL_HEADERS} )
43
- source_group ("Source Files" FILES ${AWS_DYNAMODB_SOURCE} )
44
- source_group ("Source Files\\ model" FILES ${AWS_DYNAMODB_MODEL_SOURCE} )
45
- endif (MSVC )
46
- endif ()
47
-
48
- set (DYNAMODB_INCLUDES
49
- "${CMAKE_CURRENT_SOURCE_DIR} /include/"
50
- )
51
-
52
- add_library (${PROJECT_NAME} ${DYNAMODB_SRC} )
53
- add_library (AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
54
-
55
- set_compiler_flags (${PROJECT_NAME} )
56
- set_compiler_warnings (${PROJECT_NAME} )
57
-
58
- if (USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS )
59
- target_compile_definitions (${PROJECT_NAME} PRIVATE "AWS_DYNAMODB_EXPORTS" )
60
- endif ()
61
-
62
- target_include_directories (${PROJECT_NAME} PUBLIC
63
- $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>
64
- $< INSTALL_INTERFACE:include> )
65
-
66
- target_link_libraries (${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS} )
67
-
68
-
69
- setup_install ()
70
-
71
- install (FILES ${AWS_DYNAMODB_HEADERS} DESTINATION ${INCLUDE_DIRECTORY} /aws/dynamodb )
72
- install (FILES ${AWS_DYNAMODB_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY} /aws/dynamodb/model )
73
-
74
- do_packaging ()
75
-
76
-
1
+ if (LEGACY_BUILD )
2
+ add_project (aws-cpp-sdk-dynamodb "C++ SDK for the AWS dynamodb service" aws-cpp-sdk-core )
3
+
4
+ file (GLOB AWS_DYNAMODB_HEADERS
5
+ "include/aws/dynamodb/*.h"
6
+ )
7
+
8
+ file (GLOB AWS_DYNAMODB_MODEL_HEADERS
9
+ "include/aws/dynamodb/model/*.h"
10
+ )
11
+
12
+ file (GLOB AWS_DYNAMODB_SOURCE
13
+ "source/*.cpp"
14
+ )
15
+
16
+ file (GLOB AWS_DYNAMODB_MODEL_SOURCE
17
+ "source/model/*.cpp"
18
+ )
19
+
20
+ file (GLOB DYNAMODB_UNIFIED_HEADERS
21
+ ${AWS_DYNAMODB_HEADERS}
22
+ ${AWS_DYNAMODB_MODEL_HEADERS}
23
+ )
24
+
25
+ file (GLOB DYNAMODB_UNITY_SRC
26
+ ${AWS_DYNAMODB_SOURCE}
27
+ ${AWS_DYNAMODB_MODEL_SOURCE}
28
+ )
29
+
30
+ if (ENABLE_UNITY_BUILD )
31
+ enable_unity_build ("DYNAMODB" DYNAMODB_UNITY_SRC )
32
+ endif ()
33
+
34
+ file (GLOB DYNAMODB_SRC
35
+ ${DYNAMODB_UNIFIED_HEADERS}
36
+ ${DYNAMODB_UNITY_SRC}
37
+ )
38
+
39
+ if (WIN32 )
40
+ #if we are compiling for visual studio, create a sane directory tree.
41
+ if (MSVC )
42
+ source_group ("Header Files\\ aws\\ dynamodb" FILES ${AWS_DYNAMODB_HEADERS} )
43
+ source_group ("Header Files\\ aws\\ dynamodb\\ model" FILES ${AWS_DYNAMODB_MODEL_HEADERS} )
44
+ source_group ("Source Files" FILES ${AWS_DYNAMODB_SOURCE} )
45
+ source_group ("Source Files\\ model" FILES ${AWS_DYNAMODB_MODEL_SOURCE} )
46
+ endif (MSVC )
47
+ endif ()
48
+
49
+ set (DYNAMODB_INCLUDES
50
+ "${CMAKE_CURRENT_SOURCE_DIR} /include/"
51
+ )
52
+
53
+ add_library (${PROJECT_NAME} ${DYNAMODB_SRC} )
54
+ add_library (AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
55
+
56
+ set_compiler_flags (${PROJECT_NAME} )
57
+ set_compiler_warnings (${PROJECT_NAME} )
58
+
59
+ if (USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS )
60
+ target_compile_definitions (${PROJECT_NAME} PRIVATE "AWS_DYNAMODB_EXPORTS" )
61
+ endif ()
62
+
63
+ target_include_directories (${PROJECT_NAME} PUBLIC
64
+ $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>
65
+ $< INSTALL_INTERFACE:include> )
66
+
67
+ target_link_libraries (${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS} )
68
+
69
+
70
+ setup_install ()
71
+
72
+ install (FILES ${AWS_DYNAMODB_HEADERS} DESTINATION ${INCLUDE_DIRECTORY} /aws/dynamodb )
73
+ install (FILES ${AWS_DYNAMODB_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY} /aws/dynamodb/model )
74
+
75
+ do_packaging ()
76
+ else ()
77
+ add_library (aws-sdk-cpp-dynamodb )
78
+ add_library (aws-sdk-cpp::dynamodb ALIAS aws-sdk-cpp-dynamodb )
79
+
80
+ target_include_directories (
81
+ aws-sdk-cpp-dynamodb
82
+ PUBLIC ${CMAKE_CURRENT_BINARY_DIR}
83
+ PUBLIC ${aws-crt-cpp_INCLUDE_DIRS}
84
+ PUBLIC ${CJSON_INCLUDE_DIRS}
85
+ )
86
+ message (STATUS "CRT: ${aws-crt-cpp_LIBRARY_DIRS}" )
87
+ target_link_directories (
88
+ aws-sdk-cpp-dynamodb
89
+ PUBLIC ${aws-crt-cpp_LIBRARY_DIRS}
90
+ PUBLIC ${CJSON_LIBRARY_DIRS}
91
+ )
92
+ target_link_libraries (
93
+ aws-sdk-cpp-dynamodb
94
+ aws-sdk-cpp::core
95
+ ${aws-crt-cpp_LIBRARIES}
96
+ ${CJSON_LIBRARIES}
97
+ tinyxml2::tinyxml2
98
+ CURL::libcurl
99
+ )
100
+
101
+ include (GenerateExportHeader )
102
+ generate_export_header (
103
+ aws-sdk-cpp-dynamodb
104
+ EXPORT_MACRO_NAME AWS_DYNAMODB_API # to be backward compatible during LEGACY_BUILD exist until 1.11
105
+ )
106
+
107
+ add_subdirectory (include )
108
+ add_subdirectory (source )
109
+
110
+ endif ()
0 commit comments