Skip to content

Commit

Permalink
Merge pull request #113 from LORD-MicroStrain/develop
Browse files Browse the repository at this point in the history
Release V3
  • Loading branch information
microstrain-sam authored Nov 6, 2024
2 parents 2854a74 + 188dd2d commit 8c9cda6
Show file tree
Hide file tree
Showing 244 changed files with 60,972 additions and 36,029 deletions.
61 changes: 0 additions & 61 deletions .devcontainer/Dockerfile.centos

This file was deleted.

3 changes: 2 additions & 1 deletion .devcontainer/Dockerfile.ubuntu
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ RUN set -ex \
zlib1g-dev \
subversion \
build-essential \
bash-completion
bash-completion \
doxygen

# Add a user that will be used when shelling into this container and allow them to use devices
ARG USER_ID=1000
Expand Down
33 changes: 26 additions & 7 deletions .devcontainer/docker_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ set -e
# Get some arguments from the user
os="ubuntu"
arch="amd64"
build_docs=false
while [[ $# -gt 0 ]]; do
case $1 in
--os)
Expand All @@ -20,6 +21,10 @@ while [[ $# -gt 0 ]]; do
shift # past argument
shift # past value
;;
--docs)
build_docs=true
shift # past argument
;;
*)
shift # past argument
;;
Expand All @@ -31,10 +36,9 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
project_dir="${script_dir}/.."
docker_project_dir="/home/microstrain/mipsdk"
dockerfile="${script_dir}/Dockerfile.${os}"
build_dir_name="build_${os}_${arch}"

image_name="microstrain/mipsdk_${os}_builder:${arch}"


# Build the docker image
docker build \
-t "${image_name}" \
Expand All @@ -49,6 +53,22 @@ if [ "${ISHUDSONBUILD}" != "True" ]; then
docker_it_flags="-it"
fi

if [ ${build_docs} = true ]; then
build_dir_name="build_docs"
configure_flags="\
-DMICROSTRAIN_BUILD_DOCUMENTATION=ON \
-DMICROSTRAIN_BUILD_DOCUMENTATION_QUIET=OFF \
-DCMAKE_BUILD_TYPE=RELEASE"
build_target="package_docs"
else
build_dir_name="build_${os}_${arch}"
configure_flags="\
-DMICROSTRAIN_BUILD_EXAMPLES=ON \
-DMICROSTRAIN_BUILD_PACKAGE=ON \
-DCMAKE_BUILD_TYPE=RELEASE"
build_target="package"
fi

# Run the build in the docker image
docker run \
--rm \
Expand All @@ -61,8 +81,7 @@ docker run \
rm -rf ${docker_project_dir}/${build_dir_name}; \
mkdir ${docker_project_dir}/${build_dir_name}; \
cd ${docker_project_dir}/${build_dir_name}; \
cmake ${docker_project_dir} \
-DBUILD_PACKAGE=ON; \
cmake --build . -j; \
cmake --build . --target package; \
"
cmake ${docker_project_dir} ${configure_flags}; \
cmake --build . -j$(nproc); \
cmake --build . --target ${build_target}; \
"
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ int/
.idea/
.vs/

src/mip/mip_version.h
src/c/mip/mip_version.h
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,36 @@ Forthcoming
### Interface Changes
### Bug Fixes

v3.0.0
------

### New Features
* Metadata for C++ template programming (beta)
* Pretty-printing example (beta)
* Packet processing examples
* `microstrain::Span` implementation of `std::span` (interchangeable, see readme/documentation)
* Improved serialization system in c++

### Interface Changes
* Reorganized directory structure and libraries
* Separated base ‘microstrain’ library from ‘mip’ library
* Separated C and C++ code
* Migration:
* #include .h files for C and .hpp files for C++.
* Add these include paths to your project:
* `src/c`
* `src/cpp`
* Include files as `#include <mip/mip_*.h>` or `#include <microstrain/*.h>`, or .hpp for c++.
* Most files have just been moved, but a few things have been broken out into new files
* Introduced microstrain namespace
* Used for common code that’s not mip-specific
* Which namespace to use depends on the location of the corresponding #include file
* Renamed some CMake variables (see readme)

### Bug Fixes
* Revamped C++ serialization system to avoid huge error messages due to large number of insert/extract overloads.
* Improved CMake scripts
* Cleaned up warnings

v2.0.0
------
Expand Down
Loading

0 comments on commit 8c9cda6

Please sign in to comment.