...
 
Commits (669)
*.patch whitespace=-blank-at-eol,-space-before-tab -text
*.patch whitespace=-blank-at-eol,-space-before-tab,-blank-at-eof -text -crlf
cmake_minimum_required(VERSION 2.8.11)
if (POLICY CMP0025)
# Clang and AppleClang are now unique compiler ids
cmake_policy(SET CMP0025 NEW)
endif ()
cmake_minimum_required(VERSION 3.11.2)
project(cmb-superbuild)
list(INSERT CMAKE_MODULE_PATH 0
"${CMAKE_CURRENT_LIST_DIR}/cmake")
macro (superbuild_setup_variables)
include(SuperbuildVersionMacros)
superbuild_set_version_variables(cmb "4.0.0" "cmb-version.cmake")
if (cmb_SOURCE_SELECTION STREQUAL "git")
# Assuming master; just use the latest version, but let the user set their
# own version in case it is actually a branch from some other version.
set(CMB_VERSION_DEFAULT "6.0.0"
CACHE STRING "The default version of CMB to use if it cannot be detected")
mark_as_advanced(CMB_VERSION_DEFAULT)
set(cmb_default_version "${CMB_VERSION_DEFAULT}")
elseif (cmb_SOURCE_SELECTION STREQUAL "source")
# If it is a git repo, we'll get it that way. Otherwise, we will look at the
# `version.txt` in the checkout.
set(cmb_default_version "")
else ()
# The selection is the version number; use it.
set(cmb_default_version "${cmb_SOURCE_SELECTION}")
endif()
superbuild_set_version_variables(cmb "${cmb_default_version}" "cmb-version.cmake" "version.txt")
set(cmb_version "${cmb_version_major}.${cmb_version_minor}")
superbuild_set_version_variables(paraview "5.1.2" "paraview-version.cmake")
if (smtk_SOURCE_SELECTION STREQUAL "git" OR smtk_SOURCE_SELECTION STREQUAL "from_cmb")
# Assuming master; just use the latest version, but let the user set their
# own version in case it is actually a branch from some other version.
set(SMTK_VERSION_DEFAULT "3.0.0"
CACHE STRING "The default version of SMTK to use if it cannot be detected")
mark_as_advanced(SMTK_VERSION_DEFAULT)
set(smtk_default_version "${SMTK_VERSION_DEFAULT}")
elseif (smtk_SOURCE_SELECTION STREQUAL "source")
# If it is a git repo, we'll get it that way. Otherwise, we will look at the
# `version.txt` in the checkout.
set(smtk_default_version "")
else ()
# The selection is the version number; use it.
set(smtk_default_version "${smtk_SOURCE_SELECTION}")
endif()
superbuild_set_version_variables(smtk "${smtk_default_version}" "smtk-version.cmake" "version.txt")
set(smtk_version "${smtk_version_major}.${smtk_version_minor}")
superbuild_set_version_variables(paraview "5.6.0" "paraview-version.cmake" "version.txt")
set(paraview_version "${paraview_version_major}.${paraview_version_minor}")
superbuild_set_version_variables(vtk "8.1.0" "vtk-version.cmake")
set(vtk_version "${vtk_version_major}.${vtk_version_minor}")
endmacro ()
function (superbuild_find_projects var)
include(CMBSuperbuildMacros)
set(projects
boost
bzip2
cgm
cmb
cmbusersguide
cmbworkflows
cumulus
cxx11
eigen
fortran
freetype
ftgl
gdal
hdf5
kml
lapack
matplotlib
moab
netcdf
nlohmannjson
numpy
oce
opencv
opencvcontrib
paraview
paraviewweb
paraviewwebvisualizer
paraviewweblightviz
png
pyarc
pybind11
python
pythondiskcache
pythongirderclient
pythonrequests
pythonrequeststoolbelt
pythonsetuptools
pythonsix
qt
qt4
qt5
remus
shiboken
smtk
smtkusersguide
szip
vtk
vtkonly
vxl
zeromq
zlib)
......@@ -53,14 +104,23 @@ function (superbuild_find_projects var)
if (NOT WIN32)
list(APPEND projects
fontconfig
gperf
libxml2)
endif ()
if (WIN32)
list(APPEND projects
ftjam
pythonsetuptools)
pythonsetuptools
pywin32)
endif ()
if (NOT DEVELOPER_MODE_smtk)
list(APPEND projects
smtkresourcemanagerstate)
endif ()
# For now it's a convenient option to control smtk documentation
option(ENABLE_DOCUMENTATION "Enable smtk documentation" ON)
option(USE_NONFREE_COMPONENTS "Enable the non-free parts of the superbuild" OFF)
mark_as_advanced(USE_NONFREE_COMPONENTS)
......@@ -75,10 +135,22 @@ function (superbuild_find_projects var)
endfunction ()
function (superbuild_sanity_check)
if (vtkonly_enabled AND paraview_enabled)
message(FATAL_ERROR
"Only one of the following projects should be enabled: vtkonly, paraview.")
endif ()
if (NOT smtk_enabled AND NOT cmb_enabled)
message(FATAL_ERROR
"At least one of the following projects must be enabled: cmb, smtk.")
endif ()
if (smtk_enabled AND
smtk_SOURCE_SELECTION STREQUAL "from_cmb" AND
NOT DEVELOPER_MODE_smtk AND
(NOT cmb_enabled OR DEVELOPER_MODE_cmb))
message(WARNING
"SMTK cannot use CMB's SMTK submodule without CMB being enabled and built by the superbuild. Pulling SMTK from git instead")
set(smtk_SOURCE_SELECTION "git" CACHE STRING "smtk source selection" FORCE)
endif ()
endfunction ()
function (superbuild_add_packaging)
......@@ -97,18 +169,29 @@ function (superbuild_add_packaging)
TGZ)
endif ()
if (USE_SYSTEM_qt4)
if (qt5_built_by_superbuild)
set(Qt5_DIR "${superbuild_install_location}/lib/cmake/Qt5")
endif ()
if (USE_SYSTEM_qt5)
list(APPEND superbuild_export_variables
QT_LIBRARY_DIR)
Qt5_DIR)
endif ()
include(cmb.suffix)
list(APPEND superbuild_export_variables
CMB_PACKAGE_SUFFIX)
if (cmb_enabled)
set(CMB_PACKAGE_FILE_NAME ""
CACHE STRING "If set, overrides the generated filename for the package")
list(APPEND superbuild_export_variables
CMB_PACKAGE_FILE_NAME)
endif ()
foreach (generator IN LISTS generators)
superbuild_add_extra_package_test(modelbuilder "${generator}"
LABELS "CMB"
TIMEOUT 1200)
superbuild_add_extra_package_test(hydrology "${generator}"
LABELS "CMB"
TIMEOUT 1200)
TIMEOUT 6400)
endforeach ()
endfunction ()
......@@ -126,13 +209,35 @@ function (superbuild_add_tests)
superbuild_test_projects cmb smtk)
endfunction ()
set(CMB_TEST_DATA_ROOT "" CACHE PATH "Location of CMB's testing data")
# Default Qt5 to ON.
set(_superbuild_default_qt5 ON)
set(qt5_skip_modules
qtconnectivity
qtgamepad
qtlocation
qtmultimedia
qtsensors
qtserialport
qtwayland
qtwebchannel
qtwebengine
qtwebsockets)
set(boost_minimum_version 1.64.0)
set(boost_libraries
atomic
chrono
date_time
filesystem
log
regex
serialization
system
thread)
thread
timer)
configure_file(
"${CMAKE_CURRENT_LIST_DIR}/cmake/CTestCustom.cmake.in"
......@@ -143,10 +248,37 @@ if (__BUILDBOT_INSTALL_LOCATION)
set(superbuild_install_location "${__BUILDBOT_INSTALL_LOCATION}")
endif ()
set(suppress_projects
boost
freetype
ftgl
gdal
hdf5
netcdf
numpy
png
pybind11
szip
vxl
zeromq
zlib)
foreach (suppress_project IN LISTS suppress_projects)
set("_superbuild_suppress_${suppress_project}_output" ON)
endforeach ()
list(APPEND superbuild_version_files
"${CMAKE_CURRENT_LIST_DIR}/versions.cmake")
list(APPEND extra_ctest_custom_files
list(APPEND superbuild_ctest_custom_files
"${CMAKE_CURRENT_BINARY_DIR}/CTestCustom-cmb.cmake")
list(APPEND superbuild_project_roots
"${CMAKE_CURRENT_LIST_DIR}/projects")
add_subdirectory(superbuild)
if (TARGET "smtk" AND NOT DEVELOPER_MODE_smtk AND smtk_SOURCE_SELECTION STREQUAL "from_cmb")
get_property(smtk_need_cmb_download GLOBAL
PROPERTY smtk_need_cmb_download)
if (smtk_need_cmb_download)
add_dependencies("smtk"
"cmb-download")
endif ()
endif ()
......@@ -2,54 +2,86 @@
# CMB SuperBuild
Though CMB is relatively simple to build itself, it does depend on a several libraries including Qt, ParaView/VTK, MOAB, etc.. To help make the process of building CMB and the libraries it depends on easier we have create a SuperBuild CMake Project.
# What You Need To Start
Though CMB is relatively simple to build itself, it does depend on a several
libraries including Qt, ParaView/VTK, Boost, MOAB, etc.. To help make the process of
building CMB and the libraries it depends on easier we have created a
SuperBuild CMake Project.
* CMake version 3.5 or greater
* ninja or make - note that for Windows build you will need to have ninja installed
# Requirements
* CMake version 3.9 or greater with SSL support (Binaries from `cmake.org`
have this already; custom built CMake binaries need to use
`CMAKE_USE_SYSTEM_CURL=ON`).
* ninja or make - (the Windows build requires ninja)
* Checkout of the [CMB SuperBuild Git Repo](https://gitlab.kitware.com/cmb/cmb-superbuild)
* Qt Related Info
* Have Qt 5.10 or greater installed on the system and make sure you set `USE_SYSTEM_qt5` on
* In CMake: `QT5_DIR` needs to be set to [Qt installation dir for your compiler]/lib/cmake/Qt5
* C++ Compiler
* XCode 7.1 or greater
* GCC 4.8
* Visual Studio 2013 64 bit
* XCode 9.x or greater
* GCC 4.9 or greater
* Clang 3.4 or greater
* Microsoft Visual C++ 2015 / Build Tools 14.0.25123.0 (and possibly later)
* Ubuntu 16.04 specific
* sudo apt-get install m4
* sudo apt-get install build-essential
* turn on `USE_SYSTEM_qt5` in CMake(Recommend)
* sudo apt-get install qt5-qmake libqt5-dev qt5-dev-tools (if using system qt)
* sudo apt-get install libxt-dev
Note that the build process will also download additional tar balls and checkout additional git repos so you will also need an internet connection.
Note that the build process will also download additional tarballs and
checkout additional git repos so you will also need an internet connection.
# Building CMB using the SuperBuild Process
## Prepping the Git Repo
1. Clone the CMB SuperBuild Repo using git clone https://gitlab.kitware.com/cmb/cmb-superbuild.git
2. cd into the git repo and do the following commands:
* git submodule init
* git submodule update
1. Clone the CMB SuperBuild Repo using `git clone https://gitlab.kitware.com/cmb/cmb-superbuild.git`
2. Using a shell in the cloned repository check out the latest stable release `git checkout release`
3. Using a shell in the cloned repository, run `git submodule update --init`
## Configuring the Build Using CMake
There are two possible methods you can use: CMake GUI or the ccmake command line tool
### Using the CMake GUI
![](images/CmakeScreenShot.png)
1. Select the Source directory that contains the CMake SuperBuild Git Repo
2. Select the build directory to be used to hold the build. Note that due to a bug in git this should not be under and git repository including the Source Directory.
2. Select the build directory to be used to hold the build. Note that due to
a bug in git this should not be under and git repository including the
Source Directory.
### Using ccmake commandline tool
1. Make the directory you want to build in
1. Make the directory you want to build in
2. cd into that directory
3. If you are building with ninja (as oppose to make) run ccmake -G Ninja PathToYourSuperBuildRepo, else omit the -G Ninja
3. If you are building with ninja (as oppose to make) run
`ccmake -G Ninja PathToYourSuperBuildRepo`, else omit the `-G Ninja`
### Configuring the CMB SuperBuild
* By default the build will be in Release Mode (not Debug) - this can be changed using an advance option
* The process will also build Qt 4.8.6 by default. If you already have a Qt installed (4.8.*) then you can do the following:
* Turn USE\_SYSTEM\_qt4 on
* By default the build will be in Release Mode (not Debug) - this can be
changed using the `CMAKE_BUILD_TYPE_cmb` variable. Similar variables exist
for other projects depending on the setup including `paraview` and `smtk`.
* The process will also build Qt 5.9.1 by default. If you already have a Qt
installed (5.9 or newer) then you can do the following:
* Turn `USE_SYSTEM_qt5` on
* Tell CMake to configure
* Check to see if the QT\_QMAKE\_EXECUTABLE variable is set to the appropriate qmake - if is not then set it correctly
* NOTE! Qt built on Mac OSX 10.9 and greater needs several patches to work properly. These patches are automatically applied when Qt is built using the superbuild and it is the recommended way to build Qt. You will also need to make sure you have a 10.9 SDK on your OSX platform
* tell CMake to configure
* tell CMake to generate
* Check to see if the `Qt5_DIR` variable is set to the appropriate location -
if is not then set it correctly
* On Windows, the directory to the Qt5 libraries must be in the `PATH`
environment variable in order to build.
* Tell CMake to configure
* Tell CMake to generate
## Building the CMB SuperBuild
* cd into the build directory
* run make or ninja - depending on which build system you previously selected.
## Building a CMB Installable Package
* cd into the build directory
* run ctest -R cpack
\ No newline at end of file
* run ctest -R cpack
macro (cmb_superbuild_add_pdf name outname)
superbuild_add_project("${name}"
DOWNLOAD_NO_EXTRACT 1
DEFAULT_ON
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND
"${CMAKE_COMMAND}" -E copy_if_different
<DOWNLOADED_FILE>
"<INSTALL_DIR>/doc/${outname}")
if (${name}_enabled)
set("${name}_pdf" "${superbuild_install_location}/doc/${outname}")
endif ()
endmacro ()
set_property(GLOBAL
PROPERTY
cmb_superbuild_lfs_steps
lfs-init
lfs-download
lfs-checkout)
macro (cmb_superbuild_add_lfs_steps _name)
superbuild_project_add_step(lfs-init
COMMAND "${GIT_EXECUTABLE}"
lfs
install
--local
DEPENDEES download
DEPENDERS configure
DEPENDS ${ARGN}
COMMENT "Enabling LFS for ${_name}"
WORKING_DIRECTORY <SOURCE_DIR>)
superbuild_project_add_step(lfs-download
COMMAND "${GIT_EXECUTABLE}"
lfs
fetch
DEPENDEES lfs-init
DEPENDERS configure
COMMENT "Downloading LFS data for ${_name}"
WORKING_DIRECTORY <SOURCE_DIR>)
superbuild_project_add_step(lfs-checkout
COMMAND "${GIT_EXECUTABLE}"
lfs
checkout
DEPENDEES lfs-download
DEPENDERS configure
COMMENT "Checking out LFS data for ${_name}"
WORKING_DIRECTORY <SOURCE_DIR>)
endmacro ()
......@@ -10,6 +10,12 @@ set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 1000)
##------------------------------------------------------------------------------
## Regular expression for warning exception during build process
list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
# Ignore all warnings.
".*"
"[w|W]arning"
"WARNING"
"CMake Warning"
"-jN forced in submake: disabling jobserver mode"
"thirdparty/qt5json"
"/usr/bin/libtool"
......@@ -29,10 +35,6 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
"build/.*/doc"
#Shiboken
"CMakeFiles/shiboken.dir"
"libapiextractor.a"
# Boost
"clang: warning: optimization flag '-finline-functions' is not supported"
"clang: warning: argument unused during compilation: '-finline-functions'"
......@@ -77,7 +79,6 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
"qmutex.h.* : warning C4512:"
"vil3d_dicom.obj : warning LNK4221:"
"install\\\\include"
"shiboken\\\\build"
"smtk\\\\src\\\\smtk\\\\ThirdParty"
"warning C4996: 'strcpy'"
"warning C4996: 'scanf'"
......@@ -117,17 +118,15 @@ ignore_project_warnings(boost)
ignore_project_warnings(gdal)
ignore_project_warnings(hdf5)
ignore_project_errors(hdf5)
ignore_project_warnings(kml)
ignore_project_warnings(python)
ignore_project_warnings(qt4)
ignore_project_warnings(shiboken)
ignore_project_warnings(qt5)
ignore_project_warnings(szip)
ignore_project_warnings(vxl)
ignore_project_warnings(zeromq)
if (WIN32)
set(ENV{PATH}
"$ENV{PATH};${CMAKE_CURRENT_LIST_DIR}/install/bin;${CMAKE_CURRENT_LIST_DIR}/install/lib")
"$ENV{PATH};${CMAKE_CURRENT_LIST_DIR}/install/bin;${CMAKE_CURRENT_LIST_DIR}/install/lib;${CMAKE_CURRENT_LIST_DIR}/install/x64/vc14/bin")
endif ()
# Regular expression for error exceptions during build process
......
include("${CMAKE_CURRENT_LIST_DIR}/../kml.cmake")
superbuild_apply_patch(kml add-missing-unistd.h
"file_posix.cc misses including unistd.h")
diff -Nru5 src/src/kml/base/file_posix.cc src.add-missing-unistd.h/src/kml/base/file_posix.cc
--- src/src/kml/base/file_posix.cc 2012-04-06 08:25:40.000000000 -0400
+++ src.add-missing-unistd.h/src/kml/base/file_posix.cc 2016-02-23 17:04:57.943711396 -0500
@@ -30,10 +30,13 @@
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
+// posix compile fix:
+#include <unistd.h>
+
namespace kmlbase {
// Internal to the POSIX File class.
static bool StatFile(const char* path, struct stat* stat_data) {
struct stat tmp;
set(cmb_plugins)
foreach (cmb_plugin IN LISTS cmb_plugins_all)
if (EXISTS "${superbuild_install_location}/Applications/ModelBuilder.app/Contents/Libraries/lib${cmb_plugin}.dylib")
list(APPEND cmb_plugins
${cmb_plugin})
set("cmb_plugin_path_${cmb_plugin}"
"${superbuild_install_location}/Applications/ModelBuilder.app/Contents/Libraries/lib${cmb_plugin}.dylib")
continue ()
endif ()
foreach (path IN ITEMS "" "cmb-${cmb_version}" "paraview-${paraview_version}")
if (EXISTS "${superbuild_install_location}/lib/${path}/lib${cmb_plugin}.dylib")
list(APPEND cmb_plugins
${cmb_plugin})
set("cmb_plugin_path_${cmb_plugin}"
"${superbuild_install_location}/lib/${path}/lib${cmb_plugin}.dylib")
break ()
endif ()
endforeach ()
endforeach ()
foreach(program IN LISTS cmb_programs_to_install)
set(plugins)
set(plugin_paths)
set(python_modules)
if (pythongirderclient_enabled)
list(APPEND python_modules
requests
girder_client)
endif ()
if (program STREQUAL "modelbuilder")
# Install CMB plugins in modelbuilder app
foreach(plugin IN LISTS cmb_plugins_cmb)
list(APPEND plugin_paths "${superbuild_install_location}/Applications/modelbuilder.app/Contents/Plugins/lib${plugin}.dylib")
endforeach()
list(APPEND plugins ${cmb_plugins_cmb})
foreach(program IN LISTS cmb_programs_to_install)
set(plugins "${cmb_plugins_${program}}")
# Install CMB plugins in modelbuilder app
foreach(plugin IN LISTS cmb_plugins_standalone)
find_library(plugin_path "lib${plugin}.dylib" ${superbuild_install_location}/lib)
list(APPEND plugin_paths ${plugin_path})
endforeach()
list(APPEND plugins ${cmb_plugins_standalone})
set(plugin_paths)
foreach (plugin IN LISTS plugins)
if (NOT DEFINED "cmb_plugin_path_${plugin}")
message(FATAL_ERROR "The application ${program} needs the ${plugin} plugin, but it was not found.")
endif ()
list(APPEND plugin_paths
"${cmb_plugin_path_${plugin}}")
endforeach ()
# Install paraview plugins in modelbuilder app
foreach (plugin IN LISTS cmb_plugins_paraview)
list(APPEND plugin_paths "${superbuild_install_location}/Applications/paraview.app/Contents/Plugins/lib${plugin}.dylib")
endforeach()
list(APPEND plugins ${cmb_plugins_paraview})
endif()
superbuild_apple_create_app(
"\${CMAKE_INSTALL_PREFIX}/${cmb_package}"
"${program}.app"
"${superbuild_install_location}/Applications/${program}.app/Contents/MacOS/${program}"
CLEAN
FAKE_PLUGIN_PATHS
PLUGINS ${plugin_paths}
SEARCH_DIRECTORIES
"${superbuild_install_location}/lib")
......@@ -95,12 +79,12 @@ foreach(program IN LISTS cmb_programs_to_install)
"${superbuild_install_location}/lib"
"${superbuild_install_location}/Applications/paraview.app/Contents/Libraries")
# Install the paraview.vtk module.
install(CODE
"file(INSTALL
FILES \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${cmb_package}/${program}.app/Contents/Python/vtk/\"
DESTINATION \"\${CMAKE_INSTALL_PREFIX}/${cmb_package}/${program}.app/Contents/Python/paraview/vtk\")"
COMPONENT superbuild)
if (matplotlib_enabled)
install(
DIRECTORY "${superbuild_install_location}/lib/python2.7/site-packages/matplotlib/mpl-data/"
DESTINATION "${cmb_package}/${program}.app/Contents/Python/matplotlib/mpl-data"
COMPONENT superbuild)
endif ()
if (pythonrequests_enabled)
install(
......@@ -108,6 +92,36 @@ foreach(program IN LISTS cmb_programs_to_install)
DESTINATION "${cmb_package}/${program}.app/Contents/Python/requests"
COMPONENT superbuild)
endif ()
if (paraviewweb_enabled)
install(
FILES "${superbuild_install_location}/Applications/paraview.app/Contents/Python/paraview/web/defaultProxies.json"
DESTINATION "${cmb_package}/${program}.app/Contents/Python/paraview/web"
COMPONENT "superbuild")
install(
DIRECTORY "${superbuild_install_location}/share/paraview/web"
DESTINATION "${cmb_package}/${program}.app/Contents/Resources"
COMPONENT "superbuild")
endif ()
foreach (qt5_plugin_path IN LISTS qt5_plugin_paths)
get_filename_component(qt5_plugin_group "${qt5_plugin_path}" DIRECTORY)
get_filename_component(qt5_plugin_group "${qt5_plugin_group}" NAME)
superbuild_apple_install_module(
"\${CMAKE_INSTALL_PREFIX}/${cmb_package}"
"${program}.app"
"${qt5_plugin_path}"
"Contents/Plugins/${qt5_plugin_group}"
SEARCH_DIRECTORIES "${library_paths}")
endforeach ()
if (cmb_doc_base_dir)
set(cmb_doc_dir "${cmb_package}/${program}.app/${cmb_doc_base_dir}")
endif ()
# Install PDF guides.
cmb_install_extra_data()
endforeach ()
# FIXME: Install inside of each application?
......
include(hydrology.bundle.common)
set(cmb_package "CMB-Hydro ${cmb_version_major}.${cmb_version_minor}.${cmb_version_patch}")
include(cmb.bundle.apple)
include(modelbuilder.bundle.common)
set(cmb_package "ModelBuilder ${cmb_version_major}.${cmb_version_minor}.${cmb_version_patch}")
set(cmb_package "modelbuilder ${cmb_version_major}.${cmb_version_minor}.${cmb_version_patch}")
set(cmb_doc_base_dir "Contents/doc")
include(cmb.bundle.apple)
include("${CMAKE_CURRENT_LIST_DIR}/../opencv.cmake")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.0.0")
superbuild_apply_patch(opencv coreimage-videoio-link
"Remove CoreImage from videoio's linkline")
endif ()
diff --git a/modules/videoio/CMakeLists.txt b/modules/videoio/CMakeLists.txt
index 413b3cd..3b4150b 100644
--- a/modules/videoio/CMakeLists.txt
+++ b/modules/videoio/CMakeLists.txt
@@ -173,7 +173,7 @@ if(HAVE_AVFOUNDATION)
list(APPEND VIDEOIO_LIBRARIES "-framework AVFoundation" "-framework QuartzCore")
else()
list(APPEND videoio_srcs ${CMAKE_CURRENT_LIST_DIR}/src/cap_avfoundation_mac.mm)
- list(APPEND VIDEOIO_LIBRARIES "-framework Cocoa" "-framework Accelerate" "-framework AVFoundation" "-framework CoreGraphics" "-framework CoreImage" "-framework CoreMedia" "-framework CoreVideo" "-framework QuartzCore")
+ list(APPEND VIDEOIO_LIBRARIES "-framework Cocoa" "-framework Accelerate" "-framework AVFoundation" "-framework CoreGraphics" "-framework CoreMedia" "-framework CoreVideo" "-framework QuartzCore")
endif()
endif()
superbuild_add_project(shiboken
DEPENDS qt4 python
CMAKE_ARGS
-DDISABLE_DOCSTRINGS:BOOL=ON)
superbuild_add_project(cgm
DEPENDS oce
DEPENDS_OPTIONAL cxx11
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib
-DCGM_USE_CUBIT:BOOL=OFF
-DCGM_OCC:BOOL=ON
-DUSE_MPI:BOOL=OFF)
superbuild_add_extra_cmake_args(
"-DCGM_DIR=<INSTALL_DIR>/lib/cmake/CGM")
......@@ -4,35 +4,27 @@ include(cmb-version)
include(paraview-version)
set(CPACK_PACKAGE_VENDOR "Kitware, Inc.")
set(CPACK_RESOURCE_FILE_LICENSE
"${superbuild_source_directory}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR ${cmb_version_major})
set(CPACK_PACKAGE_VERSION_MINOR ${cmb_version_minor})
if (cmb_version_suffix)
set(CPACK_PACKAGE_VERSION_PATCH ${cmb_version_patch}-${cmb_version_suffix})
else()
set(CPACK_PACKAGE_VERSION_PATCH ${cmb_version_patch})
endif()
set(CPACK_PACKAGE_VERSION_PATCH ${cmb_version_patch}${cmb_version_suffix})
if (CMB_PACKAGE_SUFFIX)
set(CPACK_PACKAGE_VERSION_PATCH ${CPACK_PACKAGE_VERSION_PATCH}-${CMB_PACKAGE_SUFFIX})
endif ()
SET(CPACK_PACKAGE_INSTALL_DIRECTORY
"${cmb_package_name} ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME
"${cmb_package_name}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
if (NOT DEFINED package_filename)
set(package_filename "${CMB_PACKAGE_FILE_NAME}")
endif ()
if(NOT DEFINED CPACK_SYSTEM_NAME)
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
endif()
if(${CPACK_SYSTEM_NAME} MATCHES Windows)
if(CMAKE_CL_64)
set(CPACK_SYSTEM_NAME win64)
else(CMAKE_CL_64)
set(CPACK_SYSTEM_NAME win32)
endif()
endif()
if(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
if (package_filename)
set(CPACK_PACKAGE_FILE_NAME "${package_filename}")
else ()
set(CPACK_PACKAGE_FILE_NAME
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
endif()
"${cmb_package_name}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
endif ()
# Set the license file.
set(CPACK_RESOURCE_FILE_LICENSE
"${superbuild_source_directory}/License.txt")
list(SORT cmb_programs_to_install)
list(REMOVE_DUPLICATES cmb_programs_to_install)
......@@ -40,7 +32,7 @@ list(REMOVE_DUPLICATES cmb_programs_to_install)
function (cmb_add_plugin output)
set(contents "<?xml version=\"1.0\"?>\n<Plugins>\n</Plugins>\n")
foreach (name IN LISTS ARGN)
set(plugin_directive " <Plugin name=\"${name}\" auto_load=\"1\" />\n")
set(plugin_directive " <Plugin name=\"${name}\" auto_load=\"0\" />\n")
string(REPLACE "</Plugins>" "${plugin_directive}</Plugins>" contents "${contents}")
endforeach ()
file(WRITE "${output}" "${contents}")
......@@ -59,52 +51,158 @@ if (cmb_install_paraview_python)
pvpython)
endif ()
set(cmb_plugins_smtk
smtkDiscreteSessionPlugin
smtkExodusSessionPlugin
smtkPolygonSessionPlugin
smtkRemoteSessionPlugin
smtkRemusMeshOperatorPlugin)
if (cgm_enabled)
list(APPEND cmb_plugins_smtk
smtkCGMSessionPlugin)
endif ()
# Currently, ModelBuilder is predominantly ParaView + a suite of plugins from
# SMTK. As the latest iteration of ModelBuilder developed, we encountered
# inconsistencies during development & packaging with the automatic inclusion of
# SMTK's plugins. As a workaround, we created a library in SMTK named
# "smtkDefaultPlugins" that links against the plugins SMTK has been configured
# to build and exposes methods for programatically setting them up in
# ModelBuilder.
#
# When ModelBuilder links against smtkDefaultPlugins, the packager treats
# smtkDefaultPlugins' dependent libraries (the plugins) as libraries and
# puts them with the rest of the libraries. The code below is a hand-maintained
# whitelist of SMTK's plugins; the packager treats these as plugins and puts
# them in a plugins directory. When the packager comes across a plugin that is
# also linked as a library, it gets confused and installs it into both the
# library and plugin directories, but only fixes the runtime paths for the
# copy in the plugin directory.
#
# SMTK's ability to create a library that links its plugins into a consuming
# application is currently less fault-prone than ParaView's default plugin
# system. Future updates to ParaView may obviate the need for this ability,
# however. Until then, we disable the following logic for SMTK's plugins.
set(LINK_TO_PLUGINS True)
if (NOT ${LINK_TO_PLUGINS})
set(cmb_plugins_smtk
smtkAttributePlugin
smtkDelaunayPlugin
smtkDiscreteSessionPlugin
smtkMeshPlugin
smtkMeshSessionPlugin
smtkModelPlugin
smtkOpenCVPlugin
smtkOperationPlugin
smtkPQComponentsPlugin
smtkPQOperationViewsPlugin
smtkPVServerExtPlugin
smtkPolygonSessionPlugin
smtkRemusMeshOperationPlugin
smtkVTKOperationsPlugin
)
if (matplotlib_enabled)
list(APPEND cmb_plugins_smtk
smtkMatplotlibPlugin)
endif ()
if (vxl_enabled)
list(APPEND cmb_plugins_smtk
smtkVXLOperationViewsPlugin)
endif ()
endif()
set(cmb_plugins_cmb
CMB_Plugin
ModelBridge_Plugin)
cmbPostProcessingModePlugin
)
set(cmb_plugins_all
${cmb_plugins_smtk}
${cmb_plugins_cmb})
set(cmb_plugins_standalone
smtkReadWriteResourceManagerStatePlugin
)
set(cmb_plugins_ModelBuilder
#${cmb_plugins_cmb} # Autoloaded
${cmb_plugins_smtk})
set(cmb_plugins_paraview
CMB_Plugin)
if (cumulus_enabled)
set(cmb_plugins_paraview
SLACTools
)
endif()
set(cmb_python_modules
smtk
shiboken
paraview
cinema_python
pygments
six
vtk)
vtk
vtkmodules)
if (numpy_enabled)
if (matplotlib_enabled)
list(APPEND cmb_python_modules
numpy)
matplotlib)
endif ()
if (opencv_enabled)
if (numpy_enabled)
list(APPEND cmb_python_modules
cv2)
numpy)
endif ()
if (pythongirderclient_enabled)
list(APPEND cmb_python_modules
diskcache
requests
requests_toolbelt
girder_client)
endif ()
if (paraviewweb_enabled)
list(APPEND cmb_python_modules
autobahn
constantly
incremental
twisted
wslink
zope)
if (WIN32)
list(APPEND cmb_python_modules
adodbapi
isapi
pythoncom
win32com)
endif ()
endif ()
if (qt5_enabled)
include(qt5.functions)
set(qt5_plugin_prefix)
if (NOT WIN32)
set(qt5_plugin_prefix "lib")
endif ()
set(qt5_plugins
sqldrivers/${qt5_plugin_prefix}qsqlite)
if (WIN32)
list(APPEND qt5_plugins
platforms/qwindows)
elseif (APPLE)
list(APPEND qt5_plugins
platforms/libqcocoa
printsupport/libcocoaprintersupport)
elseif (UNIX)
list(APPEND qt5_plugins
platforms/libqxcb
platforminputcontexts/libcomposeplatforminputcontextplugin
xcbglintegrations/libqxcb-glx-integration)
endif ()
superbuild_install_qt5_plugin_paths(qt5_plugin_paths ${qt5_plugins})
else ()
set(qt5_plugin_paths)
endif ()
function (cmb_install_pdf project filename)
if (${project}_enabled)
install(
FILES "${superbuild_install_location}/doc/${filename}"
DESTINATION "${cmb_doc_dir}"
COMPONENT superbuild)
endif ()
endfunction ()
function (cmb_install_extra_data)
if (cmb_doc_dir)
cmb_install_pdf(cmbusersguide "CMBUsersGuide.pdf")
cmb_install_pdf(smtkusersguide "SMTKUsersGuide.pdf")
endif ()
endfunction ()
set(paraview_dir ${CMAKE_CURRENT_BINARY_DIR}/paraview/build)
set(vtk_dir ${paraview_dir}/VTK)
if (__BUILDBOT_INSTALL_LOCATION)
set(paraview_dir <INSTALL_DIR>/lib/cmake/paraview-${paraview_version})
set(vtk_dir <INSTALL_DIR>/lib/cmake/paraview-${paraview_version})
set(cmb_extra_optional_dependencies)
if (USE_NONFREE_COMPONENTS)
list(APPEND cmb_extra_optional_dependencies
triangle)
endif ()
set(CMB_TEST_DATA_ROOT "" CACHE PATH "Location of CMB's testing data")
set(cmb_test_plugin_dir lib)
if (WIN32)
set(cmb_test_plugin_dir bin)
endif()
set(smtk_libdir lib)
set(cmb_response_file)
if (WIN32)
set(smtk_libdir bin)
# Force response file usage in CMB. The command line gets way too long on
# Windows without this. Once VTK_USE_FILE and PARAVIEW_USE_FILE are gone,
# this can be removed again.
set(cmb_response_file -DCMAKE_NINJA_FORCE_RESPONSE_FILE:BOOL=ON)
endif ()
set(cmb_extra_optional_dependencies)
if (USE_NONFREE_COMPONENTS)
list(APPEND cmb_extra_optional_dependencies
triangle)
set(cmb_extra_cmake_args)
if (UNIX AND NOT APPLE)
list(APPEND cmb_extra_cmake_args
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=FALSE)
endif ()
get_property(cmb_lfs_steps GLOBAL
PROPERTY cmb_superbuild_lfs_steps)
superbuild_add_project(cmb
DEVELOPER_MODE
DEBUGGABLE
DEFAULT_ON
DEPENDS boost remus vxl kml gdal qt4 python paraview shiboken
cmbworkflows zeromq opencv
smtk # XXX(smtk): until the submodule works properly
DEPENDS_OPTIONAL moab smtk ${cmb_extra_optional_dependencies}
cxx11
INDEPENDENT_STEP_TARGETS ${cmb_lfs_steps} download update
DEPENDS boost moab remus vxl nlohmannjson python paraview pybind11
qt qt5 zeromq cmbworkflows cmbusersguide smtkusersguide
DEPENDS_OPTIONAL smtk cumulus ${cmb_extra_optional_dependencies}
cxx11 gdal hdf5 netcdf opencv
CMAKE_ARGS
${extra_cmake_args}
${cmb_extra_cmake_args}
-DKML_DIR:PATH=<INSTALL_DIR>
-DGDAL_DIR:PATH=<INSTALL_DIR>
-DParaView_DIR:PATH=${paraview_dir}
-DVTK_DIR:PATH=${vtk_dir}
-DCMB_TEST_DATA_ROOT:PATH=${CMB_TEST_DATA_ROOT}
-DPARAVIEW_QT_VERSION:STRING=${qt_version}
#specify semi-colon separated paths for session plugins
-DCMB_TEST_PLUGIN_PATHS:STRING=<INSTALL_DIR>/${smtk_libdir}
-Dcmb_test_plugin_paths:STRING=<INSTALL_DIR>/${cmb_test_plugin_dir}
#specify what mesh workers we should build
-DBUILD_TRIANGLE_MESH_WORKER:BOOL=${triangle_enabled}
......@@ -49,13 +55,65 @@ superbuild_add_project(cmb
# session may only be needed for debugging purpose
-DSMTK_ENABLE_MOAB_DISCRETE_READER:BOOL=OFF
-DSMTK_ENABLE_OPENCV:BOOL=${opencv_enabled}
-DSMTK_ENABLE_QT_SUPPORT:BOOL=ON
-DSMTK_ENABLE_VTK_SUPPORT:BOOL=ON
-DSMTK_ENABLE_PARAVIEW_SUPPORT:BOOL=ON
-DSMTK_ENABLE_DISCRETE_SESSION:BOOL=ON
-DSMTK_ENABLE_EXODUS_SESSION:BOOL=ON
-DSMTK_ENABLE_REMOTE_SESSION:BOOL=ON
-DSMTK_ENABLE_REMUS_SUPPORT:BOOL=ON
-DSMTK_ENABLE_PYTHON_WRAPPING:BOOL=${smtk_enable_python_wrapping}
-DSMTK_ENABLE_VXL_SUPPORT:BOOL=${vxl_enabled}
-DSMTK_USE_PYBIND11:BOOL=ON
-DSMTK_QT_VERSION:STRING=5
-DSMTK_DATA_DIR:PATH=${CMB_TEST_DATA_ROOT}
-DSMTK_USE_SYSTEM_MOAB:BOOL=${moab_enabled}
-DMOAB_INCLUDE_DIR:PATH=<INSTALL_DIR>/include
# SMTK bits
-DUSE_SYSTEM_SMTK:BOOL=${smtk_enabled}
-DENABLE_HDF5:BOOL=${hdf5_enabled}
-DENABLE_NETCDF:BOOL=${netcdf_enabled}
-DNETCDF_ROOT:PATH=<INSTALL_DIR>
# Cumulus bits
-DSMTK_ENABLE_CUMULUS_SUPPORT:BOOL=${cumulus_enabled}
-DENABLE_Cumulus:BOOL=${cumulus_enabled}
-DCMB_SUPERBUILD_DEVELOPER_ROOT:PATH=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR:STRING=${smtk_libdir})
# Set CMAKE_INSTALL_LIBDIR to "lib" for all projects in the superbuild to
# override OS-specific libdirs that GNUInstallDirs.cmake would otherwise
# set.
-DCMAKE_INSTALL_LIBDIR:STRING=lib
${cmb_response_file})
if (WIN32)
set(smtk_config_dir <INSTALL_DIR>/smtk/${smtk_version}/cmake)
else ()
set(smtk_config_dir <INSTALL_DIR>/lib/cmake/smtk/${smtk_version})
endif ()
superbuild_add_extra_cmake_args(-Dsmtk_DIR:PATH=${smtk_config_dir})
if ((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.5"))
superbuild_append_flags(cxx_flags "-Wno-inconsistent-missing-override" PROJECT_ONLY)
endif ()
set(cmb_can_lfs FALSE)
if (cmb_SOURCE_SELECTION STREQUAL "git")
set(cmb_can_lfs TRUE)
elseif (cmb_SOURCE_SELECTION STREQUAL "source")
if (EXISTS "${cmb_SOURCE_DIR}/.git")
set(cmb_can_lfs TRUE)
endif ()
endif ()
option(cmb_FETCH_LFS "Fetch LFS data for CMB" OFF)
if (cmb_enabled AND cmb_can_lfs AND cmb_FETCH_LFS)
cmb_superbuild_add_lfs_steps(cmb)
endif ()
# Set suffix to be used for generating archives. This ensures that the package
# files have decent names that we can directly upload to the website.
set(package_suffix_items)
if (APPLE)
list(APPEND package_suffix_items
"OSX${CMAKE_OSX_DEPLOYMENT_TARGET}")
else ()
list(APPEND package_suffix_items
"${CMAKE_SYSTEM_NAME}")
endif ()
if (superbuild_is_64bit)
list(APPEND package_suffix_items
"64bit")
else ()
list(APPEND package_suffix_items
"32bit")
endif()
string(REPLACE ";" "-" package_suffix_default "${package_suffix_items}")
# CMB_PACKAGE_SUFFIX: A string that can be set to the suffix you want to use
# for all the generated packages. By default, it is determined by the features
# enabled.
set(CMB_PACKAGE_SUFFIX "<default>"
CACHE STRING "String to use as a suffix for generated packages")
mark_as_advanced(CMB_PACKAGE_SUFFIX)
if (NOT CMB_PACKAGE_SUFFIX OR CMB_PACKAGE_SUFFIX STREQUAL "<default>")
set(CMB_PACKAGE_SUFFIX "${package_suffix_default}")
elseif (NOT CMB_PACKAGE_SUFFIX STREQUAL package_suffix_default)
message(WARNING "The suffix for the package (${CMB_PACKAGE_SUFFIX}) does not "
"match the suggested suffix based on build options "
"(${package_suffix_default}). Set it to '<default>' or "
"an empty string to use the default suffix. Using the "
"provided suffix.")
endif ()
cmb_superbuild_add_pdf(cmbusersguide CMBUsersGuide.pdf)
superbuild_add_dummy_project(cumulus
DEPENDS pythondiskcache pythongirderclient pythonrequests pythonrequeststoolbelt pythonsetuptools pythonsix
)
superbuild_add_project(eigen
DEPENDS cxx11)
......@@ -11,6 +11,15 @@ superbuild_add_project(gdal
-DGDAL_ENABLE_FRMT_MEM:BOOL=ON
-DOGR_ENABLE_MEM:BOOL=ON)
superbuild_apply_patch(gdal no-sqlite
"Disable sqlite support in GML")
superbuild_apply_patch(gdal lt_objdir-warning
"Fix warning about LT_OBJDIR redefinition")
superbuild_apply_patch(gdal no-geos
"Skip GEOS and Armadillo support")
superbuild_apply_patch(gdal pointer-comparison
"Fix illegal pointer comparisons")
if (APPLE)
set(gdal_lib <INSTALL_DIR>/lib/libgdal111.dylib)
elseif (WIN32)
......
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"CMB Tools for Hydrologigal Simulations")
set(CPACK_PACKAGE_NAME "CMB")
set(cmb_package_name "CMB-Hydro")
set(cmb_programs_to_install
#GeologyBuilder
SceneBuilder
ModelBuilder
MeshViewer
PointsBuilder
paraview)
set(cmb_install_paraview_server TRUE)
set(cmb_install_paraview_python TRUE)
include(cmb.bundle.common)
superbuild_add_project(kml
DEPENDS_OPTIONAL cxx11
CMAKE_ARGS
-DBUILD_SHARED_LIBS=OFF)
superbuild_add_project(moab
DEPENDS hdf5 netcdf
DEPENDS eigen hdf5 netcdf
DEPENDS_OPTIONAL cxx11
#cgm
CMAKE_ARGS
-Wno-dev
-DBUILD_SHARED_LIBS:BOOL=OFF
-DCMAKE_CXX_VISIBILITY_PRESET:STRING=hidden
-DCMAKE_VISIBILITY_INLINES_HIDDEN:BOOL=ON
-DENABLE_BLASLAPACK:BOOL=OFF
-DMOAB_HAVE_EIGEN:BOOL=ON
-DMOAB_USE_SZIP:BOOL=ON
-DMOAB_USE_CGM:BOOL=OFF
-DMOAB_USE_CGNS:BOOL=OFF
......@@ -11,5 +15,18 @@ superbuild_add_project(moab
-DMOAB_USE_HDF:BOOL=ON
-DENABLE_HDF5:BOOL=ON # also required to get hdf5 support enabled
-DMOAB_USE_NETCDF:BOOL=ON
-DENABLE_NETCDF:BOOL=ON # also required to get ncdf/exodus enabled
-DNETCDF_ROOT:PATH=<INSTALL_DIR>
-DMOAB_ENABLE_TESTING:BOOL=ON) # build can't handle this being disabled
superbuild_apply_patch(moab disable-fortran
"Disable use of fortran")
superbuild_apply_patch(moab export-include-dir
"Set MOAB and iMesh targets to export their installed include directories")
# By default, linux and os x cmake looks in <INSTALL_DIR>/lib/cmake for
# things. On windows, it does not. So, we set MOAB_DIR to point to the
# location of MOABConfig.cmake for everyone.
superbuild_add_extra_cmake_args(
-DMOAB_DIR:PATH=<INSTALL_DIR>/lib/cmake/MOAB)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"CMB ModelBuilder Application")
"CMB modelbuilder application")
set(CPACK_PACKAGE_NAME "CMB")
set(cmb_package_name "ModelBuilder")
set(cmb_package_name "modelbuilder")
set(cmb_programs_to_install
ModelBuilder)
modelbuilder
TemplateEditor)
set(cmb_install_paraview_server FALSE)
set(cmb_install_paraview_python TRUE)
......
# Build and install:
superbuild_add_project(nlohmannjson
DEPENDS cxx11
CMAKE_ARGS
-DENABLE_TESTING:BOOL=OFF
-DBuildTests:BOOL=OFF
)
# Provide our location to dependent projects:
superbuild_add_extra_cmake_args(
-Dnlohmann_json_DIR:PATH=<INSTALL_DIR>/lib/cmake/nlohmann_json
)
superbuild_add_project(oce
DEPENDS ftgl freetype
DEPENDS_OPTIONAL cxx11
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib
-DOCE_DISABLE_X11:BOOL=ON
-DOCE_INSTALL_PREFIX:FILEPATH=<INSTALL_DIR>
# Force the include dir path, so it doesn't install the include files into
# install/include/oce/, because CGM can't find it there.
-DOCE_INSTALL_INCLUDE_DIR:FILEPATH=include
-DOCE_RPATH_FILTER_SYSTEM_PATHS:BOOL=OFF)
# Remove the installed oce-config.h from the install tree so that the build
# doesn't use that over the configured header in the build directory. If we
# used the installed oce-config the incremental builds may fail as it may not
# have all the defines as the build version.
superbuild_project_add_step(oce-incremental-build
COMMAND "${CMAKE_COMMAND}"
-E remove
-f
"<INSTALL_DIR>/include/oce-config.h"
COMMENT "Remove header which confuses the build"
DEPENDEES configure
DEPENDERS build
ALWAYS 1)
set(opencv_args)
if (numpy_built_by_superbuild)
if (WIN32)
set(opencv_numpy_include_dir <INSTALL_DIR>/bin/Lib/site-packages/numpy/core/include)
else ()
set(opencv_numpy_include_dir <INSTALL_DIR>/lib/python2.7/site-packages/numpy/core/include)
endif ()
list(APPEND opencv_args
-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${opencv_numpy_include_dir})
endif ()
superbuild_add_project(opencv
DEPENDS
python qt4 opencvcontrib numpy
# DEFAULT_ON
DEPENDS python numpy
CMAKE_ARGS
-DOPENCV_EXTRA_MODULES_PATH:PATH=${CMAKE_CURRENT_BINARY_DIR}/opencvcontrib/src/modules
-DBUILD_PERF_TESTS:BOOL=OFF
-DBUILD_TESTS:BOOL=OFF
-DBUILD_opencv_flann:BOOL=OFF
-DBUILD_opencv_hdf:BOOL=OFF
-DBUILD_opencv_dnn:BOOL=OFF
-DBUILD_opencv_videoio:BOOL=OFF
-DWITH_CUDA:BOOL=OFF
-DWITH_GTK:BOOL=OFF
-DWITH_FFMPEG:BOOL=OFF
-DWITH_VTK:BOOL=OFF
-DOpenCV_INSTALL_BINARIES_PREFIX:STRING=
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib)
-DBUILD_opencv_highgui=OFF
-DWITH_QT=OFF
-DCMAKE_INSTALL_NAME_DIR:PATH=<INSTALL_DIR>/lib
${opencv_args})
if (WIN32)
superbuild_add_extra_cmake_args(
-DOpenCV_DIR:PATH=<INSTALL_DIR>/share)
endif ()
superbuild_add_project(opencvcontrib
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND
"")
......@@ -12,7 +12,6 @@ set(paraview_disable_plugins
PacMan
StreamingParticles
SierraPlotTools
SLACTools
UncertaintyRendering
SurfaceLIC
EyeDomeLighting
......@@ -23,15 +22,19 @@ foreach (plugin IN LISTS paraview_disable_plugins)
-DPARAVIEW_BUILD_PLUGIN_${plugin}:BOOL=FALSE)
endforeach ()
set(paraview_enable_plugins
SLACTools
)
foreach (plugin in LISTS paraview_enable_plugins)
list(APPEND paraview_extra_cmake_args
-DPARAVIEW_BUILD_PLUGIN_${plugin}:BOOL=TRUE)
endforeach()
if (APPLE)
list(APPEND paraview_extra_cmake_args
# We are having issues building mpi4py with Python 2.6 on Mac OSX. Hence,
# disable it for now.
-DPARAVIEW_USE_SYSTEM_MPI4PY:BOOL=ON
# We set the VTK_REQUIRED_OBJCXX_FLAGS to nothing to work around the fact
# that the current version of vtk tries to enable objc garbage collection
# which has been removed in XCode 5
-DVTK_REQUIRED_OBJCXX_FLAGS:STRING=)
-DPARAVIEW_USE_SYSTEM_MPI4PY:BOOL=ON)
endif ()
if (UNIX AND NOT APPLE)
......@@ -45,41 +48,53 @@ if (__BUILDBOT_INSTALL_LOCATION)
-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON)
endif ()
list(APPEND paraview_extra_cmake_args
-DPARAVIEW_EXTRA_EXTERNAL_PLUGINS:STRING=CMB_Plugin)
# Add mandatory plugins:
# list(APPEND paraview_extra_cmake_args
# -DPARAVIEW_EXTRA_EXTERNAL_PLUGINS:STRING=CMB_Plugin)
#this can't be quoted, since that will introduce an extra
#set of quotes into pqparaviewInitializer, and break the build
set(paraview_optional_plugins CMB_Plugin${_superbuild_list_separator}KMLExporter_Plugin)
# Add optional plugins:
# This can't be quoted, since that will introduce an extra
# set of quotes into pqparaviewInitializer, and break the build.
# If you need to add additional plugins to the list, use
# ExtraPlugin${_superbuild_list_separator}KMLExporter_Plugin
# instead of spaces/semicolons:
set(paraview_optional_plugins KMLExporter_Plugin)
superbuild_add_project(paraview
DEBUGGABLE
DEPENDS
boost
freetype
gdal
png
python
qt4
qt
qt5
zlib
netcdf
DEPENDS_OPTIONAL
cxx11 freetype hdf5
cxx11 hdf5 paraviewweb
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=ON
-DBUILD_TESTING:BOOL=OFF
-DPARAVIEW_BUILD_PLUGIN_CoProcessingScriptGenerator:BOOL=ON
-DPARAVIEW_BUILD_QT_GUI:BOOL=${qt4_enabled}
-DPARAVIEW_BUILD_QT_GUI:BOOL=${qt_enabled}
-DPARAVIEW_QT_VERSION:STRING=5
-DPARAVIEW_ENABLE_PYTHON:BOOL=${python_enabled}
-DPARAVIEW_ENABLE_WEB:BOOL=OFF
-DPARAVIEW_USE_MPI:BOOL=${mpi_enabled}
-DVTK_USE_SYSTEM_HDF5:BOOL=${hdf5_enabled}
-DHDF5_NO_FIND_PACKAGE_CONFIG_FILE:BOOL=ON
-DVTK_USE_SYSTEM_NETCDF:BOOL=${netcdf_enabled}
-DVTK_RENDERING_BACKEND:STRING=OpenGL2
-DPARAVIEW_ENABLE_WEB:BOOL=${paraviewweb_enabled}
-DVTK_ENABLE_KITS:BOOL=ON
-DPARAVIEW_USE_ICE_T:BOOL=ON
#currently catalyst is having problems on praxis so lets disable it for now
-DPARAVIEW_ENABLE_CATALYST:BOOL=OFF
#CMB needs geovis enabled to provide the kml and gdal readers
#CMB needs geovis enabled to provide the gdal reader
-DModule_vtkGeovisCore:BOOL=ON
-DModule_vtkIOGDAL:BOOL=ON
-DModule_vtkViewsInfovis:BOOL=ON
......@@ -106,5 +121,22 @@ superbuild_add_project(paraview
#If this is true paraview doesn't properly clean the paths to system
#libraries like netcdf
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=TRUE
-DCMAKE_MACOSX_RPATH:BOOL=FALSE
# Keep up with the latest ParaView & VTK by avoiding the use of legacy API
-DVTK_LEGACY_REMOVE:BOOL=TRUE
${paraview_extra_cmake_args})
if (__BUILDBOT_INSTALL_LOCATION)
set(paraview_paraview_dir <INSTALL_DIR>/lib/cmake/paraview-${paraview_version})
set(paraview_vtk_dir ${paraview_paraview_dir})
else ()
set(paraview_paraview_dir ${CMAKE_CURRENT_BINARY_DIR}/paraview/build)
set(paraview_vtk_dir ${paraview_paraview_dir}/VTK)
endif ()
superbuild_add_extra_cmake_args(
-DParaView_DIR:PATH=${paraview_paraview_dir}
-DParaView_CLEXECUTABLES_DIR:PATH=<INSTALL_DIR>/bin
-DVTK_DIR:PATH=${paraview_vtk_dir})
set(paraviewweb_depends)
if (WIN32)
list(APPEND paraviewweb_depends
pywin32)
endif ()
superbuild_add_dummy_project(paraviewweb
DEPENDS python paraviewwebvisualizer paraviewweblightviz ${paraviewweb_depends})
superbuild_add_project(paraviewweblightviz
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND
"${CMAKE_COMMAND}"
-Dsource_location:PATH=<SOURCE_DIR>
-Dinstall_location:PATH=<INSTALL_DIR>
-P "${CMAKE_CURRENT_LIST_DIR}/scripts/paraviewweblightviz.install.cmake")
superbuild_add_project(paraviewwebvisualizer
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND
"${CMAKE_COMMAND}"
-Dsource_location:PATH=<SOURCE_DIR>
-Dinstall_location:PATH=<INSTALL_DIR>
-P "${CMAKE_CURRENT_LIST_DIR}/scripts/paraviewwebvisualizer.install.cmake")
diff --git a/cmake/cpl_config.h.cmake b/cmake/cpl_config.h.cmake
index 58feff6..67eaeed 100644
--- a/cmake/cpl_config.h.cmake
+++ b/cmake/cpl_config.h.cmake
@@ -140,10 +140,6 @@
/* For .cpp files, define as const if the declaration of iconv() needs const. */
//#undef ICONV_CPP_CONST
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
-#define LT_OBJDIR "@LT_OBJDIR@"
-
/* Define for Mac OSX Framework build */
#cmakedefine MACOSX_FRAMEWORK
diff -Nr -U5 gdal-98353693d6f1d607954220b2f8b040375e3d1744/alg/CMakeLists.txt gdal-98353693d6f1d607954220b2f8b040375e3d1744.no-geos/alg/CMakeLists.txt
--- gdal-98353693d6f1d607954220b2f8b040375e3d1744/alg/CMakeLists.txt 2016-12-08 12:42:59.000000000 -0500
+++ gdal-98353693d6f1d607954220b2f8b040375e3d1744.no-geos/alg/CMakeLists.txt 2017-04-13 08:39:31.959865767 -0400
@@ -29,20 +29,20 @@
set(LIB_NAME "alg")
project ("lib${LIB_NAME}")
include_directories(${GDAL_ROOT_SOURCE_DIR}/frmts/gtiff)
-find_package(GEOS)
+#find_package(GEOS)
if(GEOS_FOUND)
get_filename_component(GEOS_ROOT ${GEOS_INCLUDE_DIR} PATH)
include_directories(${GEOS_INCLUDE_DIR})
include_directories(${GEOS_ROOT}/capi)
add_definitions(-DHAVE_GEOS=1)
set(GDAL_HAVE_GEOS ON PARENT_SCOPE)
endif(GEOS_FOUND)
-find_package(Armadillo)
+#find_package(Armadillo)
if(ARMADILLO_FOUND)
include_directories(${GEOS_INCLUDE_DIRS})
add_definitions(-DHAVE_ARMADILLO)
set(GDAL_HAVE_ARMADILLO ON PARENT_SCOPE)
endif(ARMADILLO_FOUND)
diff -Nru5 gdal-98353693d6f1d607954220b2f8b040375e3d1744/ogr/ogrsf_frmts/gml/CMakeLists.txt gdal-98353693d6f1d607954220b2f8b040375e3d1744.no-sqlite/ogr/ogrsf_frmts/gml/CMakeLists.txt
--- gdal-98353693d6f1d607954220b2f8b040375e3d1744/ogr/ogrsf_frmts/gml/CMakeLists.txt 2016-12-08 12:42:59.000000000 -0500
+++ gdal-98353693d6f1d607954220b2f8b040375e3d1744.no-sqlite/ogr/ogrsf_frmts/gml/CMakeLists.txt 2017-04-14 10:14:27.425063396 -0400
@@ -42,11 +42,11 @@
# ifeq ($(HAVE_XERCES),yes)
# CPPFLAGS += -DHAVE_XERCES
# endif
-find_package(Sqlite3)
+#find_package(Sqlite3)
if(SQLITE3_FOUND)
include_directories(${SQLITE3_INCLUDE_DIR})