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
4842f48c
Commit
4842f48c
authored
Feb 09, 2021
by
Laurențiu Nicola
Browse files
Merge branch 'rm-systemcheckup' into 'develop'
ENH: Remove SystemCheckup Closes #1740 See merge request
orfeotoolbox/otb!785
parents
c7b181b4
53798004
Pipeline
#6782
passed with stage
in 10 minutes and 59 seconds
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
SuperBuild/CMake/SystemCheckup/CMakeLists.txt
deleted
100644 → 0
View file @
c7b181b4
#
# 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 @
4842f48c
...
...
@@ -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