Update build.info and support native system on win
This commit is contained in:
parent
ee6d9f5a3b
commit
ac88a68ebc
|
@ -57,8 +57,12 @@ if(Boost_FOUND)
|
||||||
set(WITH_BOOST_FILESYSTEM true)
|
set(WITH_BOOST_FILESYSTEM true)
|
||||||
add_definitions(-DWITH_FILESYSTEM)
|
add_definitions(-DWITH_FILESYSTEM)
|
||||||
add_definitions(-DWITH_BOOST_FILESYSTEM)
|
add_definitions(-DWITH_BOOST_FILESYSTEM)
|
||||||
message(STATUS "Found boost filesystem: ${Boost_VERSION}")
|
message(STATUS "With boost filesystem: ${Boost_VERSION}")
|
||||||
#message(STATUS " Boost_LIBRARIES: ${Boost_LIBRARIES}")
|
#message(STATUS " Boost_LIBRARIES: ${Boost_LIBRARIES}")
|
||||||
|
elseif(OS_WIN)
|
||||||
|
add_definitions(-DWITH_FILESYSTEM)
|
||||||
|
add_definitions(-DWITH_NATIVE_FILESYSTEM)
|
||||||
|
message(STATUS "With native filesystem")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
LIST(APPEND CMAKE_MODULE_PATH cmake)
|
LIST(APPEND CMAKE_MODULE_PATH cmake)
|
||||||
|
@ -72,8 +76,13 @@ set(MYNTEYE_NAME ${PROJECT_NAME})
|
||||||
set(MYNTEYE_NAMESPACE "mynteye")
|
set(MYNTEYE_NAMESPACE "mynteye")
|
||||||
message(STATUS "Namespace: ${MYNTEYE_NAMESPACE}")
|
message(STATUS "Namespace: ${MYNTEYE_NAMESPACE}")
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
string(REPLACE "/" "\\\\" MYNTEYE_SDK_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
string(REPLACE "/" "\\\\" MYNTEYE_SDK_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
else()
|
||||||
file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" MYNTEYE_SDK_ROOT_DIR)
|
file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" MYNTEYE_SDK_ROOT_DIR)
|
||||||
file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}" MYNTEYE_SDK_INSTALL_DIR)
|
file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}" MYNTEYE_SDK_INSTALL_DIR)
|
||||||
|
endif()
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
include/mynteye/mynteye.h.in
|
include/mynteye/mynteye.h.in
|
||||||
|
@ -243,7 +252,7 @@ install(EXPORT ${MYNTEYE_NAME}-targets
|
||||||
DESTINATION ${MYNTEYE_CMAKE_INSTALLDIR}
|
DESTINATION ${MYNTEYE_CMAKE_INSTALLDIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
find_package(CUDA QUIET)
|
## build.info
|
||||||
|
|
||||||
macro(set_default_value VARIABLE DEFAULT)
|
macro(set_default_value VARIABLE DEFAULT)
|
||||||
if(NOT ${VARIABLE})
|
if(NOT ${VARIABLE})
|
||||||
|
@ -251,8 +260,18 @@ macro(set_default_value VARIABLE DEFAULT)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
set_default_value(GCC_VERSION_MAJOR 0)
|
string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION})
|
||||||
set_default_value(GCC_VERSION_MINOR 0)
|
list(GET VERSION_LIST 0 CXX_COMPILER_VERSION_MAJOR)
|
||||||
|
list(GET VERSION_LIST 1 CXX_COMPILER_VERSION_MINOR)
|
||||||
|
list(GET VERSION_LIST 2 CXX_COMPILER_VERSION_PATCH)
|
||||||
|
list(GET VERSION_LIST 3 CXX_COMPILER_VERSION_TWEAK)
|
||||||
|
|
||||||
|
find_package(CUDA QUIET)
|
||||||
|
|
||||||
|
set_default_value(CXX_COMPILER_VERSION_MAJOR 0)
|
||||||
|
set_default_value(CXX_COMPILER_VERSION_MINOR 0)
|
||||||
|
set_default_value(CXX_COMPILER_VERSION_PATCH 0)
|
||||||
|
set_default_value(CXX_COMPILER_VERSION_TWEAK 0)
|
||||||
set_default_value(CUDA_VERSION_MAJOR 0)
|
set_default_value(CUDA_VERSION_MAJOR 0)
|
||||||
set_default_value(CUDA_VERSION_MINOR 0)
|
set_default_value(CUDA_VERSION_MINOR 0)
|
||||||
set_default_value(OpenCV_VERSION_MAJOR 0)
|
set_default_value(OpenCV_VERSION_MAJOR 0)
|
||||||
|
|
|
@ -50,15 +50,10 @@ include(${CMAKE_CURRENT_LIST_DIR}/TargetArch.cmake)
|
||||||
target_architecture(HOST_ARCH)
|
target_architecture(HOST_ARCH)
|
||||||
message(STATUS "HOST_ARCH: ${HOST_ARCH}")
|
message(STATUS "HOST_ARCH: ${HOST_ARCH}")
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
# CMAKE_CXX_COMPILER_ID
|
||||||
execute_process(COMMAND gcc -dumpversion COMMAND cut -c 1-3 COMMAND tr -d '\n' OUTPUT_VARIABLE GCC_VERSION)
|
# https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
|
||||||
string(REGEX MATCHALL "[0-9]+" GCC_VERSION_COMPONMENTS ${GCC_VERSION})
|
# CMAKE_CXX_COMPILER_VERSION
|
||||||
list(GET GCC_VERSION_COMPONMENTS 0 GCC_VERSION_MAJOR)
|
# https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_VERSION.html
|
||||||
list(GET GCC_VERSION_COMPONMENTS 1 GCC_VERSION_MINOR)
|
|
||||||
message(STATUS "GCC_VERSION: ${GCC_VERSION}")
|
|
||||||
#message(STATUS "GCC_VERSION_MAJOR: ${GCC_VERSION_MAJOR}")
|
|
||||||
#message(STATUS "GCC_VERSION_MINOR: ${GCC_VERSION_MINOR}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# set_outdir(ARCHIVE_OUTPUT_DIRECTORY
|
# set_outdir(ARCHIVE_OUTPUT_DIRECTORY
|
||||||
# LIBRARY_OUTPUT_DIRECTORY
|
# LIBRARY_OUTPUT_DIRECTORY
|
||||||
|
|
|
@ -3,9 +3,12 @@
|
||||||
HOST_OS: "@HOST_OS@"
|
HOST_OS: "@HOST_OS@"
|
||||||
HOST_NAME: "@HOST_NAME@"
|
HOST_NAME: "@HOST_NAME@"
|
||||||
HOST_ARCH: "@HOST_ARCH@"
|
HOST_ARCH: "@HOST_ARCH@"
|
||||||
GCC_VERSION: "@GCC_VERSION@"
|
HOST_COMPILER: "@CMAKE_CXX_COMPILER_ID@"
|
||||||
GCC_VERSION_MAJOR: @GCC_VERSION_MAJOR@
|
COMPILER_VERSION: "@CMAKE_CXX_COMPILER_VERSION@"
|
||||||
GCC_VERSION_MINOR: @GCC_VERSION_MINOR@
|
COMPILER_VERSION_MAJOR: @CXX_COMPILER_VERSION_MAJOR@
|
||||||
|
COMPILER_VERSION_MINOR: @CXX_COMPILER_VERSION_MINOR@
|
||||||
|
COMPILER_VERSION_PATCH: @CXX_COMPILER_VERSION_PATCH@
|
||||||
|
COMPILER_VERSION_TWEAK: @CXX_COMPILER_VERSION_TWEAK@
|
||||||
CUDA_VERSION: "@CUDA_VERSION@"
|
CUDA_VERSION: "@CUDA_VERSION@"
|
||||||
CUDA_VERSION_MAJOR: @CUDA_VERSION_MAJOR@
|
CUDA_VERSION_MAJOR: @CUDA_VERSION_MAJOR@
|
||||||
CUDA_VERSION_MINOR: @CUDA_VERSION_MINOR@
|
CUDA_VERSION_MINOR: @CUDA_VERSION_MINOR@
|
||||||
|
|
|
@ -31,13 +31,19 @@
|
||||||
#include "device/device.h"
|
#include "device/device.h"
|
||||||
#include "internal/dl.h"
|
#include "internal/dl.h"
|
||||||
|
|
||||||
|
#if defined(WITH_FILESYSTEM) && defined(WITH_NATIVE_FILESYSTEM)
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
MYNTEYE_BEGIN_NAMESPACE
|
MYNTEYE_BEGIN_NAMESPACE
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
#ifdef WITH_FILESYSTEM
|
#if defined(WITH_FILESYSTEM)
|
||||||
|
|
||||||
#ifdef WITH_BOOST_FILESYSTEM
|
#if defined(WITH_BOOST_FILESYSTEM)
|
||||||
|
|
||||||
namespace fs = boost::filesystem;
|
namespace fs = boost::filesystem;
|
||||||
|
|
||||||
|
@ -61,6 +67,24 @@ bool dir_exists(const fs::path &p) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined(WITH_NATIVE_FILESYSTEM)
|
||||||
|
|
||||||
|
#if defined(OS_WIN)
|
||||||
|
|
||||||
|
bool file_exists(const std::string &p) {
|
||||||
|
DWORD attrs = GetFileAttributes(p.c_str());
|
||||||
|
return (attrs != INVALID_FILE_ATTRIBUTES && !(attrs & FILE_ATTRIBUTE_DIRECTORY));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool dir_exists(const std::string &p) {
|
||||||
|
DWORD attrs = GetFileAttributes(p.c_str());
|
||||||
|
return (attrs != INVALID_FILE_ATTRIBUTES && (attrs & FILE_ATTRIBUTE_DIRECTORY));
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "Unsupported native filesystem"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::vector<std::string> get_plugin_paths() {
|
std::vector<std::string> get_plugin_paths() {
|
||||||
|
@ -69,7 +93,7 @@ std::vector<std::string> get_plugin_paths() {
|
||||||
|
|
||||||
cv::FileStorage fs(info_path, cv::FileStorage::READ);
|
cv::FileStorage fs(info_path, cv::FileStorage::READ);
|
||||||
if (!fs.isOpened()) {
|
if (!fs.isOpened()) {
|
||||||
// LOG(ERROR) << "build.info not found";
|
LOG(WARNING) << "build.info not found: " << info_path;
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,19 +107,27 @@ std::vector<std::string> get_plugin_paths() {
|
||||||
to_lower(host_name);
|
to_lower(host_name);
|
||||||
std::string host_arch = fs["HOST_ARCH"];
|
std::string host_arch = fs["HOST_ARCH"];
|
||||||
to_lower(host_arch);
|
to_lower(host_arch);
|
||||||
// std::string gcc_version = fs["GCC_VERSION"];
|
std::string host_compiler = fs["HOST_COMPILER"];
|
||||||
int gcc_version_major = fs["GCC_VERSION_MAJOR"];
|
to_lower(host_compiler);
|
||||||
// int gcc_version_minor = fs["GCC_VERSION_MINOR"];
|
|
||||||
|
// std::string compiler_version = fs["COMPILER_VERSION"];
|
||||||
|
int compiler_version_major = fs["COMPILER_VERSION_MAJOR"];
|
||||||
|
// int compiler_version_minor = fs["COMPILER_VERSION_MINOR"];
|
||||||
|
// int compiler_version_patch = fs["COMPILER_VERSION_PATCH"];
|
||||||
|
// int compiler_version_tweak = fs["COMPILER_VERSION_TWEAK"];
|
||||||
|
|
||||||
std::string cuda_version = fs["CUDA_VERSION"];
|
std::string cuda_version = fs["CUDA_VERSION"];
|
||||||
// int cuda_version_major = fs["CUDA_VERSION_MAJOR"];
|
// int cuda_version_major = fs["CUDA_VERSION_MAJOR"];
|
||||||
// int cuda_version_minor = fs["CUDA_VERSION_MINOR"];
|
// int cuda_version_minor = fs["CUDA_VERSION_MINOR"];
|
||||||
// std::string cuda_version_string = fs["CUDA_VERSION_STRING"];
|
// std::string cuda_version_string = fs["CUDA_VERSION_STRING"];
|
||||||
|
|
||||||
std::string opencv_version = fs["OpenCV_VERSION"];
|
std::string opencv_version = fs["OpenCV_VERSION"];
|
||||||
// int opencv_version_major = fs["OpenCV_VERSION_MAJOR"];
|
// int opencv_version_major = fs["OpenCV_VERSION_MAJOR"];
|
||||||
// int opencv_version_minor = fs["OpenCV_VERSION_MINOR"];
|
// int opencv_version_minor = fs["OpenCV_VERSION_MINOR"];
|
||||||
// int opencv_version_patch = fs["OpenCV_VERSION_PATCH"];
|
// int opencv_version_patch = fs["OpenCV_VERSION_PATCH"];
|
||||||
// int opencv_version_tweak = fs["OpenCV_VERSION_TWEAK"];
|
// int opencv_version_tweak = fs["OpenCV_VERSION_TWEAK"];
|
||||||
// std::string opencv_version_status = fs["OpenCV_VERSION_STATUS"];
|
// std::string opencv_version_status = fs["OpenCV_VERSION_STATUS"];
|
||||||
|
|
||||||
std::string mynteye_version = fs["MYNTEYE_VERSION"];
|
std::string mynteye_version = fs["MYNTEYE_VERSION"];
|
||||||
// int mynteye_version_major = fs["MYNTEYE_VERSION_MAJOR"];
|
// int mynteye_version_major = fs["MYNTEYE_VERSION_MAJOR"];
|
||||||
// int mynteye_version_minor = fs["MYNTEYE_VERSION_MINOR"];
|
// int mynteye_version_minor = fs["MYNTEYE_VERSION_MINOR"];
|
||||||
|
@ -107,7 +139,7 @@ std::vector<std::string> get_plugin_paths() {
|
||||||
std::string lib_prefix;
|
std::string lib_prefix;
|
||||||
std::string lib_suffix;
|
std::string lib_suffix;
|
||||||
if (host_os == "linux") {
|
if (host_os == "linux") {
|
||||||
if (gcc_version_major < 5)
|
if (host_compiler != "gnu" || compiler_version_major < 5)
|
||||||
return {};
|
return {};
|
||||||
lib_prefix = "lib";
|
lib_prefix = "lib";
|
||||||
lib_suffix = ".so";
|
lib_suffix = ".so";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user