GithubHelp home page GithubHelp logo

ade's Introduction

ADE Framework

Build Status

Intro

ADE Framework is a graph construction, manipulation, and processing framework. ADE Framework is suitable for organizing data flow processing and execution.

Prerequisites and building

The only prerequisites for library are CMake 3.5+ and a C++11 compiler.

Building:

$ mkdir build
$ cd build
$ cmake /path/to/ade/repository
$ make -j

After a successfull compilation binaries should reside in ./lib and ./bin directories. Use

$ make test

to run ADE Framework test suite (ADE Framework tests + utility tests).

If you want to build tutorial samples set -DBUILD_ADE_TUTORIAL=ON to cmake.

Building with tutorial:

$ cmake -DBUILD_ADE_TUTORIAL=ON /path/to/ade/repository
$ make -j

Additional information on tutorial samples can be found in ./tutorial/README.md.

If you want to build library tests set -DENABLE_ADE_TESTING=ON to cmake. Tests require gtest (https://github.com/google/googletest/releases).

Building gtest:

$ cmake -DCMAKE_INSTALL_PREFIX=/gtest/install/path  /path/to/gtest
$ make && make install

Building with tests:

$ cmake -DENABLE_ADE_TESTING=ON -DGTEST_ROOT=/gtest/install/path /path/to/ade/repository
$ make -j

You can build library with hardened asserts via -DFORCE_ADE_ASSERTS=ON option, forcing ADE_ASSERT to be present even in release builds.

This library only does error checking in debug or FORCE_ADE_ASSERTS=ON builds due to performance reasons. Library doesn't process any user input directly and doesn't read any files or sockets. If you want to use this library to process any input from external source you must validate it before doing any library calls.

To build documentation set -DBUILD_ADE_DOCUMENTATION=ON. Documentation can be found in ./doc directory. Doxygen is required.

Support

Current ADE Framework support model is:

  • ADE Framework is mainly used as a building block for other projects.
  • ADE Framework major version are synchronized with that other projects releases.
  • ADE Framework accepts pull requests but is stabilized prior to a major parent project release only.

Branches

  • master -- a default development branch. All further PRs are merged there by default. Projects which use ADE pull code from other (stable) branches by default.
    • master is not guaranteed to be stable (some tests may be failing on some platforms).
    • master is stabilized before other components major release.
  • release_XX.YY -- a release branch for version XX.YY where XX is a major release and YY is an update number. Mostly used by other projects as "frozen versions", support is limited (by request).

License

ADE Framework is distributed under terms of Apache License v2.0 (see LICENSE).

ade's People

Contributors

alexgiving avatar asyapronina avatar baizebing avatar dmatveev avatar hardcode84 avatar ilya-lavrenov avatar jatin020403 avatar kraj avatar marco-langer avatar mshabunin avatar sthalik avatar trofi avatar xerus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ade's Issues

Bumped into error in ade-0.1.1f zip file which failed to compile opencv-python in python:3.10-+alpine image today which usually success previously

Expected behaviour
Successfully install opencv-python as usual in python:3.10-alpine image as usual

Actual behaviour
Compilation failed

Steps to reproduce
pip install opencv-python in python:3.10 alpine image

opencv-python = opencv-python==4.6.0.66
62.48 ninja: job failed: /usr/bin/c++ -I/tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ippicv/ippicv_lnx/icv/include -I/tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ippicv/ippicv_lnx/iw/include -I/tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include -isystem /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -std=c++11 -fPIC -MD -MT CMakeFiles/ade.dir/3rdparty/ade/ade-0.1.1f/sources/ade/source/topological_sort.cpp.o -MF CMakeFiles/ade.dir/3rdparty/ade/ade-0.1.1f/sources/ade/source/topological_sort.cpp.o.d -o CMakeFiles/ade.dir/3rdparty/ade/ade-0.1.1f/sources/ade/source/topological_sort.cpp.o -c /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/source/topological_sort.cpp
62.48 In file included from /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/passes/topological_sort.hpp:17,
62.48 from /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/source/topological_sort.cpp:7:
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:101:10: error: 'uintptr_t' in namespace 'std' does not name a type
62.48 101 | std::uintptr_t m_srcGraph;
62.48 | ^~~~~~~~~
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:22:1: note: 'std::uintptr_t' is defined in header ''; did you forget to '#include '?
62.48 21 | #include "typed_metadata.hpp"
62.48 +++ |+#include
62.48 22 |
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp: In member function 'const ade::Graph& ade::ConstTypedGraph::getCGraph() const':
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:106:53: error: 'm_srcGraph' was not declared in this scope
62.48 106 | return reinterpret_cast(m_srcGraph);
62.48 | ^~~~~~~~~~
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp: In constructor 'ade::ConstTypedGraph::ConstTypedGraph(const ade::Graph&)':
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:122:9: error: class 'ade::ConstTypedGraph' does not have any field named 'm_srcGraph'
62.48 122 | m_srcGraph(reinterpret_caststd::uintptr_t(&graph))
62.48 | ^~~~~~~~~~
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:122:42: error: 'uintptr_t' in namespace 'std' does not name a type
62.48 122 | m_srcGraph(reinterpret_caststd::uintptr_t(&graph))
62.48 | ^~~~~~~~~
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:122:37: note: 'std::uintptr_t' is defined in header ''; did you forget to '#include '?
62.48 122 | m_srcGraph(reinterpret_caststd::uintptr_t(&graph))
62.48 | ^~~
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp: In constructor 'ade::ConstTypedGraph::ConstTypedGraph(const ade::ConstTypedGraph<OtherTypes ...>&)':
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:130:9: error: class 'ade::ConstTypedGraph' does not have any field named 'm_srcGraph'
62.48 130 | m_srcGraph(other.m_srcGraph)
62.48 | ^~~~~~~~~~
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp: In instantiation of 'ade::Graph& ade::TypedGraph::getGraph() const [with Types = {ade::passes::TopologicalSortData}]':
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:238:16: required from 'ade::Graph::NodesListRange ade::TypedGraph::nodes() [with Types = {ade::passes::TopologicalSortData}; ade::Graph::NodesListRange = ade::util::Range::MapRange<ade::util::Range::IterRange<__gnu_cxx::__normal_iterator<std::shared_ptrade::Node*, std::vector<std::shared_ptrade::Node > > >, ade::Graph::HandleMapper>]'
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/source/topological_sort.cpp:39:40: required from here
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:167:53: error: 'const class ade::TypedGraphade::passes::TopologicalSortData' has no member named 'm_srcGraph'
62.48 167 | return reinterpret_castade::Graph(this->m_srcGraph);
62.48 | ~~~~~~^~~~~~~~~~
62.48 Note: Class cv::Feature2D has more than 1 base class (not supported by Python C extensions)
62.48 Bases: cv::Algorithm, cv::class, cv::Feature2D, cv::Algorithm
62.48 Only the first base class will be used
62.48 Note: Class cv::detail::GraphCutSeamFinder has more than 1 base class (not supported by Python C extensions)
62.48 Bases: cv::detail::GraphCutSeamFinderBase, cv::detail::SeamFinder
62.48 Only the first base class will be used
62.48 ninja: subcommand failed
62.48 Traceback (most recent call last):
62.48 File "/tmp/pip-build-env-z3sx64lf/overlay/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 674, in setup
62.48 cmkr.make(make_args, install_target=cmake_install_target, env=env)
62.48 File "/tmp/pip-build-env-z3sx64lf/overlay/lib/python3.10/site-packages/skbuild/cmaker.py", line 697, in make
62.48 self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
62.48 File "/tmp/pip-build-env-z3sx64lf/overlay/lib/python3.10/site-packages/skbuild/cmaker.py", line 742, in make_impl
62.48 raise SKBuildError(msg)
62.48
62.48 An error occurred while building with CMake.
62.48 Command:
62.48 /tmp/pip-build-env-z3sx64lf/overlay/lib/python3.10/site-packages/cmake/data/bin/cmake --build . --target install --config Release --
62.48 Install target:
62.48 install
62.48 Source directory:
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a
62.48 Working directory:
62.48 /tmp/pip-install-ikpi2bfw/opencv-python_cd41126da3fb445da2c1bce7c2f69c2a/_skbuild/linux-x86_64-3.10/cmake-build
62.48 Please check the install target is valid and see CMake's output for more information.
62.48
62.48 [end of output]
62.48
62.48 note: This error originates from a subprocess, and is likely not a problem with pip.
62.48 ERROR: Failed building wheel for opencv-python
62.48 Successfully built unstructured-inference
62.48 Failed to build opencv-python
62.48 ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects

Is it something newly added in the ade source that cause something broken?
tmp/pip-install-tltrnbg7/opencv-python_218517a01db34d7aa0d9c09d5f167498/_skbuild/linux-x86_64-3.10/cmake-build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp:22:1: note: 'std::uintptr_t' is defined in header ''; did you forget to '#include '?
412.4 21 | #include "typed_metadata.hpp"
412.4 +++ |+#include
412.4 22 |

Multiple -Wdeprecated-copy warnings on Mac OS since clang 13.1

CI link: https://github.com/opencv/opencv/actions/runs/4056606731/jobs/6981301928

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:186:17: warning: definition of implicit copy constructor for 'TypedGraph<ade::passes::TopologicalSortData>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:137:22: warning: definition of implicit copy constructor for 'ConstTypedGraph<ade::passes::TopologicalSortData>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:186:17: warning: definition of implicit copy constructor for 'TypedGraph<cv::gimpl::NodeKind, cv::gimpl::FusedIsland, cv::gimpl::DataSlot, cv::gimpl::IslandExec, cv::gimpl::Emitter, cv::gimpl::Sink, cv::gimpl::IslandsCompiled, cv::gimpl::DesyncIslEdge, ade::passes::TopologicalSortData>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:137:22: warning: definition of implicit copy constructor for 'ConstTypedGraph<cv::gimpl::NodeKind, cv::gimpl::FusedIsland, cv::gimpl::DataSlot, cv::gimpl::IslandExec, cv::gimpl::Emitter, cv::gimpl::Sink, cv::gimpl::IslandsCompiled, cv::gimpl::DesyncIslEdge, ade::passes::TopologicalSortData>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:186:17: warning: definition of implicit copy constructor for 'TypedGraph<ade::passes::TopologicalSortData>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:137:22: warning: definition of implicit copy constructor for 'ConstTypedGraph<ade::passes::TopologicalSortData>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

/Users/opencv-cn/GHA-OCV-2/_work/opencv/opencv/build/3rdparty/ade/ade-0.1.2a/sources/ade/include/ade/typed_graph.hpp:137:22: warning: definition of implicit copy constructor for 'ConstTypedGraph<cv::gimpl::DesyncIslEdge>' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]

