qcad/qcad
src/entity/CMakeLists.txt
:102
if (CMAKE_BUILD_TYPE STREQUAL "Release")
if (CMAKE_BUILD_TYPE STREQUAL "Release")
execute_process(
COMMAND ${CMAKE_COMMAND} -G "${ASPECT_TEST_GENERATOR}"
-D ASPECT_RUN_ALL_TESTS=${ASPECT_RUN_ALL_TESTS}
-D ASPECT_COMPARE_TEST_RESULTS=${ASPECT_COMPARE_TEST_RESULTS}
-D Aspect_DIR=${CMAKE_BINARY_DIR}
-D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-D ASPECT_BINARY=${CMAKE_BINARY_DIR}/aspect
${CMAKE_CURRENT_SOURCE_DIR}/tests
OUTPUT_FILE setup_tests.log
RESULT_VARIABLE test_cmake_result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests
)
cmake_dependent_option (URHO3D_HASH_DEBUG "Enable StringHash reversing and hash collision detection at the expense of memory and performance penalty" FALSE "NOT CMAKE_BUILD_TYPE STREQUAL Release" FALSE)
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
ExternalProject_Add(aliceVision
PREFIX ${CMAKE_CURRENT_SOURCE_DIR}
BUILD_IN_SOURCE 0
BUILD_ALWAYS 1
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src
BINARY_DIR ${BUILD_DIR}/aliceVision_build
INSTALL_DIR ${CMAKE_INSTALL_PREFIX}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DBUILD_SHARED_LIBS:BOOL=ON -DTARGET_ARCHITECTURE=core
-DALICEVISION_ROOT=${ALICEVISION_ROOT}
-DALICEVISION_USE_ALEMBIC=ON
-DMINIGLOG=ON
-DALICEVISION_USE_CCTAG=${AV_BUILD_CCTAG}
-DALICEVISION_USE_APRILTAG=${AV_BUILD_APRILTAG}
-DALICEVISION_USE_OPENCV=${AV_BUILD_OPENCV}
-DALICEVISION_USE_OPENGV=${AV_BUILD_OPENGV}
-DALICEVISION_USE_POPSIFT=${AV_BUILD_POPSIFT}
-DALICEVISION_USE_CUDA=${AV_USE_CUDA}
-DALICEVISION_BUILD_SWIG_BINDING=${AV_USE_SWIG}
-DALICEVISION_BUILD_DOC=OFF
${ZLIB_CMAKE_FLAGS}
${ASSIMP_CMAKE_FLAGS}
${EIGEN_CMAKE_FLAGS}
${OPENIMAGEIO_CMAKE_FLAGS}
${OPENEXR_CMAKE_FLAGS}
${BOOST_CMAKE_FLAGS}
${ALEMBIC_CMAKE_FLAGS}
${GEOGRAM_CMAKE_FLAGS}
${LAPACK_CMAKE_FLAGS}
${CERES_CMAKE_FLAGS}
${CUDA_CMAKE_FLAGS}
${POPSIFT_CMAKE_FLAGS}
${OPENGV_CMAKE_FLAGS}
${OPENCV_CMAKE_FLAGS}
${CCTAG_CMAKE_FLAGS}
${APRILTAG_CMAKE_FLAGS}
${EXPAT_CMAKE_FLAGS}
${COINUTILS_CMAKE_FLAGS} ${OSI_CMAKE_FLAGS} ${CLP_CMAKE_FLAGS}
${LZ4_CMAKE_FLAGS}
${FLANN_CMAKE_FLAGS}
${NANOFLANN_CMAKE_FLAGS}
${PCL_CMAKE_FLAGS}
${USD_CMAKE_FLAGS}
${SWIG_CMAKE_FLAGS}
${E57FORMAT_CMAKE_FLAGS}
${OPENMESH_CMAKE_FLAGS}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> <SOURCE_DIR>
DEPENDS ${AV_DEPS}
)
ExternalProject_Add(
dep_${projectname}
INSTALL_DIR ${${PROJECT_NAME}_DEP_INSTALL_PREFIX}
DOWNLOAD_DIR ${${PROJECT_NAME}_DEP_DOWNLOAD_DIR}/${projectname}
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/builds/${projectname}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${${PROJECT_NAME}_DEP_INSTALL_PREFIX}
-DCMAKE_MODULE_PATH:STRING=${CMAKE_MODULE_PATH}
-DCMAKE_PREFIX_PATH:STRING=${${PROJECT_NAME}_DEP_INSTALL_PREFIX}
-DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_CXX_FLAGS_${_build_type_upper}:STRING=${CMAKE_CXX_FLAGS_${_build_type_upper}}
-DCMAKE_C_FLAGS_${_build_type_upper}:STRING=${CMAKE_C_FLAGS_${_build_type_upper}}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
"${_configs_line}"
${DEP_CMAKE_OPTS}
${P_ARGS_CMAKE_ARGS}
${P_ARGS_UNPARSED_ARGUMENTS}
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${CMAKE_BUILD_TYPE} -- ${_build_j} ${_verbose_switch}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE}
)
message(WARNING "Please use CMake's CMAKE_C_FLAGS and CMAKE_BUILD_TYPE variables directly.")
SET(CMAKE_BUILD_TYPE Release)
install(
TARGETS ${ARGS_TARGET}
EXPORT ${ARGS_TARGET}Targets
CONFIGURATIONS ${CMAKE_BUILD_TYPE}
RUNTIME DESTINATION bin
OBJECTS DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
INCLUDES
DESTINATION include
)
ExternalProject_Add(${NAME}
PREFIX ${NAME}
SOURCE_DIR "${examples_dir}"
BINARY_DIR ${NAME}
STAMP_DIR ${NAME}/logs
INSTALL_COMMAND "" #Skip
LOG_CONFIGURE 1
CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-Dprotobuf_VERBOSE:BOOL=${protobuf_VERBOSE}"
${ARGN}
)
if (DEFINED CMAKE_BUILD_TYPE)
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo" AND ARGUMENTS_RELWITHDEBINFO_PROFILE)
cmake_print_variables(CMAKE_BUILD_TYPE)
if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
MESSAGE("Build type: " ${CMAKE_BUILD_TYPE})
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
add_custom_target(sim
COMMAND ${CMAKE_COMMAND}
--build ${SIM_BINARY_DIR}
--config ${CMAKE_BUILD_TYPE}
COMMENT "Building for i386 (simulator)"
VERBATIM
)
add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc"
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/../oslc/${CMAKE_BUILD_TYPE}/oslc.exe" "${CMAKE_CURRENT_BINARY_DIR}/../oslc/"
DEPENDS oslc)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
LINK_DIRECTORIES(${EO_BINARY_DIR}\\lib\\${CMAKE_BUILD_TYPE})
string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_tolower)
add_custom_target(install-mtkahypar-cli
${CMAKE_COMMAND}
-DBUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_COMPONENT=MtKaHyPar_CLI
-P ${CMAKE_BINARY_DIR}/cmake_install.cmake
DEPENDS MtKaHyPar-CLI)
message(FATAL_ERROR "Invalid build type: ${CMAKE_BUILD_TYPE}")
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
ExternalProject_Add(nvshmem_device_project
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/device
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/device
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DNVSHMEM_PREFIX=${NVSHMEM_PREFIX}
-DNVSHMEM_DEBUG=${NVSHMEM_DEBUG}
-DNVSHMEM_DEVICELIB_CUDA_HOME=${NVSHMEM_DEVICELIB_CUDA_HOME}
-DNVSHMEM_ENABLE_ALL_DEVICE_INLINING=${NVSHMEM_ENABLE_ALL_DEVICE_INLINING}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CUDA_HOST_COMPILER=${CMAKE_CUDA_HOST_COMPILER}
-DPROJECT_VERSION=${PROJECT_VERSION}
$ENV{CMAKE_CCACHE_FLAGS}
CMAKE_CACHE_ARGS ${my_cmake_cache_args}
STEP_TARGETS build install
BUILD_ALWAYS TRUE
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/lib/libnvshmem_device.a
)
ExternalProject_Add(libssh
URL ${LIBSSH_URL}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBSSH_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_FLAGS=-fPIC -DBUILD_SHARED_LIBS=N -DWITH_GSSAPI=N -DCMAKE_INSTALL_LIBDIR=lib
SOURCE_DIR ${CMAKE_BINARY_DIR}/libssh/source
BINARY_DIR ${CMAKE_BINARY_DIR}/libssh/build
INSTALL_DIR ${LIBSSH_INSTALL_DIR}
UPDATE_COMMAND ""
LOG_OUTPUT_ON_FAILURE 1
LOG_DOWNLOAD 1
LOG_UPDATE 1
LOG_CONFIGURE 1
LOG_BUILD 1
LOG_INSTALL 1)
CMAKE_DEPENDENT_OPTION(WITH_TESTS "build with tests" ON
"CMAKE_BUILD_TYPE STREQUAL Debug" OFF)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release" "Debug" "RelWithDebInfo" "MinSizeRel")
elseif("${CMAKE_BUILD_TYPE}" STREQUAL ${EZ_BUILDTYPENAME_RELEASE})
ExternalProject_Add(gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}
GIT_REPOSITORY https://github.com/SGL-UT/gnsstk
GIT_TAG v${GNSSSDR_GNSSTK_LOCAL_VERSION}
SOURCE_DIR ${GNSSSDR_BINARY_DIR}/thirdparty/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}
BINARY_DIR ${GNSSSDR_BINARY_DIR}/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}
PATCH_COMMAND ${GNSSTK_PATCH_COMMAND}
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG}
-DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/gnsstk-${GNSSSDR_GNSSTK_LOCAL_VERSION}/install
-DBUILD_EXT=ON
-DBUILD_PYTHON=OFF
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_STANDARD=11
-DCMAKE_CXX_EXTENSIONS=ON
-DCMAKE_C_STANDARD=11
-DCMAKE_C_EXTENSIONS=ON
BUILD_COMMAND ${GNSSTK_BUILD_COMMAND}
UPDATE_COMMAND ""
)
set_tests_properties(DocCodeConfigureTest-${CMAKE_BUILD_TYPE} PROPERTIES
DEPENDS "InstallTest;DocCodeCreateDirTest"
ENVIRONMENT "LDFLAGS=-fprofile-arcs")
ExternalProject_Add(psi4-core
DEPENDS lapack_external
hdf5_external
ambit_external
bse_external
chemps2_external
cppe_external
dkh_external
ecpint_external
libefp_external
einsums_external
gau2grid_external
gdma_external
libint2_external
pcmsolver_external
ddx_external
pybind11_external
pylibefp_external
qcelemental_external
qcengine_external
qcmanybody_external
openorbitaloptimizer_external
optking_external
simint_external
libxc_external
mdi_external
brianqc_external
integratorxx_external
gauxc_external
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/psi4
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-DCMAKE_CXX_STANDARD=${psi4_CXX_STANDARD}
-Dpsi4_CXX_STANDARD_Libint2=${psi4_CXX_STANDARD_Libint2}
-DCMAKE_CXX_STANDARD_REQUIRED=ON
-DCMAKE_CXX_EXTENSIONS=OFF
-DFORCE_PEDANTIC=${FORCE_PEDANTIC}
-DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
-DCMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR}
-DCMAKE_INSTALL_DATADIR=${CMAKE_INSTALL_DATADIR}
-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}
-Dpsi4_INSTALL_CMAKEDIR=${psi4_INSTALL_CMAKEDIR}
-DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE}
-DPYMOD_INSTALL_LIBDIR=${PYMOD_INSTALL_LIBDIR}
-DMAX_AM_ERI=${MAX_AM_ERI}
-DPython_EXECUTABLE=${Python_EXECUTABLE}
-DPython_INCLUDE_DIR=${Python_INCLUDE_DIRS}
-DPython_LIBRARY=${Python_LIBRARIES}
-DPython_NumPy_INCLUDE_DIR=${Python_NumPy_INCLUDE_DIR}
-DPSI4_ROOT=${CMAKE_CURRENT_SOURCE_DIR}
-DENABLE_ambit=${ENABLE_ambit}
-DENABLE_CheMPS2=${ENABLE_CheMPS2}
-DENABLE_cppe=${ENABLE_cppe}
-DENABLE_dkh=${ENABLE_dkh}
-DENABLE_IntegratorXX=${ENABLE_IntegratorXX}
-DENABLE_gauxc=${ENABLE_gauxc}
-DENABLE_ecpint=${ENABLE_ecpint}
-DENABLE_libefp=${ENABLE_libefp}
-DENABLE_Einsums=${ENABLE_Einsums}
-DENABLE_simint=${ENABLE_simint}
-DENABLE_gdma=${ENABLE_gdma}
-DENABLE_PCMSolver=${ENABLE_PCMSolver}
-DENABLE_ddx=${ENABLE_ddx}
-DENABLE_mdi=${ENABLE_mdi}
-DENABLE_BrianQC=${ENABLE_BrianQC}
-DENABLE_OpenOrbitalOptimizer=${ENABLE_OpenOrbitalOptimizer}
-DENABLE_OPENMP=${ENABLE_OPENMP}
-DTargetLAPACK_DIR=${TargetLAPACK_DIR}
-DTargetHDF5_DIR=${TargetHDF5_DIR}
-DEigen3_DIR=${Eigen3_DIR}
-Dambit_DIR=${ambit_DIR}
-DCheMPS2_DIR=${CheMPS2_DIR}
-Ddkh_DIR=${dkh_DIR}
-Decpint_DIR=${ecpint_DIR}
-Dlibefp_DIR=${libefp_DIR}
-DEinsums_DIR=${Einsums_DIR}
-Dgau2grid_DIR=${gau2grid_DIR}
-Dgdma_DIR=${gdma_DIR}
-DLibint2_DIR=${Libint2_DIR}
-DOpenOrbitalOptimizer_DIR=${OpenOrbitalOptimizer_DIR}
-DPCMSolver_DIR=${PCMSolver_DIR}
-Dmdi_DIR=${mdi_DIR}
-Dpybind11_DIR=${pybind11_DIR}
-DIntegratorXX_DIR=${IntegratorXX_DIR}
-Dgauxc_DIR=${gauxc_DIR}
-Dpylibefp_DIR=${pylibefp_DIR}
-Dsimint_DIR=${simint_DIR}
-DLibxc_DIR=${Libxc_DIR}
-DBrianQC_DIR=${BrianQC_DIR}
-DFortran_ENABLED=${Fortran_ENABLED}
-DLIBC_INTERJECT=${LIBC_INTERJECT}
-DRESTRICT_KEYWORD=${RESTRICT_KEYWORD}
-DFC_SYMBOL=${FC_SYMBOL}
-DOpenMP_LIBRARY_DIRS=${OpenMP_LIBRARY_DIRS}
-DOpenMP_C_FLAGS=${OpenMP_C_FLAGS}
-DOpenMP_CXX_FLAGS=${OpenMP_CXX_FLAGS}
-DOpenMP_omp_LIBRARY=${OpenMP_omp_LIBRARY}
-DOpenMP_gomp_LIBRARY=${OpenMP_gomp_LIBRARY}
-DOpenMP_libiomp5md_LIBRARY=${OpenMP_libiomp5md_LIBRARY}
-DOpenMP_pthread_LIBRARY=${OpenMP_pthread_LIBRARY}
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-DENABLE_CYTHONIZE=${ENABLE_CYTHONIZE}
-Dpsi4_SHGSHELL_ORDERING=${psi4_SHGSHELL_ORDERING}
CMAKE_CACHE_ARGS -DCMAKE_PREFIX_PATH:PATH=${_cmake_CMAKE_PREFIX_PATH}
-DCMAKE_C_COMPILER_ARG1:STRING=${CMAKE_C_COMPILER_ARG1}
-DCMAKE_CXX_COMPILER_ARG1:STRING=${CMAKE_CXX_COMPILER_ARG1}
-DCMAKE_Fortran_COMPILER_ARG1:STRING=${CMAKE_Fortran_COMPILER_ARG1}
# CMAKE_<lang>_COMPILER_ARG1 vars pass args thru when CMAKE_<lang>_COMPILER set as "compiler --vital-args"
-DOpenMP_C_LIB_NAMES:STRING=${OpenMP_C_LIB_NAMES}
-DOpenMP_CXX_LIB_NAMES:STRING=${OpenMP_CXX_LIB_NAMES}
USES_TERMINAL_BUILD 1
BUILD_ALWAYS 1)
ExternalProject_Add(
build32
SOURCE_DIR "${CMAKE_SOURCE_DIR}"
STAMP_DIR "${CMAKE_BINARY_DIR}/stamp32"
BINARY_DIR "${CMAKE_BINARY_DIR}/build32"
INSTALL_DIR "${CMAKE_BINARY_DIR}/install32"
BUILD_ALWAYS ON
EXCLUDE_FROM_ALL ON
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND
"${CMAKE_COMMAND}"
-S "<SOURCE_DIR>"
-B "<BINARY_DIR>"
-G "${CMAKE_GENERATOR}"
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
-A Win32
"-DBUILD_OUT_PREFIX=${BUILD_OUT_PREFIX}"
-DWITH_ASAN=${WITH_ASAN}
BUILD_COMMAND
"${CMAKE_COMMAND}"
--build "<BINARY_DIR>"
--config "$<CONFIG>"
--target build32
--parallel
INSTALL_COMMAND
""
)
get_target_property(prop_cfg_outname "${target}" "${OUTPUT_NAME}_${CMAKE_BUILD_TYPE}")
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
set_source_files_properties(${CMAKE_SOURCE_DIR}/src/monosat/Version.cpp VERBATIM PROPERTIES COMPILE_FLAGS "-DMONOSAT_BUILD=${CMAKE_BUILD_TYPE} -DMONOSAT_VERSION=\"$\(shell git describe --abbrev=4 --dirty --always --tags\)\"")
ExternalProject_Add(
nvImageCodec
GIT_REPOSITORY https://github.com/NVIDIA/nvImageCodec.git
GIT_TAG v0.6.0
GIT_SUBMODULES "external/pybind11"
"external/NVTX"
"external/googletest"
"external/dlpack"
"external/boost/preprocessor"
CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
"-DCMAKE_INSTALL_PREFIX=${NVIMGCODEC_INSTALL_PREFIX}"
"-DBUILD_TEST=OFF"
"-DBUILD_SAMPLES=OFF"
"-DBUILD_PYTHON=OFF"
"-DBUILD_NVJPEG2K_EXT=${BUILD_NVJPEG2K}"
"-DWITH_DYNAMIC_NVJPEG2K=OFF"
"-DBUILD_NVJPEG_EXT=${BUILD_NVJPEG}"
"-DWITH_DYNAMIC_NVJPEG=${WITH_DYNAMIC_NVJPEG}"
"-DBUILD_NVTIFF_EXT=OFF"
"-DWITH_DYNAMIC_NVTIFF=OFF"
"-DBUILD_NVBMP_EXT=OFF"
"-DBUILD_NVPNM_EXT=OFF"
"-DBUILD_LIBJPEG_TURBO_EXT=${BUILD_LIBJPEG_TURBO}"
"-DBUILD_LIBTIFF_EXT=${BUILD_LIBTIFF}"
"-DBUILD_OPENCV_EXT=${BUILD_OPENCV}"
"-DBUILD_DOCS=OFF"
"${EXTRA_CMAKE_OPTIONS_LIST}"
PREFIX "${NVIMGCODEC_INSTALL_PREFIX}"
)
set_tests_properties (testopt_algo${algo_index}_obj${obj_index} PROPERTIES ENVIRONMENT "PATH=${PROJECT_BINARY_DIR}\\${CMAKE_BUILD_TYPE};$ENV{PATH}")
set_property(CACHE CMAKE_BUILD_TYPE
PROPERTY
STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
ExternalProject_Add(${LOCAL_PROJECT_NAME}
DEPENDS ${${LOCAL_PROJECT_NAME}_DEPENDENCIES}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
BINARY_DIR ${LOCAL_PROJECT_NAME}-${CMAKE_BUILD_TYPE}-EP${EXTERNAL_PROJECT_BUILD_TYPE}-build
DOWNLOAD_COMMAND ""
UPDATE_COMMAND ""
CMAKE_GENERATOR ${gen}
CMAKE_ARGS
--no-warn-unused-cli # HACK Only expected variables should be passed down.
CMAKE_CACHE_ARGS
-D${LOCAL_PROJECT_NAME}_SUPERBUILD:BOOL=OFF # This must be here
-DBUILD_TESTING:BOOL=${${LOCAL_PROJECT_NAME}_BUILD_TESTING}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_EXAMPLES:BOOL=${${LOCAL_PROJECT_NAME}_BUILD_TESTING}
-DCMAKE_INSTALL_PREFIX_SET:BOOL=TRUE
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
${MYBRAINSTools_EP_ARGS} # This appends the "mark_as_superbuild" variables to the written out cache for clion use
#INSTALL_COMMAND ""
LOG_CONFIGURE ON
LOG_BUILD ON
)
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND}
-G "${CMAKE_GENERATOR}"
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_PREFIX_PATH=${TULIP_INSTALL_DIR}/lib/cmake
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
../${PLUGINS_SRC_DIR_NAME}
WORKING_DIRECTORY ${PLUGINS_BUILD_DIR}
RESULT_VARIABLE CMD_RESULT)
ExternalProject_Add(Externals
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Externals
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Externals-build
DOWNLOAD_COMMAND ""
UPDATE_COMMAND ""
INSTALL_COMMAND ""
CMAKE_CACHE_ARGS
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_MACOSX_RPATH:BOOL=ON
-DBUILD_TESTING:BOOL=OFF
-DBUILD_EXAMPLES:BOOL=OFF
-DSV_USE_MITK:BOOL=${SV_CMAKE_DOWLOAD_MITK_EXTERNAL}
-DSV_GIT_PULL_SUBMODULES:BOOL=${SV_GIT_PULL_SUBMODULES}
-DSV_EXTERNALS_VERSION_NUMBER:STRING=${SV_EXTERNALS_VERSION_NUMBER}
# External packages directories
-DSV_FREETYPE_DIR:PATH=${SV_FREETYPE_DIR}
-DSV_GDCM_DIR:PATH=${SV_GDCM_DIR}
-DSV_HDF5_DIR:PATH=${SV_HDF5_DIR}
-DSV_ITK_DIR:PATH=${SV_ITK_DIR}
-DSV_MMG_DIR:PATH=${SV_MMG_DIR}
-DSV_MITK_DIR:PATH=${SV_MITK_DIR}
-DSV_ML_DIR:PATH=${SV_ML_DIR}
-DSV_OpenCASCADE_DIR:PATH=${SV_OpenCASCADE_DIR}
-DSV_PYTHON_DIR:PATH=${SV_PYTHON_DIR}
-DSV_TINYXML2_DIR:PATH=${SV_TINYXML2_DIR}
-DSV_Qt6_DIR:PATH=${SV_Qt6_DIR}
-DSV_VTK_DIR:PATH=${SV_VTK_DIR}
#
-DSV_EXTERNALS_USE_PREBUILT_QT:BOOL=${SV_EXTERNALS_USE_PREBUILT_QT}
-DSV_EXTERNALS_PREBUILT_QT_PATH:PATH=${SV_EXTERNALS_PREBUILT_QT_PATH}
-DQt6_DIR:PATH=${SV_EXTERNALS_PREBUILT_QT_PATH}
-DSV_EXTERNALS_TOPLEVEL_BIN_DIR:PATH=${SV_EXTERNALS_TOPLEVEL_BIN_DIR}
${SV_EXTERNALS_ADDITIONAL_CMAKE_ARGS}
)
ExternalProject_Add(igraph_0_10
PREFIX "${IGRAPH_INSTALL}"
URL "https://github.com/igraph/igraph/releases/download/0.10.12/igraph-0.10.12.tar.gz"
SOURCE_DIR "${IGRAPH_DOWNLOAD}"
CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${IGRAPH_INSTALL}" "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_INSTALL_LIBDIR=${IGRAPH_INSTALL}/lib" "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" "-Wno-deprecated" "-DIGRAPH_VERSION=0.10.12"
BINARY_DIR "${IGRAPH_BUILD}"
PATCH_COMMAND echo "No patch for igraph-0.10.x required"
INSTALL_DIR "${IGRAPH_INSTALL}"
BUILD_BYPRODUCTS "${IGRAPH_LIB}"
)
ExternalProject_Add(${name}
DEPENDS ${ARG_DEPENDS} llvm-config
${name}-clobber
PREFIX ${CMAKE_BINARY_DIR}/projects/${name}
SOURCE_DIR ${source_dir}
STAMP_DIR ${STAMP_DIR}
BINARY_DIR ${BINARY_DIR}
${exclude}
CMAKE_ARGS ${${nameCanon}_CMAKE_ARGS}
${compiler_args}
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
${sysroot_arg}
-DLLVM_BINARY_DIR=${PROJECT_BINARY_DIR}
-DLLVM_CONFIG_PATH=${llvm_config_path}
-DLLVM_ENABLE_WERROR=${LLVM_ENABLE_WERROR}
-DLLVM_HOST_TRIPLE=${LLVM_HOST_TRIPLE}
-DLLVM_HAVE_LINK_VERSION_SCRIPT=${LLVM_HAVE_LINK_VERSION_SCRIPT}
-DPACKAGE_VERSION=${PACKAGE_VERSION}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_EXPORT_COMPILE_COMMANDS=1
${ARG_CMAKE_ARGS}
${PASSTHROUGH_VARIABLES}
INSTALL_COMMAND ""
STEP_TARGETS configure build
BUILD_ALWAYS 1
USES_TERMINAL_CONFIGURE 1
USES_TERMINAL_BUILD 1
USES_TERMINAL_INSTALL 1
LIST_SEPARATOR |
)
elseif (CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
CMAKE_DEPENDENT_OPTION(WITH_CEPH_DEBUG_MUTEX "Use debug ceph::mutex with lockdep" ON
"CMAKE_BUILD_TYPE STREQUAL Debug" OFF)
ExternalProject_Add(
protobuf
PREFIX protobuf
UPDATE_DISCONNECTED 1
URL https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-cpp-${PROTOBUF_VERSION}.tar.gz
URL_HASH SHA256=ba4bbc3e6b58d2ccfe406e616576ef48710a2aae205f463618025fc691549cfe
SOURCE_SUBDIR cmake
CMAKE_ARGS
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DBUILD_SHARED_LIBS:BOOL=ON
-Dprotobuf_BUILD_TESTS:BOOL=OFF
-Dprotobuf_BUILD_EXAMPLES:BOOL=OFF
INSTALL_COMMAND ""
)
cmake_print_variables(CMAKE_BUILD_TYPE)
endif (NOT CMAKE_BUILD_TYPE)
ExternalProject_Add(
BUILTIN_CFITSIO
PREFIX ${CFITSIO_PREFIX}
URL https://lcgpackages.web.cern.ch/tarFiles/sources/cfitsio-${CFITSIO_VERSION}.tar.gz
URL_HASH SHA256=95900cf95ae760839e7cb9678a7b2fad0858d6ac12234f934bd1cb6bfc246ba9
CMAKE_ARGS -G ${CMAKE_GENERATOR}
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_FLAGS=${CFITSIO_C_FLAGS}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR=<INSTALL_DIR>/lib
-DBUILD_SHARED_LIBS=OFF
-DUSE_CURL=OFF
-DZLIB_FOUND=TRUE
-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIRS}
-DZLIB_LIBRARIES=$<TARGET_FILE:ZLIB::ZLIB>
# Skip the find_package(ZLIB REQUIRED), because we feed CFITSIO our own ZLIB flags.
PATCH_COMMAND git apply --ignore-space-change --ignore-whitespace
${CMAKE_CURRENT_SOURCE_DIR}/cfitsio-no-find-zlib.diff
${CMAKE_CURRENT_SOURCE_DIR}/no-fortran-wrapper.diff
BUILD_COMMAND ${CMAKE_COMMAND} --build . ${CFITSIO_BUILD_COMMAND_FLAGS}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . ${CFITSIO_BUILD_COMMAND_FLAGS} --target install
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
BUILD_BYPRODUCTS ${CFITSIO_LIBRARIES}
TIMEOUT 600
)
install (
FILES
${CMAKE_CURRENT_SOURCE_DIR}/compiled/${SYNCHRONI_SDK_WRAPPER_COMPILED_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/third_party/synchroni/lib/linux/${SYNCHRONI_SDK_ARCH}/For${CMAKE_BUILD_TYPE}/${SYNCHRONI_SDK_LINK_NAME_LIB}
DESTINATION lib
)
elseif(NOT CMAKE_BUILD_TYPE IN_LIST scylla_build_types)
add_definitions(-D"BUILD_TYPE=\\\"${CMAKE_BUILD_TYPE}\\\"")
ExternalProject_Add(
${ABSL_PROJECT}
PREFIX absl
URL ${ABSL_TAR_URL}
URL_MD5 52b9786ca6fbc679869fee2b6fef25a5
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${ABSL_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
-DCMAKE_INSTALL_PREFIX:PATH=${ABSL_INSTALL}
-DCMAKE_INSTALL_LIBDIR:PATH=${ABSL_INSTALL}/${CMAKE_INSTALL_LIBDIR}
-DCMAKE_INSTALL_MESSAGE:STRING=${CMAKE_INSTALL_MESSAGE}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE})
ExternalProject_Add(check-unit-test-framework
DEPENDS civetweb-c-library
## Use an official, released check version:
# URL "https://codeload.github.com/libcheck/check/zip/${CIVETWEB_CHECK_VERSION}"
# DOWNLOAD_NAME "${CIVETWEB_CHECK_VERSION}.zip"
# URL_MD5 ${CIVETWEB_CHECK_MD5_HASH}
## Use a civetweb specific patched version
URL "https://github.com/civetweb/check/archive/master.zip"
DOWNLOAD_NAME "master.zip"
# <Edit this file to flush AppVeyor build cache and force reloading check>
PREFIX "${CIVETWEB_THIRD_PARTY_DIR}"
BUILD_IN_SOURCE 1
PATCH_COMMAND ${CHECK_PATCH_COMMAND}
CMAKE_ARGS
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
"-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
"-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>"
LOG_DOWNLOAD ${THIRD_PARTY_LOGGING}
LOG_UPDATE ${THIRD_PARTY_LOGGING}
LOG_CONFIGURE ${THIRD_PARTY_LOGGING}
LOG_BUILD ${THIRD_PARTY_LOGGING}
LOG_TEST ${THIRD_PARTY_LOGGING}
LOG_INSTALL ${THIRD_PARTY_LOGGING})
ExternalProject_Add(${NAME}
PREFIX ${NAME}
SOURCE_DIR "${examples_dir}"
BINARY_DIR ${NAME}
STAMP_DIR ${NAME}/logs
INSTALL_COMMAND "" #Skip
LOG_CONFIGURE 1
CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-Dprotobuf_VERBOSE:BOOL=${protobuf_VERBOSE}"
${ARGN}
)
string(TOLOWER ${CMAKE_BUILD_TYPE} BUILD_TYPE_LOWER)
if (NOT CMAKE_BUILD_TYPE)
ExternalProject_Add(${NAME}
PREFIX ${NAME}
SOURCE_DIR "${examples_dir}"
BINARY_DIR ${NAME}
STAMP_DIR ${NAME}/logs
INSTALL_COMMAND "" #Skip
LOG_CONFIGURE 1
CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-Dprotobuf_VERBOSE:BOOL=${protobuf_VERBOSE}"
${ARGN}
)
message(STATUS "Build type: " ${BoldGreen} ${CMAKE_BUILD_TYPE} ${ColourReset})
set(FILE_GENERATE_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE})
add_custom_target (cppcheck COMMAND ${CMAKE_CTEST_COMMAND} --build-config ${CMAKE_BUILD_TYPE} --tests-regex "^cppcheck_"
DEPENDS ${CHECK_TO_BE_RUN}
COMMENT "Run C++ pre-installation tests")
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
ExternalProject_Add(${NAME}
PREFIX ${NAME}
SOURCE_DIR "${examples_dir}"
BINARY_DIR ${NAME}
STAMP_DIR ${NAME}/logs
INSTALL_COMMAND "" #Skip
LOG_CONFIGURE 1
CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-Dprotobuf_VERBOSE:BOOL=${protobuf_VERBOSE}"
${ARGN}
)
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "PROFILE_BUILD")
ExternalProject_Add(
ArgParse
GIT_REPOSITORY https://github.com/p-ranav/argparse
GIT_TAG v2.1 # v2.2 contains invalid constexpr usage
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ArgParse
USES_TERMINAL_INSTALL 0
UPDATE_DISCONNECTED ${ThirdPartyDisconnected}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/External
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DARGPARSE_BUILD_TESTS=OFF
-G ${CMAKE_GENERATOR}
)
ExternalProject_Add(
ext_intel_hexl
PREFIX ext_intel_hexl
GIT_REPOSITORY ${INTEL_HEXL_GIT_REPO_URL}
GIT_TAG ${INTEL_HEXL_GIT_LABEL}
CMAKE_ARGS
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DHEXL_SHARED_LIB=ON
-DHEXL_EXPERIMENTAL=ON
-DHEXL_DEBUG=OFF
-DHEXL_BENCHMARK=OFF
-DHEXL_COVERAGE=OFF
-DHEXL_TESTING=OFF
-DCMAKE_INSTALL_INCLUDEDIR=include
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/hexl-install
EXCLUDE_FROM_ALL TRUE
# Skip updates
UPDATE_COMMAND "")
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
)
set_property(TEST ${test_name} PROPERTY ENVIRONMENT
"CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}"
"CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
"PYTHONPATH=${pythonpath_value}"
"MV_HAL_PLUGIN_PATH=${PROJECT_BINARY_DIR}/${HAL_INSTALL_PLUGIN_RELATIVE_PATH}"
)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
ExternalProject_Add(${NAME}
PREFIX ${NAME}
SOURCE_DIR "${examples_dir}"
BINARY_DIR ${NAME}
STAMP_DIR ${NAME}/logs
INSTALL_COMMAND "" #Skip
LOG_CONFIGURE 1
CMAKE_CACHE_ARGS "-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-Dprotobuf_VERBOSE:BOOL=${protobuf_VERBOSE}"
${ARGN}
)
ExternalProject_Add(
google_benchmark
URL "https://github.com/google/benchmark/archive/v1.1.0.tar.gz"
URL_MD5 "66b2a23076cf70739525be0092fc3ae3"
CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:STRING=<INSTALL_DIR>
)
ExternalProject_Add(libjpeg-turbo-project
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.2.zip
URL_HASH SHA512=c048c041f0bf205a8a3c8b8928d7a44299466253789f533db91f6ae4209a9074d5baef2fbb8e0a4215b4e3d2ba30c784f51b6c79ce0d2b1ea75440b8ffb23859
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo"
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo"
BUILD_BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo/lib/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${LIBJPEG_TURBO_STATIC_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}"
CMAKE_CACHE_ARGS
-DENABLE_SHARED:BOOL=OFF
-DENABLE_STATIC:BOOL=ON
-DWITH_ARITH_DEC:BOOL=ON
-DWITH_ARITH_ENC:BOOL=ON
-DWITH_JPEG8:BOOL=OFF
-DWITH_JPEG7:BOOL=OFF
-DWITH_TURBOJPEG:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR:PATH=<INSTALL_DIR>/lib)
list (APPEND _configs "${CMAKE_BUILD_TYPE}")
cmake_dependent_option(
OPENASSETIO_ENABLE_TEST_ABI
"Enable ABI diff check test (Debug builds only)"
OFF
# Only visible if tests are enabled and this is a debug build (or is
# a multi-config generator so has no build type).
"OPENASSETIO_ENABLE_TESTS;NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug"
OFF
)
ExternalProject_Add(mockups-external
GIT_REPOSITORY ${BUILD_MOCKUPS_GIT_REPO}
GIT_SHALLOW ${BUILD_MOCKUPS_GIT_SHALLOW}
GIT_TAG ${BUILD_MOCKUPS_VERSION}
PREFIX "${CMAKE_BINARY_DIR}/external_projects"
UPDATE_COMMAND ""
BUILD_ALWAYS ON
CMAKE_COMMAND "${EXTERNAL_CMAKE_COMMAND}"
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>/mockups)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY HELPSTRING "Choose Build Type")
if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage")
ELSE(CMAKE_BUILD_TYPE MATCHES "Debug" OR NOT HAVE_CMAKE_BUILD_TYPE)
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
string (TOUPPER "${CMAKE_BUILD_TYPE}" U)
if (NOT CMAKE_BUILD_TYPE)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
add_custom_command(TARGET Kiwi POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CRT_LIB} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}" USES_TERMINAL)
execute_process(
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR}
-DAWS_NATIVE_SDK_ROOT=${AWS_NATIVE_SDK_ROOT}
-DBUILD_CURL=${BUILD_CURL}
-DCURL_SOURCE_DIR=${CURL_SOURCE_DIR}
-DCURL_INSTALL_DIR=${CURL_INSTALL_DIR}
-DCURL_OPENSSL_DEPENDENCY=${CURL_OPENSSL_DEPENDENCY}
-DCURL_ZLIB_DEPENDENCY=${CURL_ZLIB_DEPENDENCY}
-DCURL_CXX_FLAGS=${CURL_CXX_FLAGS}
-DCURL_C_FLAGS=${CURL_C_FLAGS}
-DCURL_STATIC_LINKER_FLAGS=${CURL_STATIC_LINKER_FLAGS}
-DCURL_SHARED_LINKER_FLAGS=${CURL_SHARED_LINKER_FLAGS}
-DCURL_EXE_LINKER_FLAGS=${CURL_EXE_LINKER_FLAGS}
-DCURL_USE_ZLIB=${CURL_USE_ZLIB}
-DBUILD_OPENSSL=${BUILD_OPENSSL}
-DOPENSSL_SOURCE_DIR=${OPENSSL_SOURCE_DIR}
-DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}
-DOPENSSL_INSTALL_DIR=${OPENSSL_INSTALL_DIR}
-DOPENSSL_CXX_FLAGS=${OPENSSL_CXX_FLAGS}
-DOPENSSL_C_FLAGS=${OPENSSL_C_FLAGS}
-DOPENSSL_EXE_LINKER_FLAGS=${OPENSSL_EXE_LINKER_FLAGS}
-DBUILD_ZLIB=${BUILD_ZLIB}
-DZLIB_SOURCE_DIR=${ZLIB_SOURCE_DIR}
-DZLIB_INSTALL_DIR=${ZLIB_INSTALL_DIR}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}
-DANDROID_ABI=${ANDROID_ABI}
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN}
-DANDROID_STL=${ANDROID_STL}
-DEXTERNAL_CXX_FLAGS=${EXTERNAL_CXX_FLAGS}
-DEXTERNAL_C_FLAGS=${EXTERNAL_C_FLAGS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
${CMAKE_CURRENT_SOURCE_DIR}/tools/android-build
WORKING_DIRECTORY ${EXTERNAL_BUILD_DIR}
RESULT_VARIABLE CONFIGURE_DEPS_EXIT_CODE)
if (NOT CMAKE_BUILD_TYPE)
ELSEIF(CMAKE_BUILD_TYPE MATCHES Release)
foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
ELSEIF(CMAKE_BUILD_TYPE STREQUAL "Release")
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
target_compile_definitions(trinity-compile-option-interface
INTERFACE
-D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}")
ExternalProject_Add(${name}
DEPENDS ${ARG_DEPENDS} llvm-config
${name}-clobber
PREFIX ${CMAKE_BINARY_DIR}/projects/${name}
SOURCE_DIR ${source_dir}
STAMP_DIR ${STAMP_DIR}
BINARY_DIR ${BINARY_DIR}
${exclude}
CMAKE_ARGS ${${nameCanon}_CMAKE_ARGS}
${compiler_args}
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
${sysroot_arg}
-DLLVM_BINARY_DIR=${PROJECT_BINARY_DIR}
-DLLVM_CONFIG_PATH=${llvm_config_path}
-DLLVM_ENABLE_WERROR=${LLVM_ENABLE_WERROR}
-DLLVM_HOST_TRIPLE=${LLVM_HOST_TRIPLE}
-DLLVM_HAVE_LINK_VERSION_SCRIPT=${LLVM_HAVE_LINK_VERSION_SCRIPT}
-DPACKAGE_VERSION=${PACKAGE_VERSION}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_EXPORT_COMPILE_COMMANDS=1
${ARG_CMAKE_ARGS}
${PASSTHROUGH_VARIABLES}
INSTALL_COMMAND ""
STEP_TARGETS configure build
BUILD_ALWAYS 1
USES_TERMINAL_CONFIGURE 1
USES_TERMINAL_BUILD 1
USES_TERMINAL_INSTALL 1
LIST_SEPARATOR |
)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
add_custom_target(
R-Interface
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/R-Interface
BYPRODUCTS ${CMAKE_BINARY_DIR}/R-Interface/libR-Interface.dll
${CMAKE_BINARY_DIR}/R-Interface/libR-Interface.dll.a
${CMAKE_BINARY_DIR}/R-Interface/libR-InterfaceNoRInside.dll
${CMAKE_BINARY_DIR}/R-Interface/libR-InterfaceNoRInside.dll.a
COMMAND
${CMAKE_COMMAND} -G "MinGW Makefiles" -S . -B
${CMAKE_BINARY_DIR}/R-Interface "-DRTOOLS_PATH:PATH=${RTOOLS_PATH}"
"-DCMAKE_C_COMPILER:PATH=${RTOOLS_C_COMPILER}"
"-DCMAKE_CXX_COMPILER:PATH=${RTOOLS_CXX_COMPILER}"
"-DCMAKE_MAKE_PROGRAM:PATH=${RTOOLS_MAKE_PROGRAM}"
"-DJASP_BINARY_DIR:PATH=${CMAKE_BINARY_DIR}"
"-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-DR_VERSION:STRING=${R_VERSION}"
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/R-Interface
USES_TERMINAL
COMMENT "------ Configuring and Building the libR-Interface")
message(STATUS " Build type ............. ${CMAKE_BUILD_TYPE}")
CMAKE_DEPENDENT_OPTION(WITH_TESTS "build with tests" ON "CMAKE_BUILD_TYPE STREQUAL Debug" OFF)