Skip to content

Commit

Permalink
Merge pull request 3MFConsortium#250 from 3MFConsortium/release/2.1.1
Browse files Browse the repository at this point in the history
release/2.1.1
  • Loading branch information
martinweismann committed Feb 19, 2021
2 parents cc19da4 + 8b5aa63 commit a88abf0
Show file tree
Hide file tree
Showing 190 changed files with 11,084 additions and 5,459 deletions.
190 changes: 190 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
on: [push, pull_request]
name: Build
jobs:
build-linux:
runs-on: ubuntu-18.04
steps:
- run: sudo apt install -y valgrind
- uses: actions/checkout@v2
with:
submodules: true
- run: sh cmake/GenerateMake.sh
- run: cmake --build . --target lib3mf_memcheck
working-directory: ./build
- run: ctest -V
working-directory: ./build
- name: Archive Linux binary
uses: actions/upload-artifact@v2
with:
name: lib3mf.so
path: build/lib3mf.so.2
- run: zip -r bindings.zip Bindings
working-directory: ./build/Autogenerated
- name: Archive bindings
uses: actions/upload-artifact@v2
with:
name: bindings.zip
path: build/Autogenerated/bindings.zip
build-macos:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: sh cmake/GenerateMake.sh
- run: cmake --build .
working-directory: ./build
- run: ctest -V
working-directory: ./build
- name: Archive Mac binary
uses: actions/upload-artifact@v2
with:
name: lib3mf.dylib
path: build/lib3mf.dylib
build-windows-release:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: ./cmake/GenerateVS2019.bat
- run: cmake --build . --config Release
working-directory: ./build
- run: ctest -V
working-directory: ./build
- name: Archive Windows Release binary
uses: actions/upload-artifact@v2
with:
name: lib3mf.dll
path: build/Release/lib3mf.dll
- name: Archive Windows Release lib
uses: actions/upload-artifact@v2
with:
name: lib3mf.lib
path: build/Release/lib3mf.lib
build-windows-debug:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: ./cmake/GenerateVS2019.bat
- run: cmake --build . --config Debug
working-directory: ./build
- run: ctest -V
working-directory: ./build
- name: Archive Windows Debug binary
uses: actions/upload-artifact@v2
with:
name: lib3mf.debug.dll
path: build/Debug/lib3mf.dll
build-mingw-w64:
runs-on: windows-2019
steps:
- run: choco install mingw -y
- uses: actions/checkout@v2
with:
submodules: true
- run: ./cmake/GenerateMinGW.bat
- run: cmake --build .
working-directory: ./build
- run: ctest -V
working-directory: ./build
assemble-sdk:
runs-on: ubuntu-18.04
needs: [build-windows-release, build-linux, build-macos]
steps:
- run: sudo apt install -y zip unzip
- run: mkdir build
- uses: actions/checkout@v2
with:
submodules: false
- name: Download all workflow run artifacts
uses: actions/download-artifact@v2
with:
path: ./build
- run: ls -Rl ./build
- run: unzip bindings.zip/bindings.zip
working-directory: ./build
- run: bash SDK/GenerateSDK_github.sh
- name: Archive SDK artifact
uses: actions/upload-artifact@v2
with:
name: lib3mf_sdk.zip
path: build/lib3mf_sdk.zip
deploy-linux:
runs-on: ubuntu-18.04
needs: [assemble-sdk]
steps:
- run: sudo apt install -y zip unzip
- run: pwd
- run: ls -Rl .
- name: Download lib3mf_sdk artifact
uses: actions/download-artifact@v2
with:
name: lib3mf_sdk.zip
path: lib3mf_sdk.zip
- run: ls -Rl .
- name: Unpack the SDK
run: |
unzip lib3mf_sdk.zip/lib3mf_sdk.zip
- name: Build CppDynamic
run: |
sh Examples/CppDynamic/GenerateMake.sh
cd Examples/CppDynamic/build
cmake --build .
./Example_ExtractInfo ../../Files/Helix.3mf
- name: Build Cpp
run: |
sh Examples/Cpp/GenerateMake.sh
cd Examples/Cpp/build
cmake --build .
./Example_ExtractInfo ../../Files/Helix.3mf
deploy-windows:
runs-on: windows-2019
needs: [assemble-sdk]
steps:
- name: Download lib3mf_sdk artifact
uses: actions/download-artifact@v2
with:
name: lib3mf_sdk.zip
path: lib3mf_sdk.zip
- name: Unpack the SDK
run: |
unzip lib3mf_sdk.zip/lib3mf_sdk.zip
- name: Build CppDynamic
run: |
./Examples/CppDynamic/GenerateVS2019.bat
cd Examples/CppDynamic/build
cmake --build . --config Release
./Release/Example_ExtractInfo.exe ../../Files/Helix.3mf
- name: Build Cpp
run: |
./Examples/Cpp/GenerateVS2019.bat
cd Examples/Cpp/build
cmake --build . --config Release
./Release/Example_ExtractInfo.exe ../../Files/Helix.3mf
deploy-macos:
runs-on: macos-10.15
needs: [assemble-sdk]
steps:
- name: Download lib3mf_sdk artifact
uses: actions/download-artifact@v2
with:
name: lib3mf_sdk.zip
path: lib3mf_sdk.zip
- name: Unpack the SDK
run: |
unzip lib3mf_sdk.zip/lib3mf_sdk.zip
- name: Build CppDynamic
run: |
sh Examples/CppDynamic/GenerateMake.sh
cd Examples/CppDynamic/build
cmake --build .
./Example_ExtractInfo ../../Files/Helix.3mf
- name: Build Cpp
run: |
sh Examples/Cpp/GenerateMake.sh
cd Examples/Cpp/build
cmake --build .
./Example_ExtractInfo ../../Files/Helix.3mf
52 changes: 0 additions & 52 deletions .travis.yml

This file was deleted.

5 changes: 3 additions & 2 deletions AutomaticComponentToolkit/lib3mf.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://schemas.autodesk.com/netfabb/automaticcomponenttoolkit/2018" libraryname="the 3MF Library" namespace="Lib3MF" copyright="3MF Consortium (Original Author)" year="2019" basename="lib3mf" version="2.1.0">
<component xmlns="http://schemas.autodesk.com/netfabb/automaticcomponenttoolkit/2018" libraryname="the 3MF Library" namespace="Lib3MF" copyright="3MF Consortium (Original Author)" year="2019" basename="lib3mf" version="2.1.1">

<license>
<line value="All rights reserved."/>
Expand Down Expand Up @@ -75,7 +75,8 @@
<error name="INVALIDATTACHMENTSTREAM" code="131" description="An attachment stream is invalid"/>
<error name="INVALIDPROPERTYCOUNT" code="132" description="Invalid property count."/>
<error name="UNKOWNPROGRESSIDENTIFIER" code="140" description="A progress identifier is unknown"/>
<error name="BEAMLATTICE_INVALID_OBJECTTYPE" code="2000" description="This object type is not valid for beamlattices"/>
<error name="ELEMENTCOUNTEXCEEDSLIMIT" code="141" description="An element buffer exceeds its spec limit"/>
<error name="BEAMLATTICE_INVALID_OBJECTTYPE" code="2000" description="This object type is not valid for beamlattices"/>
<error name="INVALIDKEYSTORE" code="3000" description="The keystore object is invalid"/>
<error name="INVALIDKEYSTORECONSUMER" code="3001" description="The consumer keystore object is invalid"/>
<error name="KEYSTORECONSUMERNOTFOUND" code="3002" description="A consumer has not been found"/>
Expand Down
34 changes: 24 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@ include(GNUInstallDirs)
# Define Version
set(LIB3MF_VERSION_MAJOR 2) # increase on every backward-compatibility breaking change of the API
set(LIB3MF_VERSION_MINOR 1) # increase on every backward compatible change of the API
set(LIB3MF_VERSION_MICRO 0) # increase on on every change that does not alter the API
set(LIB3MF_VERSION_MICRO 1) # increase on on every change that does not alter the API
set(LIB3MF_VERSION_PRERELEASE "") # denotes pre-release information of a version of lib3mf

project(lib3mf
VERSION ${LIB3MF_VERSION_MAJOR}.${LIB3MF_VERSION_MINOR}.${LIB3MF_VERSION_MICRO}
DESCRIPTION "An implementation of the 3D Manufacturing Format file standard")
DESCRIPTION "An implementation of the 3D Manufacturing Format file standard"
)

set(CMAKE_INSTALL_BINDIR bin CACHE PATH "directory for installing binary files")
set(CMAKE_INSTALL_LIBDIR lib CACHE PATH "directory for installing library files")
Expand Down Expand Up @@ -155,15 +156,28 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR_AU
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Include/API)
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Include)

if (NOT USE_INCLUDED_LIBZIP)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBZIP REQUIRED libzip)
target_link_libraries(${PROJECT_NAME} ${LIBZIP_LIBRARIES})
if (USE_INCLUDED_LIBZIP)
target_compile_options(${PROJECT_NAME} PRIVATE "-DZIP_STATIC")
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Include/Libraries/libzip)

if (UNIX OR MINGW)
target_compile_options(${PROJECT_NAME} PRIVATE "-DHAVE_FSEEKO")
target_compile_options(${PROJECT_NAME} PRIVATE "-DHAVE_FTELLO")
target_compile_options(${PROJECT_NAME} PRIVATE "-DHAVE_STRCASECMP")
target_compile_options(${PROJECT_NAME} PRIVATE "-DHAVE_UNISTD_H")
endif()

else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBZIP REQUIRED libzip)
target_link_libraries(${PROJECT_NAME} ${LIBZIP_LIBRARIES})
endif()
if (NOT USE_INCLUDED_ZLIB)
find_package(PkgConfig REQUIRED)
pkg_check_modules(ZLIB REQUIRED zlib)
target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES})
if (USE_INCLUDED_ZLIB)
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Include/Libraries/zlib)
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(ZLIB REQUIRED zlib)
target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES})
endif()


Expand Down
2 changes: 1 addition & 1 deletion Documentation/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
author = '3MF Consortium'

# The full version, including alpha/beta/rc tags
release = 'v2.1.0'
release = 'v2.1.1'

master_doc = 'index'

Expand Down
6 changes: 3 additions & 3 deletions Documentation/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. lib3mf documentation master file
*********************************************
lib3mf v2.1.0 documentation
lib3mf v2.1.1 documentation
*********************************************

.. image:: https://travis-ci.org/3MFConsortium/lib3mf.svg?branch=master
Expand All @@ -12,7 +12,7 @@ lib3mf v2.1.0 documentation
:target: https://readthedocs.org/projects/lib3mf/
:alt: Documentation Status

.. image:: https://img.shields.io/static/v1.svg?label=lib3mf&message=v2.1.0&color=green
.. image:: https://img.shields.io/static/v1.svg?label=lib3mf&message=v2.1.1&color=green
:alt: Version

.. image:: https://img.shields.io/static/v1.svg?label=platform&message=windows%20%7C%20macos%20%7C%20linux&color=lightgrey
Expand All @@ -27,7 +27,7 @@ lib3mf v2.1.0 documentation
:language: bash


Welcome! This is the documentation for lib3mf v2.1.0.
Welcome! This is the documentation for lib3mf v2.1.1.

lib3mf is an implementation of the 3D Manufacturing Format file standard.

Expand Down
1 change: 1 addition & 0 deletions Include/API/lib3mf_beamset.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Abstract: This is the class declaration of CBeamSet
namespace Lib3MF {
namespace Impl {

#define LIB3MF_MAXBEAMCOUNT (1UL << 31)

/*************************************************************************************************************************
Class declaration of CBeamSet
Expand Down
2 changes: 2 additions & 0 deletions Include/API/lib3mf_compositematerials.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ Abstract: This is the class declaration of CCompositeMaterials
// Include custom headers here.
#include "Model/Classes/NMR_ModelCompositeMaterials.h"

#define LIB3MF_MAXCOMPOSITEMATERIALS (1UL << 31)

namespace Lib3MF {
namespace Impl {

Expand Down
1 change: 1 addition & 0 deletions Include/API/lib3mf_multipropertygroup.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ Abstract: This is the class declaration of CMultiPropertyGroup
// Include custom headers here.
#include "Model/Classes/NMR_ModelMultiPropertyGroup.h"

#define LIB3MF_MAXMULTIPROPERTIES (1UL << 31)

namespace Lib3MF {
namespace Impl {
Expand Down
2 changes: 1 addition & 1 deletion Include/Common/MeshImport/NMR_MeshImporter_STL.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ This is a derived class for Importing the binary STL and color STL Mesh Format.
namespace NMR {

#pragma pack (1)
typedef struct {
typedef struct MESHFORMAT_STL_FACET {
NVEC3 m_normal;
NVEC3 m_vertices[3];
nfUint16 m_attribute;
Expand Down
1 change: 0 additions & 1 deletion Include/Common/OPC/NMR_OpcPackageReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ namespace NMR {
std::vector<nfByte> m_Buffer;
zip_error_t m_ZIPError;
zip_t * m_ZIParchive;
zip_source_t * m_ZIPsource;
std::map <std::string, nfUint64> m_ZIPEntries;
std::map <std::string, POpcPackagePart> m_Parts;

Expand Down
Loading

0 comments on commit a88abf0

Please sign in to comment.