The overall ADE build approach needs to be revisited

  • Its CMakeLists breaks some rules due to some legacy build environments it originated from (you can find several FIXMEs in the CMake Files)
  • The way GTest is downloaded and linked to the test apps is not very correct too (can break if you're not lucky)

Building tests fails with gtest 1.14.0: error C++ versions less than C++14 are not supported

Builds for ade (version 0.1.2d) are currently failing for openSUSE Tumbleweed when building tests using system installed gtest which is at version 1.14.0. This version of gtest requires at least whereas ade seems to enforce CMAKE_CXX_STANDARD=11 and passing -DCMAKE_CXX_STANDARD=14 when calling cmake does not help either.

Here is the relevant portion of the failing build log:

[   48s] + /usr/bin/cmake /home/abuild/rpmbuild/BUILD/ade-0.1.2d/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_BINDIR:PATH=bin -DCMAKE_INSTALL_SBINDIR:PATH=sbin -DCMAKE_INSTALL_LIBEXECDIR:PATH=libexec -DCMAKE_INSTALL_SYSCONFDIR:PATH=etc -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=/var/lib -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=var -DCMAKE_INSTALL_RUNSTATEDIR:PATH=run -DCMAKE_INSTALL_LIBDIR:PATH=lib64 -DCMAKE_INSTALL_INCLUDEDIR:PATH=include -DCMAKE_INSTALL_DATAROOTDIR:PATH=share -DCMAKE_INSTALL_DOCDIR:PATH=share/doc/packages/ade -DCMAKE_INSTALL_MANDIR:PATH=share/man -DCMAKE_INSTALL_INFODIR:PATH=share/info -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' '-DCMAKE_CXX_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' '-DCMAKE_Fortran_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -ffat-lto-objects -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -ffat-lto-objects -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -ffat-lto-objects -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DLIB_SUFFIX=64 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib64/cmake/ade -DCMAKE_CXX_STANDARD=14 -DGTEST_ROOT:PATH=/usr -DENABLE_ADE_TESTING=ON

---✀---

[   54s] [ 50%] Building CXX object sources/tests/common/CMakeFiles/common-tests.dir/checkedcast_test.cpp.o
[   54s] cd /home/abuild/rpmbuild/BUILD/ade-0.1.2d/build/sources/tests/common && /var/lib/build/ccache/bin/c++ -D_FORTIFY_SOURCE=2 -I/home/abuild/rpmbuild/BUILD/ade-0.1.2d/sources/ade/include -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g -O2 -g -DNDEBUG -std=gnu++11 -fstack-protector-strong -MD -MT sources/tests/common/CMakeFiles/common-tests.dir/checkedcast_test.cpp.o -MF CMakeFiles/common-tests.dir/checkedcast_test.cpp.o.d -o CMakeFiles/common-tests.dir/checkedcast_test.cpp.o -c /home/abuild/rpmbuild/BUILD/ade-0.1.2d/sources/tests/common/checkedcast_test.cpp
[   54s] In file included from /usr/include/gtest/gtest-message.h:57,
[   54s]                  from /usr/include/gtest/gtest-assertion-result.h:46,
[   54s]                  from /usr/include/gtest/gtest.h:64,
[   54s]                  from /home/abuild/rpmbuild/BUILD/ade-0.1.2d/sources/tests/common/checkedcast_test.cpp:12:
[   54s] /usr/include/gtest/internal/gtest-port.h:279:2: error: #error C++ versions less than C++14 are not supported.
[   54s]   279 | #error C++ versions less than C++14 are not supported.
[   54s]       |  ^~~~~
[   54s] /usr/include/gtest/gtest-assertion-result.h: In member function ‘void testing::AssertionResult::AppendMessage(const testing::Message&)’:
[   54s] /usr/include/gtest/gtest-assertion-result.h:207:48: error: ‘make_unique’ is not a member of ‘std’
[   54s]   207 |     if (message_ == nullptr) message_ = ::std::make_unique<::std::string>();
[   54s]       |                                                ^~~~~~~~~~~
[   54s] /usr/include/gtest/gtest-assertion-result.h:207:48: note: ‘std::make_unique’ is only available from C++14 onwards
[   54s] /usr/include/gtest/gtest-assertion-result.h:207:73: error: expected primary-expression before ‘>’ token
[   54s]   207 |     if (message_ == nullptr) message_ = ::std::make_unique<::std::string>();
[   54s]       |                                                                         ^
[   54s] /usr/include/gtest/gtest-assertion-result.h:207:75: error: expected primary-expression before ‘)’ token
[   54s]   207 |     if (message_ == nullptr) message_ = ::std::make_unique<::std::string>();
[   54s]       |                                                                           ^
[   54s] In file included from /usr/include/gtest/gtest-printers.h:122,
[   54s]                  from /usr/include/gtest/gtest-matchers.h:49,
[   54s]                  from /usr/include/gtest/internal/gtest-death-test-internal.h:47,
[   54s]                  from /usr/include/gtest/gtest-death-test.h:43,
[   54s]                  from /usr/include/gtest/gtest.h:65:
[   54s] /usr/include/gtest/internal/gtest-internal.h: At global scope:
[   54s] /usr/include/gtest/internal/gtest-internal.h:622:58: error: wrong number of template arguments (0, should be 1)
[   54s]   622 |   typedef ::std::map<std::string, CodeLocation, std::less<>> RegisteredTestsMap;
[   54s]       |                                                          ^
[   54s] In file included from /usr/include/c++/13/string:49,
[   54s]                  from /usr/include/c++/13/bits/locale_classes.h:40,
[   54s]                  from /usr/include/c++/13/bits/ios_base.h:41,
[   54s]                  from /usr/include/c++/13/iomanip:42,
[   54s]                  from /usr/include/gtest/gtest.h:54:
[   54s] /usr/include/c++/13/bits/stl_function.h:403:12: note: provided for ‘template<class _Tp> struct std::less’
[   54s]   403 |     struct less : public binary_function<_Tp, _Tp, bool>
[   54s]       |            ^~~~
[   54s] /usr/include/gtest/internal/gtest-internal.h:622:59: error: template argument 3 is invalid
[   54s]   622 |   typedef ::std::map<std::string, CodeLocation, std::less<>> RegisteredTestsMap;
[   54s]       |                                                           ^~
[   54s] /usr/include/gtest/internal/gtest-internal.h: In member function ‘bool testing::internal::TypedTestSuitePState::AddTestName(const char*, int, const char*, const char*)’:

