Skip to content
Snippets Groups Projects
Commit 5f3cf54b authored by Cyril Moineau's avatar Cyril Moineau Committed by Maxence Naud
Browse files

Update backend_cuda with aidge_core!277

parent b404f66e
No related branches found
No related tags found
1 merge request!27[Upd] version 0.1.4 -> 0.1.5
# C++ Build
build*/
install*/
include/aidge/backend/opencv_version.h
# VSCode
.vscode
......
......@@ -3,6 +3,21 @@ set(CXX_STANDARD 14)
file(STRINGS "${CMAKE_SOURCE_DIR}/version.txt" version)
# Parse version.txt to retrieve Major, Minor and Path
string(REGEX MATCH "([0-9]+\\.[0-9]+\\.[0-9]+)" _ MATCHES ${version})
set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2})
set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3})
# Retrieve latest git commit
execute_process(
COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
project(aidge_backend_opencv
VERSION ${version}
DESCRIPTION "Opencv implementations of the operators and tensor of aidge framework"
......@@ -10,8 +25,9 @@ project(aidge_backend_opencv
message(STATUS "Project name: ${CMAKE_PROJECT_NAME}")
message(STATUS "Project version: ${version}")
message(STATUS "Latest git commit: ${GIT_COMMIT_HASH}")
# Note : project name is {project} and python module name is also {project}
# Note : project name is {project} and python module name is also {project}
set(module_name _${CMAKE_PROJECT_NAME}) # target name
##############################################
......@@ -113,13 +129,19 @@ install(TARGETS ${module_name} EXPORT ${CMAKE_PROJECT_NAME}-targets
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
#Export the targets to a script
message(STATUS "Creating ${CMAKE_CURRENT_SOURCE_DIR}/include/aidge/backend/opencv_version.h")
# Generate version.h file from config file version.h.in
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/include/aidge/backend/version.h.in"
"${CMAKE_CURRENT_SOURCE_DIR}/include/aidge/backend/opencv_version.h"
)
#Export the targets to a script
install(EXPORT ${CMAKE_PROJECT_NAME}-targets
FILE "${CMAKE_PROJECT_NAME}-targets.cmake"
DESTINATION ${INSTALL_CONFIGDIR}
COMPONENT ${module_name}
)
COMPONENT ${module_name}
)
#Create a ConfigVersion.cmake file
include(CMakePackageConfigHelpers)
......
# Example 1: import .so generated by PyBind
import aidge_core
from aidge_backend_opencv.aidge_backend_opencv import *
from aidge_backend_opencv.aidge_backend_opencv import * # import so generated by PyBind
......@@ -12,10 +12,13 @@
#ifndef AIDGE_OPENCV_OPENCV_H_
#define AIDGE_OPENCV_OPENCV_H_
#include "aidge/backend/opencv_version.h"
#include "aidge/backend/opencv/data/DataUtils.hpp"
#include "aidge/backend/opencv/data/TensorImpl.hpp"
#include "aidge/backend/opencv/database/MNIST.hpp"
#include "aidge/backend/opencv/stimuli/StimulusImpl_opencv_imread.hpp"
#include "aidge/backend/opencv/utils/Utils.hpp"
#endif /* AIDGE_OPENCV_OPENCV_H_ */
\ No newline at end of file
#endif /* AIDGE_OPENCV_OPENCV_H_ */
#ifndef VERSION_H
#define VERSION_H
namespace Aidge {
static constexpr const int PROJECT_VERSION_MAJOR = @PROJECT_VERSION_MAJOR@;
static constexpr const int PROJECT_VERSION_MINOR = @PROJECT_VERSION_MINOR@;
static constexpr const int PROJECT_VERSION_PATCH = @PROJECT_VERSION_PATCH@;
static constexpr const char * PROJECT_VERSION = "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@";
static constexpr const char * PROJECT_GIT_HASH = "@GIT_COMMIT_HASH@";
}
#endif // VERSION_H
#ifndef AIDGE_UTILS_SYS_INFO_OPENCV_VERSION_INFO_H
#define AIDGE_UTILS_SYS_INFO_OPENCV_VERSION_INFO_H
#include "aidge/utils/Log.hpp"
#include "aidge/backend/opencv_version.h"
namespace Aidge {
constexpr inline const char * getBackendOpencvProjectVersion(){
return PROJECT_VERSION;
}
constexpr inline const char * getBackendOpencvGitHash(){
return PROJECT_GIT_HASH;
}
void showBackendOpencvVersion() {
Log::info("Aidge backend OpenCV: {} ({}), {} {}", getBackendOpencvProjectVersion(), getBackendOpencvGitHash(), __DATE__, __TIME__);
// Compiler version
#if defined(__clang__)
/* Clang/LLVM. ---------------------------------------------- */
Log::info("Clang/LLVM compiler version: {}.{}.{}\n", __clang_major__ , __clang_minor__, __clang_patchlevel__);
#elif defined(__ICC) || defined(__INTEL_COMPILER)
/* Intel ICC/ICPC. ------------------------------------------ */
Log::info("Intel ICC/ICPC compiler version: {}\n", __INTEL_COMPILER);
#elif defined(__GNUC__) || defined(__GNUG__)
/* GNU GCC/G++. --------------------------------------------- */
Log::info("GNU GCC/G++ compiler version: {}.{}.{}", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
#elif defined(_MSC_VER)
/* Microsoft Visual Studio. --------------------------------- */
Log::info("Microsoft Visual Studio compiler version: {}\n", _MSC_VER);
#else
Log::info("Unknown compiler\n");
#endif
}
} // namespace Aidge
#endif // AIDGE_UTILS_SYS_INFO_OPENCV_VERSION_INFO_H
......@@ -5,21 +5,28 @@ dependencies = [
"numpy>=1.21.6",
]
requires-python = ">= 3.7"
dynamic = ["version"] # defined in tool.setuptools_scm
dynamic = ["version"] # defined by pbr
readme = "README.md"
license = { file = "LICENSE" }
classifiers = [
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"Programming Language :: Python :: 3"
]
[project.urls]
Homepage = "https://www.deepgreen.ai/en/platform"
Documentation = "https://eclipse-aidge.readthedocs.io/en/latest/"
Repository = "https://gitlab.eclipse.org/eclipse/aidge/aidge_backend_opencv"
Issues = "https://gitlab.eclipse.org/eclipse/aidge/aidge_backend_opencv/-/issues/"
Changelog = "https://gitlab.eclipse.org/eclipse/aidge/aidge_backend_opencv/-/releases"
[build-system]
requires = [
"setuptools>=64",
"setuptools_scm[toml]==7.1.0",
"cmake>=3.15.3.post1",
"toml",
"opencv-python>=4.9.0.80",
"pbr"
]
build-backend = "setuptools.build_meta"
......@@ -31,9 +38,7 @@ where = ["."] # list of folders that contain the packages (["."] by default)
include = ["aidge_backend_opencv*"] # package names should match these glob patterns (["*"] by default)
exclude = ["aidge_backend_opencv.unit_tests*"] # exclude packages matching these glob patterns (empty by default)
namespaces = false # to disable scanning PEP 420 namespaces (true by default)
# SETUPTOOLS_SCM
[tool.setuptools_scm]
write_to = "aidge_backend_opencv/_version.py"
#####################################################
# CIBUILDWHEEL
......
#include <pybind11/pybind11.h>
// Need to call this header to register tensorImpl when initializing opencv python module
#include "aidge/backend/opencv.hpp"
#include "aidge/backend/opencv.hpp"
namespace py = pybind11;
namespace Aidge {
void init_MNIST(py::module&);
void init_OpencvVersionInfo(py::module&);
PYBIND11_MODULE(aidge_backend_opencv, m) {
init_MNIST(m);
init_OpencvVersionInfo(m);
}
}
#include <pybind11/pybind11.h>
#include "aidge/utils/sys_info/OpencvVersionInfo.hpp"
namespace py = pybind11;
namespace Aidge {
void init_OpencvVersionInfo(py::module& m){
m.def("show_version", &showBackendOpencvVersion);
m.def("get_project_version", &getBackendOpencvProjectVersion);
m.def("get_git_hash", &getBackendOpencvGitHash);
}
}
# pbr file
[metadata]
version = file: version.txt
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment