Skip to content

Commit 6a44a64

Browse files
Updated CI to use build deps, updated readme, and aws-crt-cpp version. (#73)
* Updated CI to use build deps, updated readme, and aws-crt-cpp version.
1 parent 98f6d3b commit 6a44a64

File tree

6 files changed

+28
-33
lines changed

6 files changed

+28
-33
lines changed

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
88
set(CMAKE_INSTALL_LIBDIR "lib")
99
endif()
1010

11+
if (NOT CMAKE_BUILD_TYPE)
12+
set(CMAKE_BUILD_TYPE "RelWithDebInfo")
13+
endif()
14+
1115
if (BUILD_DEPS)
1216
set(AWS_DEPS_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/deps CACHE STRING "If BUILD_DEPS is on, aws common runtime dependencies build in this directory.")
1317
if (DEFINED CMAKE_INSTALL_PREFIX)
@@ -37,6 +41,7 @@ if (BUILD_DEPS)
3741
-DCMAKE_PREFIX_PATH=${AWS_DEPS_INSTALL_DIR}
3842
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
3943
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
44+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
4045
${CMAKE_CURRENT_SOURCE_DIR}/aws-common-runtime
4146
WORKING_DIRECTORY ${AWS_DEPS_BUILD_DIR}
4247
)
@@ -53,6 +58,7 @@ if (BUILD_DEPS)
5358
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
5459
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}/bin
5560
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
61+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
5662
${CMAKE_CURRENT_SOURCE_DIR}/aws-common-runtime
5763
WORKING_DIRECTORY ${AWS_DEPS_BUILD_DIR}
5864
RESULT_VARIABLE BUILD_AWSCRT_EXIT_CODE

README.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ Until this project is promoted to General Availability, we advise you use the
1010
for a stable development environment.
1111

1212
This SDK is built on the AWS Common Runtime, a collection of libraries
13-
([1](https://github.com/awslabs/aws-c-common),
14-
[2](https://github.com/awslabs/aws-c-io),
15-
[3](https://github.com/awslabs/aws-c-mqtt),
16-
[4](https://github.com/awslabs/aws-c-http),
17-
[5](https://github.com/awslabs/aws-c-cal)...) written in C to be
13+
([aws-c-common](https://github.com/awslabs/aws-c-common),
14+
[aws-c-io](https://github.com/awslabs/aws-c-io),
15+
[aws-c-mqtt](https://github.com/awslabs/aws-c-mqtt),
16+
[aws-c-http](https://github.com/awslabs/aws-c-http),
17+
[aws-c-cal](https://github.com/awslabs/aws-c-cal),
18+
[aws-c-auth](https://github.com/awslabs/aws-c-auth),
19+
[s2n](https://github.com/awslabs/s2n)...) written in C to be
1820
cross-platform, high-performance, secure, and reliable. The libraries are bound
1921
to C++ by the [aws-crt-cpp](https://github.com/awslabs/aws-crt-cpp) package.
2022

@@ -30,22 +32,22 @@ is provided by code that been generated from a model of the service.
3032
* Clang 3.9+ or GCC 4.4+ or MSVC 2015+
3133

3234
## Build from source
35+
### Automatically Build and Install AWS Dependencies
3336
```
34-
git clone --branch v0.6.1 https://github.com/awslabs/aws-crt-cpp.git
3537
git clone https://github.com/awslabs/aws-iot-device-sdk-cpp-v2.git
36-
mkdir aws-crt-cpp-build
37-
cd aws-crt-cpp-build
38-
cmake -DCMAKE_INSTALL_PREFIX="<path to where you install>" -DCMAKE_PREFIX_PATH="<path to where you install>" -DBUILD_SHARED_LIBS=ON -DBUILD_DEPS=ON ../aws-crt-cpp
39-
cmake --build . --target install
40-
cd ..
4138
mkdir aws-iot-device-sdk-cpp-v2-build
4239
cd aws-iot-device-sdk-cpp-v2-build
43-
cmake -DCMAKE_INSTALL_PREFIX="<path to where you install>" -DCMAKE_PREFIX_PATH="<path to where you install>" -DBUILD_SHARED_LIBS=ON ../aws-iot-device-sdk-cpp-v2
40+
cmake -DCMAKE_INSTALL_PREFIX="<path to where you install>" -DBUILD_DEPS=ON ../aws-iot-device-sdk-cpp-v2
4441
cmake --build . --target install
4542
```
43+
### Using a Pre-Built aws-crt-cpp (Most useful for development of this package)
4644

47-
Note: If you are updating an existing installation of `aws-crt-cpp`, you must delete and recreate `aws-crt-cpp-build` or it will not build correctly.
48-
45+
```
46+
mkdir aws-iot-device-sdk-cpp-v2-build
47+
cd aws-iot-device-sdk-cpp-v2-build
48+
cmake -DCMAKE_INSTALL_PREFIX="<path to where you install>" -DCMAKE_PREFIX_PATH="<path to where you install>" -DBUILD_DEPS=OFF ../aws-iot-device-sdk-cpp-v2
49+
cmake --build . --target install
50+
```
4951
# Samples
5052

5153
## Shadow
@@ -199,7 +201,6 @@ and receive.
199201
## Greengrass Discovery
200202
This sample is intended for direct usage with the Greengrass tutorial found [here](https://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html).
201203

202-
203204
# License
204205

205206
This library is licensed under the Apache 2.0 License.

aws-common-runtime/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ set(AWS_DEPS_DOWNLOAD_DIR "${AWS_DEPS_BUILD_DIR}/downloads" CACHE PATH "Dependen
1818
message("install dir ${AWS_DEPS_INSTALL_DIR}")
1919

2020
set(AWS_CRT_CPP_URL "https://github.com/awslabs/aws-crt-cpp.git")
21-
set(AWS_CRT_CPP_SHA "v0.6.1")
21+
set(AWS_CRT_CPP_SHA "v0.6.2")
2222
include(BuildAwsCrtCpp)

aws-common-runtime/cmake/BuildAwsCrtCpp.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ if("${TARGET_ARCH}" STREQUAL ANDROID)
1818
-DANDROID_STL=${ANDROID_STL}
1919
-DENABLE_HW_OPTIMIZATION=OFF
2020
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
21+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
2122
-DBUILD_DEPS=ON
2223
)
2324
elseif(MSVC)
@@ -35,6 +36,7 @@ elseif(MSVC)
3536
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
3637
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
3738
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
39+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
3840
-DBUILD_DEPS=ON
3941
)
4042
else()
@@ -51,6 +53,7 @@ else()
5153
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
5254
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
5355
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
56+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
5457
-DBUILD_DEPS=ON
5558
)
5659
endif()

codebuild/common-posix.sh

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,13 @@ BUILD_PATH=/tmp/builds
88
mkdir -p $BUILD_PATH
99
INSTALL_PATH=$BUILD_PATH/install
1010
mkdir -p $INSTALL_PATH
11-
CMAKE_ARGS="-DCMAKE_PREFIX_PATH=$INSTALL_PATH -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH $@"
11+
CMAKE_ARGS="-DCMAKE_PREFIX_PATH=$INSTALL_PATH -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH -DBUILD_DEPS=ON $@"
1212

1313
# If TRAVIS_OS_NAME is OSX, skip this step (will resolve to empty string on CodeBuild)
1414
if [ "$TRAVIS_OS_NAME" != "osx" ]; then
1515
sudo apt-get install libssl-dev -y
1616
fi
1717

18-
# build aws-crt-cpp
19-
pushd $BUILD_PATH
20-
git clone --branch v0.5.4 https://github.com/awslabs/aws-crt-cpp.git
21-
cd aws-crt-cpp
22-
cmake $CMAKE_ARGS -DBUILD_DEPS=ON ./
23-
cmake --build . --target install
24-
popd
25-
2618
# build SDK
2719
mkdir -p build
2820
pushd build

codebuild/common-windows.bat

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,10 @@ set INSTALL_DIR=%BUILDS_DIR%\install
55
mkdir %BUILDS_DIR%
66
mkdir %INSTALL_DIR%
77

8-
@rem build aws-crt-cpp
9-
mkdir %BUILDS_DIR%\aws-crt-cpp-build
10-
cd %BUILDS_DIR%\aws-crt-cpp-build
11-
git clone --branch v0.5.4 https://github.com/awslabs/aws-crt-cpp.git
12-
cmake %CMAKE_ARGS% -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_PREFIX_PATH="%INSTALL_DIR%" -DCMAKE_BUILD_TYPE="Release" -DBUILD_DEPS=ON aws-crt-cpp || goto error
13-
cmake --build . --target install || goto error
14-
158
@rem build SDK
169
mkdir %BUILDS_DIR%\aws-iot-device-sdk-cpp-v2-build
1710
cd %BUILDS_DIR%\aws-iot-device-sdk-cpp-v2-build
18-
cmake %CMAKE_ARGS% -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_PREFIX_PATH="%INSTALL_DIR%" -DCMAKE_BUILD_TYPE="Release" %CODEBUILD_SRC_DIR% || goto error
11+
cmake %CMAKE_ARGS% -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_PREFIX_PATH="%INSTALL_DIR%" -DBUILD_DEPS=ON %CODEBUILD_SRC_DIR% || goto error
1912
cmake --build . || goto error
2013

2114
goto :EOF

0 commit comments

Comments
 (0)