Would be grateful for any suggestion about working around this. We could patch the ade CMakeLists.txt file to change the standard to 14, of course, but do not know whether that would be advisable.

Some additional info:

  • GCC 13.2.1
  • OS: Linux (openSUSE Tumbleweed)

Thanks in advance.

std::result_of is deprecated (C++17) and removed (C++20)

Within type_traits.hpp there is one use of std::result_of, to create the type result_of_t which is then only used in func_ref.hpp.
Unfortunately, result_of_t is deprecated/removed in newer C++ standards. I would suggest using std::invoke_result, which, in the context of func_ref.hpp, can be used as using actual_result_type = std::invoke_result<Callable, Args...>::type;

can't build with clang on windows

I am building, using clang (not clang-cl), which is gcc-based

-- The C compiler identification is Clang 14.0.0 with GNU-like command-line
-- The CXX compiler identification is Clang 14.0.0 with GNU-like command-line
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/LLVM/bin/clang.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/LLVM/bin/clang++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan: Compiler Clang>=8, checking major version 14
-- Conan: Checking correct version: 14
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:

CMAKE_EXPORT_NO_PACKAGE_REGISTRY
CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_DATAROOTDIR
CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBEXECDIR
CMAKE_INSTALL_OLDINCLUDEDIR
CMAKE_INSTALL_SBINDIR

-- Build files have been written to: D:/.conan/storage/ade/0.1.1f///build/fea86f4376fcaca2105d4880fd3724afa826b8dc/build_subfolder
ade/0.1.1f: Found Visual Studio 16


** Visual Studio 2019 Developer Command Prompt v16.11.11
** Copyright (c) 2021 Microsoft Corporation


[vcvarsall.bat] Environment initialized for: 'x64'

----Running------

cmake --build D:.conan\storage\ade\0.1.1f__\build\fea86f4376fcaca2105d4880fd3724afa826b8dc\build_subfolder -- -j12


[1/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/assert.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/assert.cpp.obj
C:\PROGRA~1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/assert.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\assert.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/assert.cpp.obj -c ../source_subfolder/sources/ade/source/assert.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[2/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_ref.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_ref.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_ref.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\memory_descriptor_ref.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_ref.cpp.obj -c ../source_subfolder/sources/ade/source/memory_descriptor_ref.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[3/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\memory_descriptor.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor.cpp.obj -c ../source_subfolder/sources/ade/source/memory_descriptor.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[4/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/graph.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/graph.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/graph.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\graph.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/graph.cpp.obj -c ../source_subfolder/sources/ade/source/graph.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[5/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/edge.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/edge.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/edge.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\edge.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/edge.cpp.obj -c ../source_subfolder/sources/ade/source/edge.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[6/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metatypes.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metatypes.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metatypes.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\metatypes.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metatypes.cpp.obj -c ../source_subfolder/sources/ade/source/metatypes.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[7/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/execution_engine.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/execution_engine.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/execution_engine.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\execution_engine.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/execution_engine.cpp.obj -c ../source_subfolder/sources/ade/source/execution_engine.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[8/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_accessor.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_accessor.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_accessor.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\memory_accessor.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_accessor.cpp.obj -c ../source_subfolder/sources/ade/source/memory_accessor.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[9/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/check_cycles.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/check_cycles.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/check_cycles.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\check_cycles.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/check_cycles.cpp.obj -c ../source_subfolder/sources/ade/source/check_cycles.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[10/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/alloc.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/alloc.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/alloc.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\alloc.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/alloc.cpp.obj -c ../source_subfolder/sources/ade/source/alloc.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[11/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_view.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_view.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_view.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\memory_descriptor_view.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/memory_descriptor_view.cpp.obj -c ../source_subfolder/sources/ade/source/memory_descriptor_view.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_1: error: no such file or directory: '/DynamicBase'
[12/18] Building CXX object source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metadata.cpp.obj
FAILED: source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metadata.cpp.obj
C:\PROGRA
1\LLVM\bin\CLANG_~1.EXE -I../source_subfolder/sources/ade/include -m64 -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt /GS /DynamicBase -std=gnu++14 -MD -MT source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metadata.cpp.obj -MF source_subfolder\sources\ade\CMakeFiles\ade.dir\source\metadata.cpp.obj.d -o source_subfolder/sources/ade/CMakeFiles/ade.dir/source/metadata.cpp.obj -c ../source_subfolder/sources/ade/source/metadata.cpp
CLANG_~1: error: no such file or directory: '/GS'
CLANG_~1: error: no such file or directory: '/DynamicBase'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.