Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Main Repositories
otb
Commits
53798004
Commit
53798004
authored
Feb 09, 2021
by
Laurențiu Nicola
Browse files
ENH: Remove SystemCheckup
parent
7ac7f7e8
Pipeline
#6764
passed with stages
in 107 minutes and 28 seconds
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
SuperBuild/CMake/SystemCheckup/CMakeLists.txt
deleted
100644 → 0
View file @
7ac7f7e8
#
# Copyright (C) 2005-2020 Centre National d'Etudes Spatiales (CNES)
#
# This file is part of Orfeo Toolbox
#
# https://www.orfeo-toolbox.org/
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Script to analyse the OTB dependencies already present
cmake_minimum_required
(
VERSION 3.10.2
)
project
(
SystemCheckup
)
if
(
EXISTS
${
CMAKE_SOURCE_DIR
}
/../../../CMake
)
set
(
CMAKE_MODULE_PATH
${
CMAKE_SOURCE_DIR
}
/../../../CMake
${
CMAKE_MODULE_PATH
}
)
endif
()
# macro to encapsulate a find_package(XXX QUIET)
# output variables are :
# _SB_CHECKUP_XXX_FOUND : lib is found ?
# _SB_CHECKUP_XXX_VERSION : version found
# _SB_CHECKUP_XXX_NAME : name found
macro
(
SB_CHECKUP_FIND_PACKAGE var
)
find_package
(
${
var
}
QUIET
)
string
(
TOUPPER
${
var
}
_uppervar
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION NOTFOUND
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_FOUND FALSE
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_NAME NOTFOUND
)
if
(
${
_uppervar
}
_FOUND
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_FOUND TRUE
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_NAME
${
_uppervar
}
)
elseif
(
${
var
}
_FOUND
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_FOUND TRUE
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_NAME
${
var
}
)
endif
()
if
(
_SB_CHECKUP_
${
_uppervar
}
_FOUND
)
set
(
_var_name
${
_SB_CHECKUP_
${
_uppervar
}
_NAME
}
)
if
(
DEFINED
${
_var_name
}
_VERSION
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION
${${
_var_name
}
_VERSION
}
)
elseif
(
DEFINED
${
_var_name
}
_VERSION_STRING
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION
${${
_var_name
}
_VERSION_STRING
}
)
elseif
(
DEFINED
${
_var_name
}
_VERSION_MAJOR AND DEFINED
${
_var_name
}
_VERSION_MINOR AND DEFINED
${
_var_name
}
_VERSION_PATCH
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION
"
${${
_var_name
}
_VERSION_MAJOR
}
.
${${
_var_name
}
_VERSION_MINOR
}
.
${${
_var_name
}
_VERSION_PATCH
}
"
)
elseif
(
DEFINED
${
_var_name
}
_MAJOR_VERSION AND DEFINED
${
_var_name
}
_MINOR_VERSION AND DEFINED
${
_var_name
}
_BUILD_VERSION
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION
"
${${
_var_name
}
_MAJOR_VERSION
}
.
${${
_var_name
}
_MINOR_VERSION
}
.
${${
_var_name
}
_BUILD_VERSION
}
"
)
endif
()
# fix incomplete version numbers -> add trailing '.0'
if
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION MATCHES
"^[0-9]+
\\
.[0-9]+
\$
"
)
set
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION
"
${
_SB_CHECKUP_
${
_uppervar
}
_VERSION
}
.0"
)
endif
()
# fix version numbers with 4 components -> keep first 3 components
if
(
_SB_CHECKUP_
${
_uppervar
}
_VERSION MATCHES
"^[0-9]+
\\
.[0-9]+
\\
.[0-9]+
\\
.[0-9]+
\$
"
)
set
(
_tmp_ver_num_
${
_SB_CHECKUP_
${
_uppervar
}
_VERSION
}
)
string
(
REGEX REPLACE
"^([0-9]+
\\
.[0-9]+
\\
.[0-9]+)
\\
.[0-9]+
\$
"
"
\\
1"
_SB_CHECKUP_
${
_uppervar
}
_VERSION
${
_tmp_ver_num_
}
)
endif
()
endif
()
endmacro
(
SB_CHECKUP_FIND_PACKAGE
)
macro
(
SB_CHECKUP_SPLIT_VERSION var
)
string
(
TOUPPER
${
var
}
_upperlib
)
if
(
_SB_CHECKUP_
${
_upperlib
}
_VERSION
)
string
(
REGEX REPLACE
"([0-9]+)
\\
.([0-9]+)
\\
.([0-9]+)"
"
\\
1"
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MAJOR
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION
}
)
string
(
REGEX REPLACE
"([0-9]+)
\\
.([0-9]+)
\\
.([0-9]+)"
"
\\
2"
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MINOR
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION
}
)
string
(
REGEX REPLACE
"([0-9]+)
\\
.([0-9]+)
\\
.([0-9]+)"
"
\\
3"
_SB_CHECKUP_
${
_upperlib
}
_VERSION_PATCH
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION
}
)
math
(
EXPR _SB_CHECKUP_
${
_upperlib
}
_VERSION_NUMBER
"((
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MAJOR
}
)*100+
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MINOR
}
)*100+
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_PATCH
}
"
)
endif
()
endmacro
(
SB_CHECKUP_SPLIT_VERSION
)
macro
(
SB_CHECKUP_FIND_VERSIONS lib header major_name minor_name patch_name
)
string
(
TOUPPER
${
lib
}
_upperlib
)
if
(
_SB_CHECKUP_
${
_upperlib
}
_FOUND
)
foreach
(
inc_path
${${
_upperlib
}
_INCLUDE_DIRS
}
)
if
(
EXISTS
"
${
inc_path
}
/
${
header
}
"
)
unset
(
_header_content
)
set
(
_major_regex
".*# *define +
${
major_name
}
+([0-9]+).*"
)
set
(
_minor_regex
".*# *define +
${
minor_name
}
+([0-9]+).*"
)
set
(
_patch_regex
".*# *define +
${
patch_name
}
+([0-9]+).*"
)
file
(
READ
"
${
inc_path
}
/
${
header
}
"
_header_content
)
string
(
REGEX REPLACE
${
_major_regex
}
"
\\
1"
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MAJOR
${
_header_content
}
)
string
(
REGEX REPLACE
${
_minor_regex
}
"
\\
1"
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MINOR
${
_header_content
}
)
string
(
REGEX REPLACE
${
_patch_regex
}
"
\\
1"
_SB_CHECKUP_
${
_upperlib
}
_VERSION_PATCH
${
_header_content
}
)
math
(
EXPR _SB_CHECKUP_
${
_upperlib
}
_VERSION_NUMBER
"((
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MAJOR
}
)*100+
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MINOR
}
)*100+
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_PATCH
}
"
)
set
(
_SB_CHECKUP_
${
_upperlib
}
_VERSION
"
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MAJOR
}
.
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_MINOR
}
.
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION_PATCH
}
"
)
break
()
endif
()
endforeach
()
endif
()
endmacro
(
SB_CHECKUP_FIND_VERSIONS
)
macro
(
SB_CHECKUP_WRITE_RESULT lib
)
string
(
TOUPPER
${
lib
}
_upperlib
)
if
(
_SB_CHECKUP_
${
_upperlib
}
_FOUND
)
if
(
${
_SB_CHECKUP_
${
_upperlib
}
_NAME
}
_DIR
)
set
(
_OUTPUT_LOCATION
${${
_SB_CHECKUP_
${
_upperlib
}
_NAME
}
_DIR
}
)
elseif
(
${
lib
}
_DIR
)
set
(
_OUTPUT_LOCATION
${${
lib
}
_DIR
}
)
elseif
(
${
_SB_CHECKUP_
${
_upperlib
}
_NAME
}
_LIBRARY
)
set
(
_OUTPUT_LOCATION
${${
_SB_CHECKUP_
${
_upperlib
}
_NAME
}
_LIBRARY
}
)
elseif
(
${
_SB_CHECKUP_
${
_upperlib
}
_NAME
}
_LIBRARIES
)
set
(
_OUTPUT_LOCATION
${${
_SB_CHECKUP_
${
_upperlib
}
_NAME
}
_LIBRARIES
}
)
elseif
(
${
lib
}
_LIBRARIES
)
set
(
_OUTPUT_LOCATION
${${
lib
}
_LIBRARIES
}
)
else
()
set
(
_OUTPUT_LOCATION
"(unknown)"
)
endif
()
file
(
APPEND
"
${
CMAKE_BINARY_DIR
}
/SystemCheckupResult.txt"
"
${
lib
}
\t
(
${
_SB_CHECKUP_
${
_upperlib
}
_VERSION
}
)
\t
:
${
_OUTPUT_LOCATION
}
\n
"
)
endif
()
endmacro
(
SB_CHECKUP_WRITE_RESULT
)
# TODO clear output file
file
(
WRITE
"
${
CMAKE_BINARY_DIR
}
/SystemCheckupResult.txt"
""
)
# Boost
SB_CHECKUP_FIND_PACKAGE
(
Boost
)
if
(
_SB_CHECKUP_BOOST_VERSION MATCHES
"^[0-9]+
\$
"
)
set
(
_SB_CHECKUP_BOOST_VERSION_NUMBER
${
_SB_CHECKUP_BOOST_VERSION
}
)
math
(
EXPR _SB_CHECKUP_BOOST_VERSION_PATCH
"(
${
_SB_CHECKUP_BOOST_VERSION_NUMBER
}
)%100"
)
math
(
EXPR _SB_CHECKUP_BOOST_VERSION_MINOR
"((
${
_SB_CHECKUP_BOOST_VERSION_NUMBER
}
)/100)%1000"
)
math
(
EXPR _SB_CHECKUP_BOOST_VERSION_MAJOR
"(
${
_SB_CHECKUP_BOOST_VERSION_NUMBER
}
)/100000"
)
set
(
_SB_CHECKUP_BOOST_VERSION
"
${
_SB_CHECKUP_BOOST_VERSION_MAJOR
}
.
${
_SB_CHECKUP_BOOST_VERSION_MINOR
}
.
${
_SB_CHECKUP_BOOST_VERSION_PATCH
}
"
)
endif
()
SB_CHECKUP_WRITE_RESULT
(
Boost
)
# Curl
SB_CHECKUP_FIND_PACKAGE
(
CURL
)
SB_CHECKUP_SPLIT_VERSION
(
CURL
)
SB_CHECKUP_WRITE_RESULT
(
CURL
)
# GDAL
SB_CHECKUP_FIND_PACKAGE
(
GDAL
)
if
(
NOT _SB_CHECKUP_GDAL_VERSION
)
SB_CHECKUP_FIND_VERSIONS
(
GDAL
gdal_version.h
GDAL_VERSION_MAJOR
GDAL_VERSION_MINOR
GDAL_VERSION_REV
)
endif
()
SB_CHECKUP_WRITE_RESULT
(
GDAL
)
# GeoTIFF
SB_CHECKUP_FIND_PACKAGE
(
GeoTIFF
)
SB_CHECKUP_WRITE_RESULT
(
GeoTIFF
)
# ITK
SB_CHECKUP_FIND_PACKAGE
(
ITK
)
SB_CHECKUP_WRITE_RESULT
(
ITK
)
# libkml
SB_CHECKUP_FIND_PACKAGE
(
LibKML
)
if
(
NOT _SB_CHECKUP_LIBKML_VERSION
)
SB_CHECKUP_FIND_VERSIONS
(
LibKML
kml/base/version.h
LIBKML_MAJOR_VERSION
LIBKML_MINOR_VERSION
LIBKML_MICRO_VERSION
)
endif
()
SB_CHECKUP_WRITE_RESULT
(
LibKML
)
# LibSVM
SB_CHECKUP_FIND_PACKAGE
(
LibSVM
)
SB_CHECKUP_SPLIT_VERSION
(
LibSVM
)
SB_CHECKUP_WRITE_RESULT
(
LibSVM
)
# muParser
SB_CHECKUP_FIND_PACKAGE
(
MuParser
)
SB_CHECKUP_WRITE_RESULT
(
MuParser
)
# muParserX
SB_CHECKUP_FIND_PACKAGE
(
MuParserX
)
SB_CHECKUP_WRITE_RESULT
(
MuParserX
)
# OpenCV
SB_CHECKUP_FIND_PACKAGE
(
OpenCV
)
SB_CHECKUP_SPLIT_VERSION
(
OpenCV
)
SB_CHECKUP_WRITE_RESULT
(
OpenCV
)
# OpenJPEG
SB_CHECKUP_FIND_PACKAGE
(
OpenJPEG
)
if
(
NOT _SB_CHECKUP_OPENJPEG_VERSION
)
SB_CHECKUP_FIND_VERSIONS
(
OpenJPEG
opj_config.h
OPJ_VERSION_MAJOR
OPJ_VERSION_MINOR
OPJ_VERSION_BUILD
)
endif
()
SB_CHECKUP_WRITE_RESULT
(
OpenJPEG
)
# OpenThreads
SB_CHECKUP_FIND_PACKAGE
(
OpenThreads
)
SB_CHECKUP_WRITE_RESULT
(
OpenThreads
)
# OSSIM
SB_CHECKUP_FIND_PACKAGE
(
Ossim
)
SB_CHECKUP_WRITE_RESULT
(
Ossim
)
# PNG
SB_CHECKUP_FIND_PACKAGE
(
PNG
)
SB_CHECKUP_WRITE_RESULT
(
PNG
)
# Qt5
SB_CHECKUP_FIND_PACKAGE
(
Qt5
)
if
(
_SB_CHECKUP_QT5_FOUND
)
set
(
_SB_CHECKUP_QT5_VERSION
"
${
QT_VERSION_MAJOR
}
.
${
QT_VERSION_MINOR
}
.
${
QT_VERSION_PATCH
}
"
)
SB_CHECKUP_SPLIT_VERSION
(
Qt5
)
endif
()
SB_CHECKUP_WRITE_RESULT
(
Qt5
)
# TinyXML
SB_CHECKUP_FIND_PACKAGE
(
TinyXML
)
SB_CHECKUP_WRITE_RESULT
(
TinyXML
)
SuperBuild/CMakeLists.txt
View file @
53798004
...
...
@@ -355,26 +355,6 @@ option(OTB_WRAP_PYTHON "Enable python wrappers for OTB applications (requires SW
configure_file
(
${
CMAKE_SOURCE_DIR
}
/CMake/CTestCustom.cmake.in
${
CMAKE_BINARY_DIR
}
/CTestCustom.cmake @ONLY
)
# do a system checkup
if
(
NOT EXISTS
"
${
CMAKE_BINARY_DIR
}
/CMake/SystemCheckup"
)
file
(
MAKE_DIRECTORY
"
${
CMAKE_BINARY_DIR
}
/CMake/SystemCheckup"
)
endif
()
execute_process
(
COMMAND
${
CMAKE_COMMAND
}
${
CMAKE_SOURCE_DIR
}
/CMake/SystemCheckup
WORKING_DIRECTORY
${
CMAKE_BINARY_DIR
}
/CMake/SystemCheckup
OUTPUT_QUIET
ERROR_QUIET
)
file
(
STRINGS
"
${
CMAKE_BINARY_DIR
}
/CMake/SystemCheckup/SystemCheckupResult.txt"
_SYSTEM_CHECKUP_CONTENT
)
message
(
STATUS
"|----------------------------------------------------------"
)
message
(
STATUS
"|----------------- System checkup results -----------------"
)
message
(
STATUS
"| The following libraries have been found on your system."
)
message
(
STATUS
"| You can choose to use them (instead of superbuild versions)"
)
message
(
STATUS
"| by setting the corresponding option USE_SYSTEM_XXX."
)
message
(
STATUS
"|----------------------------------------------------------"
)
foreach
(
lib
${
_SYSTEM_CHECKUP_CONTENT
}
)
message
(
STATUS
"|
${
lib
}
"
)
message
(
STATUS
"|----------------------------------------------------------"
)
endforeach
()
# Python
# This should set the following variables (and more):
# -PYTHON_EXECUTABLE
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment