u3d-community/U3D
cmake/Modules/UrhoCommon.cmake
:1439
foreach (CONFIG ${CMAKE_CONFIGURATION_TYPES})
foreach (CONFIG ${CMAKE_CONFIGURATION_TYPES})
if (NOT CMAKE_CONFIGURATION_TYPES)
foreach (CONF ${CMAKE_CONFIGURATION_TYPES})
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
list(APPEND CMAKE_CONFIGURATION_TYPES Ubsan)
foreach(CONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
foreach(cfg ${CMAKE_CONFIGURATION_TYPES})
FOREACH(conf_type ${CMAKE_CONFIGURATION_TYPES})
foreach(_config ${CMAKE_CONFIGURATION_TYPES})
if (NOT CMAKE_CONFIGURATION_TYPES)
foreach(_config ${CMAKE_CONFIGURATION_TYPES})
foreach(config ${CMAKE_CONFIGURATION_TYPES})
ExternalProject_Add(fletch
PREFIX ${TELESCULPTOR_BINARY_DIR}
GIT_REPOSITORY "https://github.com/Kitware/fletch.git"
GIT_TAG 94870a290a06db845e80816863bb6d1b9cb12085
#GIT_SHALLOW 1
SOURCE_DIR ${TELESCULPTOR_EXTERNAL_DIR}/fletch
BINARY_DIR ${TELESCULPTOR_EXTERNAL_DIR}/fletch-build
STAMP_DIR ${TELESCULPTOR_STAMP_DIR}
CMAKE_CACHE_ARGS
-DBUILD_SHARED_LIBS:BOOL=ON
-Dfletch_BUILD_CXX11:BOOL=ON
-Dfletch_BUILD_WITH_PYTHON:BOOL=${TELESCULPTOR_ENABLE_PYTHON}
-Dfletch_ENABLE_Boost:BOOL=${TELESCULPTOR_ENABLE_FLETCH_BOOST}
-DBoost_SELECT_VERSION:STRING=1.65.1
-Dfletch_ENABLE_Caffe:BOOL=OFF
-Dfletch_ENABLE_Caffe_Segnet:BOOL=OFF
-Dfletch_ENABLE_Ceres:BOOL=${TELESCULPTOR_ENABLE_FLETCH_CERES}
-Dfletch_ENABLE_CppDB:BOOL=OFF
-Dfletch_ENABLE_Darknet:BOOL=OFF
-Dfletch_ENABLE_Darknet_OpenCV:BOOL=OFF
-Dfletch_ENABLE_Eigen:BOOL=${TELESCULPTOR_ENABLE_FLETCH_EIGEN}
-Dfletch_ENABLE_FFmpeg:BOOL=${TELESCULPTOR_ENABLE_FLETCH_FFMPEG}
-DFFmpeg_SELECT_VERSION:STRING=3.3.3
-Dfletch_ENABLE_GDAL:BOOL=${TELESCULPTOR_ENABLE_FLETCH_GDAL}
-Dfletch_ENABLE_GEOS:BOOL=${TELESCULPTOR_ENABLE_FLETCH_GEOS}
-Dfletch_ENABLE_GFlags:BOOL=OFF
-Dfletch_ENABLE_GLog:BOOL=${TELESCULPTOR_ENABLE_FLETCH_CERES}
-Dfletch_ENABLE_GTest:BOOL=${TELESCULPTOR_ENABLE_TESTING}
-Dfletch_ENABLE_GeographicLib:BOOL=OFF
-Dfletch_ENABLE_HDF5:BOOL=OFF
-Dfletch_ENABLE_ITK:BOOL=OFF
-Dfletch_ENABLE_LMDB:BOOL=OFF
-Dfletch_ENABLE_LevelDB:BOOL=OFF
-Dfletch_ENABLE_OpenBLAS:BOOL=OFF
-Dfletch_ENABLE_OpenCV:BOOL=${TELESCULPTOR_ENABLE_FLETCH_OPENCV}
-DOpenCV_SELECT_VERSION:STRING=4.5.1
-Dfletch_ENABLE_OpenCV_FFmpeg:BOOL=ON
-Dfletch_ENABLE_OpenCV_contrib:BOOL=ON
-Dfletch_ENABLE_OpenCV_highgui:BOOL=ON
-Dfletch_ENABLE_PDAL:BOOL=${TELESCULPTOR_ENABLE_FLETCH_PDAL}
-Dfletch_ENABLE_PNG:BOOL=${TELESCULPTOR_ENABLE_FLETCH_PNG}
-Dfletch_ENABLE_PROJ:BOOL=${TELESCULPTOR_ENABLE_FLETCH_PROJ}
-Dfletch_ENABLE_PostGIS:BOOL=OFF
-Dfletch_ENABLE_PostgresSQL:BOOL=OFF
-Dfletch_ENABLE_Protobuf:BOOL=OFF
-Dfletch_ENABLE_Qt:BOOL=${TELESCULPTOR_ENABLE_FLETCH_QT}
-DBUILD_Qt_MINIMAL:BOOL=ON
-DQt_SELECT_VERSION:STRING=5.12.8
-Dfletch_ENABLE_Snappy:BOOL=OFF
-Dfletch_ENABLE_SQLite3:BOOL=${TELESCULPTOR_ENABLE_FLETCH_PROJ}
-Dfletch_ENABLE_SuiteSparse:BOOL=${TELESCULPTOR_ENABLE_FLETCH_CERES}
-Dfletch_ENABLE_TinyXML:BOOL=OFF
-Dfletch_ENABLE_VTK:BOOL=${TELESCULPTOR_ENABLE_FLETCH_VTK}
-DVTK_SELECT_VERSION:STRING=9.0
-Dfletch_ENABLE_VXL:BOOL=ON
-Dfletch_ENABLE_YAMLcpp:BOOL=OFF
-Dfletch_ENABLE_ZLib:BOOL=${TELESCULPTOR_ENABLE_FLETCH_ZLIB}
-Dfletch_ENABLE_libgeotiff:BOOL=${TELESCULPTOR_ENABLE_FLETCH_GEOTIFF}
-Dfletch_ENABLE_libjpeg-turbo:BOOL=${TELESCULPTOR_ENABLE_FLETCH_JPEG}
-Dfletch_ENABLE_libjson:BOOL=OFF
-Dfletch_ENABLE_libkml:BOOL=OFF
-Dfletch_ENABLE_libtiff:BOOL=${TELESCULPTOR_ENABLE_FLETCH_TIFF}
-Dfletch_ENABLE_log4cplus:BOOL=ON
-Dfletch_ENABLE_openjpeg:BOOL=OFF
-Dfletch_ENABLE_qtExtensions:BOOL=ON
-Dfletch_ENABLE_pybind11:BOOL=${TELESCULPTOR_ENABLE_PYTHON}
-Dfletch_ENABLE_shapelib:BOOL=OFF
-Dfletch_BUILD_WITH_CUDA:BOOL=${TELESCULPTOR_ENABLE_CUDA}
-DCUDA_TOOLKIT_ROOT_DIR:PATH=${CUDA_TOOLKIT_ROOT_DIR}
-Dfletch_PYTHON_MAJOR_VERSION:STRING=3
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CONFIGURATION_TYPES:STRING=${CMAKE_CONFIGURATION_TYPES}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
${CMAKE_CXX_COMPILER_LAUNCHER_FLAG}
${CMAKE_C_COMPILER_LAUNCHER_FLAG}
-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}
-DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS}
-DADDITIONAL_C_FLAGS:STRING=${ADDITIONAL_C_FLAGS}
-DADDITIONAL_CXX_FLAGS:STRING=${ADDITIONAL_CXX_FLAGS}
${FLETCH_ADDITIONAL_OPTIONS}
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Skipping install step."
USES_TERMINAL_BUILD 1
)
foreach(config ${CMAKE_CONFIGURATION_TYPES})
foreach (CONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
set(configs ${CMAKE_CONFIGURATION_TYPES})
FOREACH(config ${CMAKE_CONFIGURATION_TYPES})
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
ExternalProject_Add(godotcpp
GIT_REPOSITORY https://github.com/godotengine/godot-cpp
GIT_TAG 316b91c5f5d89d82ae935513c28df78f9e238e8b
SOURCE_DIR ${CMAKE_BINARY_DIR}/godot-cpp
BINARY_DIR ${CMAKE_BINARY_DIR}/godot-cpp-build
CMAKE_ARGS
-G ${CMAKE_GENERATOR}
-D CMAKE_BUILD_TYPE=${GODOT_CPP_BUILD_TYPE}
-D CMAKE_CONFIGURATION_TYPES=${GODOT_CPP_BUILD_TYPE}
-D CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-D CMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-D PYTHON_EXECUTABLE=${Python3_EXECUTABLE}
-D Python3_EXECUTABLE=${Python3_EXECUTABLE}
${CL_ARGS}
INSTALL_COMMAND ""
)
find_program(DCMTK_DCMQRSCP_EXECUTABLE dcmqrscp
PATHS
${DCMTK_DIR}/bin
PATH_SUFFIXES
${CMAKE_CONFIGURATION_TYPES}
NO_DEFAULT_PATH
)
foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
foreach(CONFIG ${CMAKE_CONFIGURATION_TYPES})
ExternalProject_Add(DakotaJavaSurrogatesDLL
PREFIX ${Dakota_BINARY_DIR}/DjsDll
BINARY_DIR ${Dakota_BINARY_DIR}/DjsDll/build
STAMP_DIR ${Dakota_BINARY_DIR}/DjsDll/stamp
SOURCE_DIR "${Dakota_SOURCE_DIR}"
CMAKE_ARGS
##-D CMAKE_BUILD_TYPE:STRING=RELEASE
##-D CMAKE_CONFIGURATION_TYPES:STRING=Release
-D CMAKE_INSTALL_PREFIX:PATH=${Dakota_BINARY_DIR}/DjsDll/install
-D DAKOTA_JAVA_SURROGATES_EXTPROJ:BOOL=TRUE
-D BUILD_SHARED_LIBS:BOOL=TRUE
-D CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=TRUE
-D DAKOTA_MODULE_DAKOTA:BOOL=FALSE
-D DAKOTA_JAVA_SURROGATES:BOOL=TRUE
-D JAVA_HOME=${JAVA_HOME}
-D BOOST_INCLUDEDIR=${Boost_INCLUDE_DIR}
-D BOOST_LIBRARYDIR=${Boost_LIBRARY_DIR}
-D BLAS_LIBRARY_DIRS=${DAKOTA_LAPACK_DLL_DIR}
-D LAPACK_LIBRARY_DIRS=${DAKOTA_LAPACK_DLL_DIR}
-D LAPACK_DIR=${DAKOTA_LAPACK_CONFIG_DIR}
-D Python3_EXECUTABLE=$<TARGET_FILE:Python3::Interpreter>
)
cmake_print_variables(CMAKE_CONFIGURATION_TYPES)
mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
foreach (varname IN ITEMS CMAKE_CONFIGURATION_TYPES CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "${CMAKE_CONFIGURATION_TYPES}")
FOREACH(config_ ${CMAKE_CONFIGURATION_TYPES})
ExternalProject_Add(${proj}
LIST_SEPARATOR ${sep}
DOWNLOAD_COMMAND ""
CMAKE_GENERATOR ${gen}
CMAKE_GENERATOR_PLATFORM ${gen_platform}
CMAKE_CACHE_ARGS
# --------------- Build options ----------------
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DMITK_BUILD_CONFIGURATION:STRING=${MITK_BUILD_CONFIGURATION}
-DMITK_XVFB_TESTING_COMMAND:STRING=${MITK_XVFB_TESTING_COMMAND}
"-DCMAKE_CONFIGURATION_TYPES:STRING=${CMAKE_CONFIGURATION_TYPES}"
"-DCMAKE_PREFIX_PATH:PATH=${ep_prefix};${CMAKE_PREFIX_PATH}"
"-DCMAKE_LIBRARY_PATH:PATH=${CMAKE_LIBRARY_PATH}"
"-DCMAKE_INCLUDE_PATH:PATH=${CMAKE_INCLUDE_PATH}"
# --------------- Compile options ----------------
-DCMAKE_CXX_EXTENSIONS:STRING=${CMAKE_CXX_EXTENSIONS}
-DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=${CMAKE_CXX_STANDARD_REQUIRED}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
"-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS} ${MITK_ADDITIONAL_C_FLAGS}"
"-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} ${MITK_ADDITIONAL_CXX_FLAGS}"
# debug flags
"-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG} ${MITK_ADDITIONAL_CXX_FLAGS_DEBUG}"
"-DCMAKE_C_FLAGS_DEBUG:STRING=${CMAKE_C_FLAGS_DEBUG} ${MITK_ADDITIONAL_C_FLAGS_DEBUG}"
# release flags
"-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE} ${MITK_ADDITIONAL_CXX_FLAGS_RELEASE}"
"-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE} ${MITK_ADDITIONAL_C_FLAGS_RELEASE}"
# relwithdebinfo
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_C_FLAGS_RELWITHDEBINFO}
# link flags
"-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS} ${MITK_ADDITIONAL_EXE_LINKER_FLAGS}"
"-DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS} ${MITK_ADDITIONAL_SHARED_LINKER_FLAGS}"
"-DCMAKE_MODULE_LINKER_FLAGS:STRING=${CMAKE_MODULE_LINKER_FLAGS} ${MITK_ADDITIONAL_MODULE_LINKER_FLAGS}"
# Output directories
-DMITK_CMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${MITK_CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DMITK_CMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${MITK_CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DMITK_CMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${MITK_CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
# ------------- Boolean build options --------------
${mitk_superbuild_boolean_args}
${mitk_optional_cache_args}
-DMITK_USE_SUPERBUILD:BOOL=OFF
-DMITK_PCH:BOOL=${MITK_PCH}
-DMITK_FAST_TESTING:BOOL=${MITK_FAST_TESTING}
-DMITK_XVFB_TESTING:BOOL=${MITK_XVFB_TESTING}
-DCTEST_USE_LAUNCHERS:BOOL=${CTEST_USE_LAUNCHERS}
# ----------------- Miscellaneous ---------------
-DCMAKE_LIBRARY_PATH:PATH=${CMAKE_LIBRARY_PATH}
-DCMAKE_INCLUDE_PATH:PATH=${CMAKE_INCLUDE_PATH}
-DMITK_CTEST_SCRIPT_MODE:STRING=${MITK_CTEST_SCRIPT_MODE}
-DMITK_SUPERBUILD_BINARY_DIR:PATH=${MITK_BINARY_DIR}
-DMITK_MODULES_TO_BUILD:INTERNAL=${MITK_MODULES_TO_BUILD}
-DMITK_WHITELIST:STRING=${MITK_WHITELIST}
-DMITK_WHITELISTS_EXTERNAL_PATH:STRING=${MITK_WHITELISTS_EXTERNAL_PATH}
-DMITK_WHITELISTS_INTERNAL_PATH:STRING=${MITK_WHITELISTS_INTERNAL_PATH}
-DMITK_EXTENSION_DIRS:STRING=${MITK_EXTENSION_DIRS}
-DMITK_ACCESSBYITK_INTEGRAL_PIXEL_TYPES:STRING=${MITK_ACCESSBYITK_INTEGRAL_PIXEL_TYPES}
-DMITK_ACCESSBYITK_FLOATING_PIXEL_TYPES:STRING=${MITK_ACCESSBYITK_FLOATING_PIXEL_TYPES}
-DMITK_ACCESSBYITK_COMPOSITE_PIXEL_TYPES:STRING=${MITK_ACCESSBYITK_COMPOSITE_PIXEL_TYPES}
-DMITK_ACCESSBYITK_VECTOR_PIXEL_TYPES:STRING=${MITK_ACCESSBYITK_VECTOR_PIXEL_TYPES}
-DMITK_ACCESSBYITK_DIMENSIONS:STRING=${MITK_ACCESSBYITK_DIMENSIONS}
-DMITK_CUSTOM_REVISION_DESC:STRING=${MITK_CUSTOM_REVISION_DESC}
"-DMITK_CODESIGN_IDENTITY:STRING=${MITK_CODESIGN_IDENTITY}"
# --------------- External project options ---------------
-DMITK_DATA_DIR:PATH=${MITK_DATA_DIR}
-DMITK_EXTERNAL_PROJECT_PREFIX:PATH=${ep_prefix}
-DCppMicroServices_DIR:PATH=${CppMicroServices_DIR}
-DDCMTK_CMAKE_DEBUG_POSTFIX:STRING=${DCMTK_CMAKE_DEBUG_POSTFIX}
-DBoost_ROOT:PATH=${Boost_ROOT}
-DBOOST_LIBRARYDIR:PATH=${BOOST_LIBRARYDIR}
-DMITK_USE_Boost_LIBRARIES:STRING=${MITK_USE_Boost_LIBRARIES}
-DQt6_DIR:PATH=${Qt6_DIR}
CMAKE_ARGS
${mitk_initial_cache_arg}
${MAC_OSX_ARCHITECTURE_ARGS}
${mitk_superbuild_ep_args}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
BINARY_DIR ${CMAKE_BINARY_DIR}/MITK-build
BUILD_COMMAND ""
INSTALL_COMMAND ""
DEPENDS
MITK-Utilities
)
else (CMAKE_CONFIGURATION_TYPES)
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
unset(CMAKE_CONFIGURATION_TYPES CACHE)
cmake_dependent_option(
${PROJECT_NAME}_${_TYPE}_IN_CONFIGURATION_TYPES
"Should the ${_TYPE} target be in the CMAKE_CONFIGURATION_TYPES list if supported ?"
ON
# No need for this option if we are not using a multi-config generator
"CMAKE_CONFIGURATION_TYPES;${PROJECT_NAME}_${_TYPE}_SUPPORTED"
OFF
)
foreach(build_mode ${CMAKE_CONFIGURATION_TYPES})
foreach(BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})
if(CMAKE_CONFIGURATION_TYPES)
else (CMAKE_CONFIGURATION_TYPES)
ExternalProject_Add(
laslib
SOURCE_DIR ${PROJECT_SOURCE_DIR}/LAStools
CMAKE_ARGS
-D CMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-D CMAKE_CONFIGURATION_TYPES:STRING=${CMAKE_BUILD_TYPE}
-D CMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
INSTALL_DIR "${CMAKE_INSTALL_PREFIX}"
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
)
if(NOT CMAKE_CONFIGURATION_TYPES)
string(TOUPPER "${CMAKE_CONFIGURATION_TYPES}" upper)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "${CMAKE_CONFIGURATION_TYPES}")
if(CMAKE_CONFIGURATION_TYPES)
else (CMAKE_CONFIGURATION_TYPES)
string(TOUPPER "${CMAKE_CONFIGURATION_TYPES}" upper)
else (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )