Commit 21d47d0e authored by yuguo's avatar yuguo
Browse files

Oneflow 0.8 for DCU

parents
include(FetchContent)
set_mirror_url_with_hash(
googletest_URL https://github.com/google/googletest/archive/release-1.11.0.tar.gz
e8a8df240b6938bb6384155d4c37d937)
FetchContent_Declare(googletest URL ${googletest_URL} URL_HASH MD5=${googletest_URL_HASH})
FetchContent_MakeAvailable(googletest)
include(ExternalProject)
set(GRPC_INSTALL_DIR ${THIRD_PARTY_DIR}/grpc)
set(GRPC_INSTALL_INCLUDE_DIR include)
set(GRPC_INSTALL_LIBRARY_DIR lib)
set(GRPC_INCLUDE_DIR ${THIRD_PARTY_DIR}/grpc/${GRPC_INSTALL_INCLUDE_DIR})
set(GRPC_LIBRARY_DIR ${THIRD_PARTY_DIR}/grpc/${GRPC_INSTALL_LIBRARY_DIR})
set(GRPC_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/include)
set(GRPC_TAR_URL https://github.com/grpc/grpc/archive/v1.27.3.tar.gz)
use_mirror(VARIABLE GRPC_TAR_URL URL ${GRPC_TAR_URL})
set(GRPC_URL_HASH 0c6c3fc8682d4262dd0e5e6fabe1a7e2)
set(GRPC_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/grpc)
if(WIN32)
set(GRPC_LIBRARY_NAMES grpc++_unsecure.lib grpc_unsecure.lib gpr.lib upb.lib address_sorting.lib
cares.lib)
elseif(APPLE AND ("${CMAKE_GENERATOR}" STREQUAL "Xcode"))
set(GRPC_LIBRARY_NAMES libgrpc++_unsecure.a libgrpc_unsecure.a libgpr.a libupb.a
libaddress_sorting.a libcares.a)
else()
include(GNUInstallDirs)
set(GRPC_LIBRARY_NAMES libgrpc++_unsecure.a libgrpc_unsecure.a libgpr.a libupb.a
libaddress_sorting.a libcares.a)
endif()
foreach(LIBRARY_NAME ${GRPC_LIBRARY_NAMES})
list(APPEND GRPC_STATIC_LIBRARIES ${GRPC_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
set(PROTOBUF_CONFIG_DIR ${PROTOBUF_LIBRARY_DIR}/cmake/protobuf)
set(ABSL_CONFIG_DIR ${ABSL_INSTALL}/${CMAKE_INSTALL_LIBDIR}/cmake/absl)
if(THIRD_PARTY)
include(ProcessorCount)
ProcessorCount(PROC_NUM)
ExternalProject_Add(
grpc
PREFIX ${GRPC_SOURCE_DIR}
DEPENDS protobuf absl cares openssl zlib
URL ${GRPC_TAR_URL}
URL_HASH MD5=${GRPC_URL_HASH}
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${GRPC_STATIC_LIBRARIES}
BUILD_COMMAND
${CMAKE_COMMAND} --build . -j ${PROC_NUM} --target grpc && ${CMAKE_COMMAND} --build . -j
${PROC_NUM} --target grpc_unsecure && ${CMAKE_COMMAND} --build . -j ${PROC_NUM} --target
grpc++_unsecure
CMAKE_CACHE_ARGS
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}
-DCMAKE_C_FLAGS_DEBUG:STRING=${CMAKE_C_FLAGS_DEBUG}
-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}
-DgRPC_INSTALL:BOOL=ON
-DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
-DgRPC_BUILD_TESTS:BOOL=OFF
-DgRPC_BUILD_GRPC_CPP_PLUGIN:BOOL=ON
-DgRPC_BUILD_GRPC_CSHARP_PLUGIN:BOOL=OFF
-DgRPC_BUILD_GRPC_NODE_PLUGIN:BOOL=OFF
-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN:BOOL=OFF
-DgRPC_BUILD_GRPC_PHP_PLUGIN:BOOL=OFF
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN:BOOL=OFF
-DgRPC_BUILD_GRPC_RUBY_PLUGIN:BOOL=OFF
-DgRPC_ABSL_PROVIDER:STRING=package
-Dabsl_DIR:PATH=${ABSL_CONFIG_DIR}
-DgRPC_PROTOBUF_PROVIDER:STRING=package
-DgRPC_PROTOBUF_PACKAGE_TYPE:STRING=CONFIG
-DProtobuf_ROOT:STRING=${PROTOBUF_INSTALL_DIR}
-DProtobuf_DIR:PATH=${PROTOBUF_CONFIG_DIR}
-DgRPC_CARES_PROVIDER:STRING=module
-DCARES_ROOT_DIR:PATH=${CARES_SOURCE_DIR}
-DgRPC_ZLIB_PROVIDER:STRING=package
-DZLIB_ROOT:PATH=${ZLIB_INSTALL}
-DgRPC_SSL_PROVIDER:STRING=package
-DOpenSSL_ROOT:PATH=${OPENSSL_INSTALL}
-DCMAKE_INSTALL_PREFIX:STRING=${GRPC_INSTALL_DIR}
-DCMAKE_INSTALL_MESSAGE:STRING=${CMAKE_INSTALL_MESSAGE})
endif(THIRD_PARTY)
include(ExternalProject)
set(HALF_INCLUDE_DIR ${THIRD_PARTY_DIR}/half/include)
set(HALF_URL https://github.com/Oneflow-Inc/half/archive/refs/tags/v2.1.0-fix-cuda-raise.zip)
use_mirror(VARIABLE HALF_URL URL ${HALF_URL})
set(HALF_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/half/src/half)
set(HALF_URL_HASH 30b0dc289729f9e85ddf6995f2e6968f)
set(HALF_HEADERS "${HALF_BASE_DIR}/include/half.hpp")
if(THIRD_PARTY)
ExternalProject_Add(
half
PREFIX half
URL ${HALF_URL}
URL_HASH MD5=${HALF_URL_HASH}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
BUILD_IN_SOURCE 1
INSTALL_COMMAND "")
add_custom_target(half_create_header_dir COMMAND ${CMAKE_COMMAND} -E make_directory
${HALF_INCLUDE_DIR} DEPENDS half)
add_custom_target(half_copy_headers_to_destination DEPENDS half_create_header_dir)
foreach(header_file ${HALF_HEADERS})
add_custom_command(
TARGET half_copy_headers_to_destination PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header_file} ${HALF_INCLUDE_DIR})
endforeach()
endif(THIRD_PARTY)
config.cuh
cub.cuh
util_allocator.cuh
util_arch.cuh
util_compiler.cuh
util_cpp_dialect.cuh
util_debug.cuh
util_deprecated.cuh
util_device.cuh
util_macro.cuh
util_namespace.cuh
util_ptx.cuh
util_type.cuh
version.cuh
agent/agent_histogram.cuh
agent/agent_radix_sort_downsweep.cuh
agent/agent_radix_sort_histogram.cuh
agent/agent_radix_sort_onesweep.cuh
agent/agent_radix_sort_upsweep.cuh
agent/agent_reduce.cuh
agent/agent_reduce_by_key.cuh
agent/agent_rle.cuh
agent/agent_scan.cuh
agent/agent_segment_fixup.cuh
agent/agent_select_if.cuh
agent/agent_spmv_orig.cuh
agent/single_pass_scan_operators.cuh
block/block_adjacent_difference.cuh
block/block_discontinuity.cuh
block/block_exchange.cuh
block/block_histogram.cuh
block/block_load.cuh
block/block_radix_rank.cuh
block/block_radix_sort.cuh
block/block_raking_layout.cuh
block/block_reduce.cuh
block/block_scan.cuh
block/block_shuffle.cuh
block/block_store.cuh
block/radix_rank_sort_operations.cuh
block/specializations/block_histogram_atomic.cuh
block/specializations/block_histogram_sort.cuh
block/specializations/block_reduce_raking.cuh
block/specializations/block_reduce_raking_commutative_only.cuh
block/specializations/block_reduce_warp_reductions.cuh
block/specializations/block_scan_raking.cuh
block/specializations/block_scan_warp_scans.cuh
block/specializations/block_scan_warp_scans2.cuh
block/specializations/block_scan_warp_scans3.cuh
device/device_histogram.cuh
device/device_partition.cuh
device/device_radix_sort.cuh
device/device_reduce.cuh
device/device_run_length_encode.cuh
device/device_scan.cuh
device/device_segmented_radix_sort.cuh
device/device_segmented_reduce.cuh
device/device_select.cuh
device/device_spmv.cuh
device/dispatch/dispatch_histogram.cuh
device/dispatch/dispatch_radix_sort.cuh
device/dispatch/dispatch_reduce.cuh
device/dispatch/dispatch_reduce_by_key.cuh
device/dispatch/dispatch_rle.cuh
device/dispatch/dispatch_scan.cuh
device/dispatch/dispatch_select_if.cuh
device/dispatch/dispatch_spmv_orig.cuh
grid/grid_barrier.cuh
grid/grid_even_share.cuh
grid/grid_mapping.cuh
grid/grid_queue.cuh
host/mutex.cuh
iterator/arg_index_input_iterator.cuh
iterator/cache_modified_input_iterator.cuh
iterator/cache_modified_output_iterator.cuh
iterator/constant_input_iterator.cuh
iterator/counting_input_iterator.cuh
iterator/discard_output_iterator.cuh
iterator/tex_obj_input_iterator.cuh
iterator/tex_ref_input_iterator.cuh
iterator/transform_input_iterator.cuh
thread/thread_load.cuh
thread/thread_operators.cuh
thread/thread_reduce.cuh
thread/thread_scan.cuh
thread/thread_search.cuh
thread/thread_store.cuh
warp/warp_reduce.cuh
warp/warp_scan.cuh
warp/specializations/warp_reduce_shfl.cuh
warp/specializations/warp_reduce_smem.cuh
warp/specializations/warp_scan_shfl.cuh
warp/specializations/warp_scan_smem.cuh
grpc++/alarm.h
grpc++/channel.h
grpc++/client_context.h
grpc++/completion_queue.h
grpc++/create_channel.h
grpc++/create_channel_posix.h
grpc++/grpc++.h
grpc++/health_check_service_interface.h
grpc++/resource_quota.h
grpc++/server.h
grpc++/server_builder.h
grpc++/server_context.h
grpc++/server_posix.h
grpc++/ext/health_check_service_server_builder_option.h
grpc++/ext/proto_server_reflection_plugin.h
grpc++/generic/async_generic_service.h
grpc++/generic/generic_stub.h
grpc++/impl/call.h
grpc++/impl/channel_argument_option.h
grpc++/impl/client_unary_call.h
grpc++/impl/grpc_library.h
grpc++/impl/method_handler_impl.h
grpc++/impl/rpc_method.h
grpc++/impl/rpc_service_method.h
grpc++/impl/serialization_traits.h
grpc++/impl/server_builder_option.h
grpc++/impl/server_builder_plugin.h
grpc++/impl/server_initializer.h
grpc++/impl/service_type.h
grpc++/impl/sync_cxx11.h
grpc++/impl/sync_no_cxx11.h
grpc++/impl/codegen/async_stream.h
grpc++/impl/codegen/async_unary_call.h
grpc++/impl/codegen/byte_buffer.h
grpc++/impl/codegen/call.h
grpc++/impl/codegen/call_hook.h
grpc++/impl/codegen/channel_interface.h
grpc++/impl/codegen/client_context.h
grpc++/impl/codegen/client_unary_call.h
grpc++/impl/codegen/completion_queue.h
grpc++/impl/codegen/completion_queue_tag.h
grpc++/impl/codegen/config.h
grpc++/impl/codegen/config_protobuf.h
grpc++/impl/codegen/core_codegen.h
grpc++/impl/codegen/core_codegen_interface.h
grpc++/impl/codegen/create_auth_context.h
grpc++/impl/codegen/grpc_library.h
grpc++/impl/codegen/metadata_map.h
grpc++/impl/codegen/method_handler_impl.h
grpc++/impl/codegen/proto_utils.h
grpc++/impl/codegen/rpc_method.h
grpc++/impl/codegen/rpc_service_method.h
grpc++/impl/codegen/serialization_traits.h
grpc++/impl/codegen/server_context.h
grpc++/impl/codegen/server_interface.h
grpc++/impl/codegen/service_type.h
grpc++/impl/codegen/slice.h
grpc++/impl/codegen/status.h
grpc++/impl/codegen/status_code_enum.h
grpc++/impl/codegen/string_ref.h
grpc++/impl/codegen/stub_options.h
grpc++/impl/codegen/sync_stream.h
grpc++/impl/codegen/time.h
grpc++/impl/codegen/security/auth_context.h
grpc++/security/auth_context.h
grpc++/security/auth_metadata_processor.h
grpc++/security/credentials.h
grpc++/security/server_credentials.h
grpc++/support/async_stream.h
grpc++/support/async_unary_call.h
grpc++/support/byte_buffer.h
grpc++/support/channel_arguments.h
grpc++/support/config.h
grpc++/support/error_details.h
grpc++/support/slice.h
grpc++/support/status.h
grpc++/support/status_code_enum.h
grpc++/support/string_ref.h
grpc++/support/stub_options.h
grpc++/support/sync_stream.h
grpc++/support/time.h
grpc++/test/mock_stream.h
grpc++/test/server_context_test_spouse.h
grpc/byte_buffer.h
grpc/byte_buffer_reader.h
grpc/census.h
grpc/compression.h
grpc/fork.h
grpc/grpc.h
grpc/grpc_cronet.h
grpc/grpc_posix.h
grpc/grpc_security.h
grpc/grpc_security_constants.h
grpc/load_reporting.h
grpc/slice.h
grpc/slice_buffer.h
grpc/status.h
grpc/impl/codegen/atm.h
grpc/impl/codegen/atm_gcc_atomic.h
grpc/impl/codegen/atm_gcc_sync.h
grpc/impl/codegen/atm_windows.h
grpc/impl/codegen/byte_buffer.h
grpc/impl/codegen/byte_buffer_reader.h
grpc/impl/codegen/compression_types.h
grpc/impl/codegen/connectivity_state.h
grpc/impl/codegen/fork.h
grpc/impl/codegen/gpr_slice.h
grpc/impl/codegen/gpr_types.h
grpc/impl/codegen/grpc_types.h
grpc/impl/codegen/log.h
grpc/impl/codegen/port_platform.h
grpc/impl/codegen/propagation_bits.h
grpc/impl/codegen/slice.h
grpc/impl/codegen/status.h
grpc/impl/codegen/sync.h
grpc/impl/codegen/sync_custom.h
grpc/impl/codegen/sync_generic.h
grpc/impl/codegen/sync_posix.h
grpc/impl/codegen/sync_windows.h
grpc/support/alloc.h
grpc/support/atm.h
grpc/support/atm_gcc_atomic.h
grpc/support/atm_gcc_sync.h
grpc/support/atm_windows.h
grpc/support/cpu.h
grpc/support/log.h
grpc/support/log_windows.h
grpc/support/port_platform.h
grpc/support/string_util.h
grpc/support/sync.h
grpc/support/sync_custom.h
grpc/support/sync_generic.h
grpc/support/sync_posix.h
grpc/support/sync_windows.h
grpc/support/thd_id.h
grpc/support/time.h
grpc/support/workaround_list.h
grpcpp/alarm.h
grpcpp/alarm_impl.h
grpcpp/channel.h
grpcpp/channel_impl.h
grpcpp/client_context.h
grpcpp/completion_queue.h
grpcpp/completion_queue_impl.h
grpcpp/create_channel.h
grpcpp/create_channel_impl.h
grpcpp/create_channel_posix.h
grpcpp/create_channel_posix_impl.h
grpcpp/grpcpp.h
grpcpp/health_check_service_interface.h
grpcpp/health_check_service_interface_impl.h
grpcpp/opencensus.h
grpcpp/opencensus_impl.h
grpcpp/resource_quota.h
grpcpp/resource_quota_impl.h
grpcpp/server.h
grpcpp/server_builder.h
grpcpp/server_builder_impl.h
grpcpp/server_context.h
grpcpp/server_impl.h
grpcpp/server_posix.h
grpcpp/server_posix_impl.h
grpcpp/ext/channelz_service_plugin.h
grpcpp/ext/channelz_service_plugin_impl.h
grpcpp/ext/health_check_service_server_builder_option.h
grpcpp/ext/proto_server_reflection_plugin.h
grpcpp/ext/proto_server_reflection_plugin_impl.h
grpcpp/ext/server_load_reporting.h
grpcpp/ext/server_load_reporting_impl.h
grpcpp/generic/async_generic_service.h
grpcpp/generic/generic_stub.h
grpcpp/generic/generic_stub_impl.h
grpcpp/impl/call.h
grpcpp/impl/channel_argument_option.h
grpcpp/impl/client_unary_call.h
grpcpp/impl/grpc_library.h
grpcpp/impl/method_handler_impl.h
grpcpp/impl/rpc_method.h
grpcpp/impl/rpc_service_method.h
grpcpp/impl/serialization_traits.h
grpcpp/impl/server_builder_option.h
grpcpp/impl/server_builder_option_impl.h
grpcpp/impl/server_builder_plugin.h
grpcpp/impl/server_initializer.h
grpcpp/impl/server_initializer_impl.h
grpcpp/impl/service_type.h
grpcpp/impl/sync_cxx11.h
grpcpp/impl/sync_no_cxx11.h
grpcpp/impl/codegen/async_generic_service.h
grpcpp/impl/codegen/async_stream.h
grpcpp/impl/codegen/async_stream_impl.h
grpcpp/impl/codegen/async_unary_call.h
grpcpp/impl/codegen/async_unary_call_impl.h
grpcpp/impl/codegen/byte_buffer.h
grpcpp/impl/codegen/call.h
grpcpp/impl/codegen/call_hook.h
grpcpp/impl/codegen/call_op_set.h
grpcpp/impl/codegen/call_op_set_interface.h
grpcpp/impl/codegen/callback_common.h
grpcpp/impl/codegen/channel_interface.h
grpcpp/impl/codegen/client_callback.h
grpcpp/impl/codegen/client_callback_impl.h
grpcpp/impl/codegen/client_context.h
grpcpp/impl/codegen/client_context_impl.h
grpcpp/impl/codegen/client_interceptor.h
grpcpp/impl/codegen/client_unary_call.h
grpcpp/impl/codegen/completion_queue.h
grpcpp/impl/codegen/completion_queue_impl.h
grpcpp/impl/codegen/completion_queue_tag.h
grpcpp/impl/codegen/config.h
grpcpp/impl/codegen/config_protobuf.h
grpcpp/impl/codegen/core_codegen.h
grpcpp/impl/codegen/core_codegen_interface.h
grpcpp/impl/codegen/create_auth_context.h
grpcpp/impl/codegen/delegating_channel.h
grpcpp/impl/codegen/grpc_library.h
grpcpp/impl/codegen/intercepted_channel.h
grpcpp/impl/codegen/interceptor.h
grpcpp/impl/codegen/interceptor_common.h
grpcpp/impl/codegen/message_allocator.h
grpcpp/impl/codegen/metadata_map.h
grpcpp/impl/codegen/method_handler.h
grpcpp/impl/codegen/method_handler_impl.h
grpcpp/impl/codegen/proto_buffer_reader.h
grpcpp/impl/codegen/proto_buffer_writer.h
grpcpp/impl/codegen/proto_utils.h
grpcpp/impl/codegen/rpc_method.h
grpcpp/impl/codegen/rpc_service_method.h
grpcpp/impl/codegen/serialization_traits.h
grpcpp/impl/codegen/server_callback.h
grpcpp/impl/codegen/server_callback_handlers.h
grpcpp/impl/codegen/server_callback_impl.h
grpcpp/impl/codegen/server_context.h
grpcpp/impl/codegen/server_context_impl.h
grpcpp/impl/codegen/server_interceptor.h
grpcpp/impl/codegen/server_interface.h
grpcpp/impl/codegen/service_type.h
grpcpp/impl/codegen/slice.h
grpcpp/impl/codegen/status.h
grpcpp/impl/codegen/status_code_enum.h
grpcpp/impl/codegen/string_ref.h
grpcpp/impl/codegen/stub_options.h
grpcpp/impl/codegen/sync.h
grpcpp/impl/codegen/sync_stream.h
grpcpp/impl/codegen/sync_stream_impl.h
grpcpp/impl/codegen/time.h
grpcpp/impl/codegen/security/auth_context.h
grpcpp/security/alts_context.h
grpcpp/security/alts_util.h
grpcpp/security/auth_context.h
grpcpp/security/auth_metadata_processor.h
grpcpp/security/auth_metadata_processor_impl.h
grpcpp/security/credentials.h
grpcpp/security/credentials_impl.h
grpcpp/security/cronet_credentials.h
grpcpp/security/cronet_credentials_impl.h
grpcpp/security/server_credentials.h
grpcpp/security/server_credentials_impl.h
grpcpp/security/tls_credentials_options.h
grpcpp/support/async_stream.h
grpcpp/support/async_stream_impl.h
grpcpp/support/async_unary_call.h
grpcpp/support/async_unary_call_impl.h
grpcpp/support/byte_buffer.h
grpcpp/support/channel_arguments.h
grpcpp/support/channel_arguments_impl.h
grpcpp/support/client_callback.h
grpcpp/support/client_callback_impl.h
grpcpp/support/client_interceptor.h
grpcpp/support/config.h
grpcpp/support/error_details.h
grpcpp/support/error_details_impl.h
grpcpp/support/interceptor.h
grpcpp/support/message_allocator.h
grpcpp/support/method_handler.h
grpcpp/support/proto_buffer_reader.h
grpcpp/support/proto_buffer_writer.h
grpcpp/support/server_callback.h
grpcpp/support/server_callback_impl.h
grpcpp/support/server_interceptor.h
grpcpp/support/slice.h
grpcpp/support/status.h
grpcpp/support/status_code_enum.h
grpcpp/support/string_ref.h
grpcpp/support/stub_options.h
grpcpp/support/sync_stream.h
grpcpp/support/sync_stream_impl.h
grpcpp/support/time.h
grpcpp/support/validate_service_config.h
grpcpp/test/default_reactor_test_peer.h
grpcpp/test/mock_stream.h
grpcpp/test/server_context_test_spouse.h
png.h
pngconf.h
pngdebug.h
pnginfo.h
pnglibconf.h
pngpriv.h
pngstruct.h
opencv2/cvconfig.h
opencv2/core/cv_cpu_dispatch.h
opencv2/core/types_c.h
opencv2/core/cvdef.h
opencv2/core/core_c.h
opencv2/core/cv_cpu_helper.h
opencv2/core/hal/interface.h
opencv2/imgproc/imgproc_c.h
opencv2/imgproc/types_c.h
opencv2/imgproc/hal/interface.h
opencv2/imgcodecs/ios.h
opencv2/imgcodecs/imgcodecs_c.h
opencv/cvwimage.h
opencv/cxcore.h
opencv/highgui.h
opencv/cvaux.h
opencv/ml.h
opencv/cv.h
opencv/cxmisc.h
opencv2/opencv.hpp
opencv2/imgproc.hpp
opencv2/opencv_modules.hpp
opencv2/imgcodecs.hpp
opencv2/core.hpp
opencv2/core/directx.hpp
opencv2/core/fast_math.hpp
opencv2/core/persistence.hpp
opencv2/core/traits.hpp
opencv2/core/mat.hpp
opencv2/core/affine.hpp
opencv2/core/cuda_stream_accessor.hpp
opencv2/core/wimage.hpp
opencv2/core/cvstd.hpp
opencv2/core/base.hpp
opencv2/core/optim.hpp
opencv2/core/vsx_utils.hpp
opencv2/core/va_intel.hpp
opencv2/core/ocl.hpp
opencv2/core/ptr.inl.hpp
opencv2/core/saturate.hpp
opencv2/core/neon_utils.hpp
opencv2/core/cuda.inl.hpp
opencv2/core/utility.hpp
opencv2/core/opengl.hpp
opencv2/core/eigen.hpp
opencv2/core/cuda_types.hpp
opencv2/core/cuda.hpp
opencv2/core/mat.inl.hpp
opencv2/core/operations.hpp
opencv2/core/cvstd.inl.hpp
opencv2/core/ovx.hpp
opencv2/core/ippasync.hpp
opencv2/core/bufferpool.hpp
opencv2/core/matx.hpp
opencv2/core/sse_utils.hpp
opencv2/core/types.hpp
opencv2/core/version.hpp
opencv2/core/ocl_genbase.hpp
opencv2/core/core.hpp
opencv2/core/softfloat.hpp
opencv2/core/hal/hal.hpp
opencv2/core/hal/intrin_sse.hpp
opencv2/core/hal/intrin_neon.hpp
opencv2/core/hal/intrin_cpp.hpp
opencv2/core/hal/intrin.hpp
opencv2/core/hal/intrin_vsx.hpp
opencv2/core/cuda/reduce.hpp
opencv2/core/cuda/warp_shuffle.hpp
opencv2/core/cuda/emulation.hpp
opencv2/core/cuda/limits.hpp
opencv2/core/cuda/warp_reduce.hpp
opencv2/core/cuda/filters.hpp
opencv2/core/cuda/vec_distance.hpp
opencv2/core/cuda/scan.hpp
opencv2/core/cuda/utility.hpp
opencv2/core/cuda/type_traits.hpp
opencv2/core/cuda/block.hpp
opencv2/core/cuda/vec_traits.hpp
opencv2/core/cuda/funcattrib.hpp
opencv2/core/cuda/datamov_utils.hpp
opencv2/core/cuda/vec_math.hpp
opencv2/core/cuda/common.hpp
opencv2/core/cuda/warp.hpp
opencv2/core/cuda/color.hpp
opencv2/core/cuda/border_interpolate.hpp
opencv2/core/cuda/simd_functions.hpp
opencv2/core/cuda/dynamic_smem.hpp
opencv2/core/cuda/functional.hpp
opencv2/core/cuda/saturate_cast.hpp
opencv2/core/cuda/transform.hpp
opencv2/core/cuda/detail/reduce.hpp
opencv2/core/cuda/detail/reduce_key_val.hpp
opencv2/core/cuda/detail/vec_distance_detail.hpp
opencv2/core/cuda/detail/color_detail.hpp
opencv2/core/cuda/detail/transform_detail.hpp
opencv2/core/cuda/detail/type_traits_detail.hpp
opencv2/core/utils/logger.hpp
opencv2/core/utils/trace.hpp
opencv2/imgproc/imgproc.hpp
opencv2/imgproc/hal/hal.hpp
opencv2/imgproc/detail/distortion_model.hpp
opencv2/imgcodecs/imgcodecs.hpp
opencv/cxcore.hpp
opencv/cv.hpp
opencv/cxeigen.hpp
opencv/cvaux.hpp
include(ExternalProject)
if(UNIX AND NOT APPLE)
set(BUILD_HWLOC_DEFAULT ON)
else()
set(BUILD_HWLOC_DEFAULT OFF)
endif()
option(BUILD_HWLOC "" ${BUILD_HWLOC_DEFAULT})
if(BUILD_HWLOC)
set(PCIACCESS_INSTALL ${THIRD_PARTY_DIR}/pciaccess)
set(PCIACCESS_INCLUDE_DIR ${PCIACCESS_INSTALL}/include)
set(PCIACCESS_LIBRARY_DIR ${PCIACCESS_INSTALL}/lib)
set(PCIACCESS_LIBRARY_NAMES libpciaccess.a)
foreach(LIBRARY_NAME ${PCIACCESS_LIBRARY_NAMES})
list(APPEND PCIACCESS_STATIC_LIBRARIES ${PCIACCESS_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
set(HWLOC_INSTALL ${THIRD_PARTY_DIR}/hwloc)
set(HWLOC_INCLUDE_DIR ${HWLOC_INSTALL}/include)
set(HWLOC_LIBRARY_DIR ${HWLOC_INSTALL}/lib)
set(HWLOC_LIBRARY_NAMES libhwloc.a)
foreach(LIBRARY_NAME ${HWLOC_LIBRARY_NAMES})
list(APPEND ONEFLOW_HWLOC_STATIC_LIBRARIES ${HWLOC_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
if(THIRD_PARTY)
include(ProcessorCount)
ProcessorCount(PROC_NUM)
set(XORG_MACROS_INSTALL ${THIRD_PARTY_DIR}/xorg-macros)
set(XORG_MACROS_TAR_URL
https://github.com/freedesktop/xorg-macros/archive/refs/tags/util-macros-1.19.1.tar.gz)
use_mirror(VARIABLE XORG_MACROS_TAR_URL URL ${XORG_MACROS_TAR_URL})
set(XORG_MACROS_URL_HASH 37afda9e9b44ecb9b2c16293bacd0e21)
set(XORG_MACROS_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/xorg-macros)
set(XORG_MACROS_PKG_CONFIG_DIR ${XORG_MACROS_INSTALL}/share/pkgconfig)
ExternalProject_Add(
xorg-macros
PREFIX xorg-macros
URL ${XORG_MACROS_TAR_URL}
URL_HASH MD5=${XORG_MACROS_URL_HASH}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ${XORG_MACROS_SOURCE_DIR}/src/xorg-macros/autogen.sh
COMMAND ${XORG_MACROS_SOURCE_DIR}/src/xorg-macros/configure --prefix=${XORG_MACROS_INSTALL}
BUILD_COMMAND make -j${PROC_NUM}
INSTALL_COMMAND make install)
set(PCIACCESS_TAR_URL
https://github.com/freedesktop/xorg-libpciaccess/archive/refs/tags/libpciaccess-0.16.tar.gz)
use_mirror(VARIABLE PCIACCESS_TAR_URL URL ${PCIACCESS_TAR_URL})
set(PCIACCESS_URL_HASH 92e2b604e294a9160bc977c000507340)
set(PCIACCESS_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/pciaccess)
set(PCIACCESS_CFLAGS "-O3 -fPIC")
ExternalProject_Add(
pciaccess
PREFIX pciaccess
URL ${PCIACCESS_TAR_URL}
URL_HASH MD5=${PCIACCESS_URL_HASH}
UPDATE_COMMAND ""
PATCH_COMMAND cp ${XORG_MACROS_INSTALL}/share/aclocal/xorg-macros.m4
${PCIACCESS_SOURCE_DIR}/src/pciaccess/m4
CONFIGURE_COMMAND ${PCIACCESS_SOURCE_DIR}/src/pciaccess/autogen.sh
COMMAND ${PCIACCESS_SOURCE_DIR}/src/pciaccess/configure --prefix=${PCIACCESS_INSTALL}
--enable-shared=no
BUILD_COMMAND make -j${PROC_NUM} CFLAGS=${PCIACCESS_CFLAGS}
BUILD_BYPRODUCTS ${PCIACCESS_STATIC_LIBRARIES}
INSTALL_COMMAND make install
DEPENDS xorg-macros)
set(HWLOC_TAR_URL https://github.com/open-mpi/hwloc/archive/refs/tags/hwloc-2.4.1.tar.gz)
use_mirror(VARIABLE HWLOC_TAR_URL URL ${HWLOC_TAR_URL})
set(HWLOC_URL_HASH ac25fc7c2a665b7914c6c21b782f1c4f)
set(HWLOC_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/hwloc)
set(HWLOC_CFLAGS "-O3 -fPIC")
ExternalProject_Add(
hwloc
PREFIX hwloc
URL ${HWLOC_TAR_URL}
URL_HASH MD5=${HWLOC_URL_HASH}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ${HWLOC_SOURCE_DIR}/src/hwloc/autogen.sh
COMMAND ${HWLOC_SOURCE_DIR}/src/hwloc/configure --prefix=${HWLOC_INSTALL}
PKG_CONFIG_PATH=${PCIACCESS_INSTALL}/lib/pkgconfig --disable-libxml2 --enable-static
--enable-shared=no
BUILD_COMMAND make -j${PROC_NUM} CFLAGS=${HWLOC_CFLAGS}
BUILD_BYPRODUCTS ${ONEFLOW_HWLOC_STATIC_LIBRARIES}
INSTALL_COMMAND make install
DEPENDS pciaccess)
endif(THIRD_PARTY)
endif(BUILD_HWLOC)
include(FetchContent)
set_mirror_url_with_hash(JSON_URL https://github.com/nlohmann/json/archive/refs/tags/v3.10.4.zip
59c2a25e17b94d612fdb32a1a37378cf)
set(JSON_Install ON CACHE STRING "" FORCE)
FetchContent_Declare(json URL ${JSON_URL} URL_HASH MD5=${JSON_URL_HASH})
FetchContent_MakeAvailable(json)
include(ExternalProject)
set(LIBJPEG_INCLUDE_DIR ${THIRD_PARTY_DIR}/libjpeg-turbo/include)
set(LIBJPEG_LIBRARY_DIR ${THIRD_PARTY_DIR}/libjpeg-turbo/lib)
set(LIBJPEG_URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.1.3.tar.gz)
use_mirror(VARIABLE LIBJPEG_URL URL ${LIBJPEG_URL})
if(WIN32)
elseif(APPLE AND ("${CMAKE_GENERATOR}" STREQUAL "Xcode"))
set(LIBJPEG_BUILD_SRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo/src/libjpeg-turbo)
set(LIBJPEG_BUILD_LIBRARY_DIR
${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo/src/libjpeg-turbo/${CMAKE_BUILD_TYPE})
set(LIBJPEG_LIBRARY_NAMES libturbojpeg.a)
else()
set(LIBJPEG_BUILD_SRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo/src/libjpeg-turbo)
set(LIBJPEG_BUILD_LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo/src/libjpeg-turbo)
set(LIBJPEG_LIBRARY_NAMES libturbojpeg.a)
endif()
foreach(LIBRARY_NAME ${LIBJPEG_LIBRARY_NAMES})
list(APPEND LIBJPEG_STATIC_LIBRARIES ${LIBJPEG_LIBRARY_DIR}/${LIBRARY_NAME})
list(APPEND LIBJPEG_BUILD_STATIC_LIBRARIES ${LIBJPEG_BUILD_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
set(LIBJPEG_HEADERS
"${LIBJPEG_BUILD_SRC_DIR}/cderror.h"
"${LIBJPEG_BUILD_SRC_DIR}/cdjpeg.h"
"${LIBJPEG_BUILD_SRC_DIR}/cmyk.h"
"${LIBJPEG_BUILD_SRC_DIR}/jchuff.h"
"${LIBJPEG_BUILD_SRC_DIR}/jconfig.h"
"${LIBJPEG_BUILD_SRC_DIR}/jdcoefct.h"
"${LIBJPEG_BUILD_SRC_DIR}/jdct.h"
"${LIBJPEG_BUILD_SRC_DIR}/jdhuff.h"
"${LIBJPEG_BUILD_SRC_DIR}/jdmainct.h"
"${LIBJPEG_BUILD_SRC_DIR}/jdmaster.h"
"${LIBJPEG_BUILD_SRC_DIR}/jdsample.h"
"${LIBJPEG_BUILD_SRC_DIR}/jerror.h"
"${LIBJPEG_BUILD_SRC_DIR}/jinclude.h"
"${LIBJPEG_BUILD_SRC_DIR}/jmemsys.h"
"${LIBJPEG_BUILD_SRC_DIR}/jmorecfg.h"
"${LIBJPEG_BUILD_SRC_DIR}/jpegcomp.h"
"${LIBJPEG_BUILD_SRC_DIR}/jpegint.h"
"${LIBJPEG_BUILD_SRC_DIR}/jpeglib.h"
"${LIBJPEG_BUILD_SRC_DIR}/jpeg_nbits_table.h"
"${LIBJPEG_BUILD_SRC_DIR}/jsimddct.h"
"${LIBJPEG_BUILD_SRC_DIR}/jsimd.h"
"${LIBJPEG_BUILD_SRC_DIR}/jversion.h"
"${LIBJPEG_BUILD_SRC_DIR}/tjutil.h"
"${LIBJPEG_BUILD_SRC_DIR}/transupp.h"
"${LIBJPEG_BUILD_SRC_DIR}/turbojpeg.h")
if(THIRD_PARTY)
ExternalProject_Add(
libjpeg-turbo
PREFIX libjpeg-turbo
URL ${LIBJPEG_URL}
URL_MD5 627b980fad0573e08e4c3b80b290fc91
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${LIBJPEG_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON)
# put libjpeg-turbo includes in the directory where they are expected
add_custom_target(libjpeg_create_header_dir COMMAND ${CMAKE_COMMAND} -E make_directory
${LIBJPEG_INCLUDE_DIR} DEPENDS libjpeg-turbo)
add_custom_target(libjpeg_copy_headers_to_destination DEPENDS libjpeg_create_header_dir)
foreach(header_file ${LIBJPEG_HEADERS})
add_custom_command(
TARGET libjpeg_copy_headers_to_destination PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header_file} ${LIBJPEG_INCLUDE_DIR})
endforeach()
# pub libjpeg libs in the directory where they are expected
add_custom_target(libjpeg_create_library_dir COMMAND ${CMAKE_COMMAND} -E make_directory
${LIBJPEG_LIBRARY_DIR} DEPENDS libjpeg-turbo)
add_custom_target(
libjpeg_copy_libs_to_destination
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LIBJPEG_BUILD_STATIC_LIBRARIES}
${LIBJPEG_LIBRARY_DIR} DEPENDS libjpeg_create_library_dir)
endif(THIRD_PARTY)
include(ExternalProject)
option(WITH_LIBURING "" OFF)
if(WITH_LIBURING)
set(LIBURING_INSTALL ${THIRD_PARTY_DIR}/liburing)
set(LIBURING_INCLUDE_DIR ${LIBURING_INSTALL}/include)
set(LIBURING_LIBRARY_DIR ${LIBURING_INSTALL}/lib)
set(LIBURING_LIBRARY_NAMES liburing.a)
foreach(LIBRARY_NAME ${LIBURING_LIBRARY_NAMES})
list(APPEND LIBURING_STATIC_LIBRARIES ${LIBURING_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
if(THIRD_PARTY)
include(ProcessorCount)
ProcessorCount(PROC_NUM)
set(LIBURING_URL https://github.com/axboe/liburing/archive/refs/tags/liburing-2.1.tar.gz)
use_mirror(VARIABLE LIBURING_URL URL ${LIBURING_URL})
set(LIBURING_URL_HASH 78f13d9861b334b9a9ca0d12cf2a6d3c)
set(LIBURING_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/liburing)
set(LIBURING_CFLAGS "-O3 -fPIC")
ExternalProject_Add(
liburing
PREFIX liburing
URL ${LIBURING_URL}
URL_HASH MD5=${LIBURING_URL_HASH}
UPDATE_COMMAND ""
CONFIGURE_COMMAND cd ${LIBURING_SOURCE_DIR}/src/liburing/ && ./configure
--prefix=${LIBURING_INSTALL}
BUILD_COMMAND cd ${LIBURING_SOURCE_DIR}/src/liburing/ && make -j${PROC_NUM}
CFLAGS=${LIBURING_CFLAGS} install
BUILD_BYPRODUCTS ${LIBURING_STATIC_LIBRARIES}
INSTALL_COMMAND "")
endif(THIRD_PARTY)
endif(WITH_LIBURING)
include(ExternalProject)
set(LZ4_INCLUDE_DIR ${THIRD_PARTY_DIR}/lz4/include)
set(LZ4_LIBRARY_DIR ${THIRD_PARTY_DIR}/lz4/lib)
set(LZ4_URL https://github.com/lz4/lz4/archive/v1.9.2.tar.gz)
use_mirror(VARIABLE LZ4_URL URL ${LZ4_URL})
set(LZ4_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/lz4/src/lz4/lib)
set(LZ4_BUILD_LIBRARY_DIR ${LZ4_BUILD_DIR})
set(LZ4_LIBRARY_NAMES liblz4.a)
foreach(LIBRARY_NAME ${LZ4_LIBRARY_NAMES})
list(APPEND LZ4_STATIC_LIBRARIES ${LZ4_LIBRARY_DIR}/${LIBRARY_NAME})
list(APPEND LZ4_BUILD_STATIC_LIBRARIES ${LZ4_BUILD_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
set(LZ4_HEADERS "${LZ4_BUILD_DIR}/lz4frame.h" "${LZ4_BUILD_DIR}/lz4frame_static.h"
"${LZ4_BUILD_DIR}/lz4.h" "${LZ4_BUILD_DIR}/lz4hc.h" "${LZ4_BUILD_DIR}/xxhash.h")
set(LZ4_CFLAGS "-O3 -fPIC")
if(THIRD_PARTY)
include(ProcessorCount)
ProcessorCount(PROC_NUM)
ExternalProject_Add(
lz4
PREFIX lz4
URL ${LZ4_URL}
URL_MD5 3898c56c82fb3d9455aefd48db48eaad
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_COMMAND make -j ${PROC_NUM} lib CFLAGS=${LZ4_CFLAGS}
INSTALL_COMMAND ""
BUILD_BYPRODUCTS ${LZ4_STATIC_LIBRARIES})
add_custom_target(lz4_create_header_dir COMMAND ${CMAKE_COMMAND} -E make_directory
${LZ4_INCLUDE_DIR} DEPENDS lz4)
add_custom_target(lz4_copy_headers_to_destination DEPENDS lz4_create_header_dir)
foreach(header_file ${LZ4_HEADERS})
add_custom_command(
TARGET lz4_copy_headers_to_destination PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header_file} ${LZ4_INCLUDE_DIR})
endforeach()
add_custom_target(lz4_create_library_dir COMMAND ${CMAKE_COMMAND} -E make_directory
${LZ4_LIBRARY_DIR} DEPENDS lz4)
message(STATUS ${LZ4_BUILD_STATIC_LIBRARIES})
add_custom_target(
lz4_copy_libs_to_destination COMMAND ${CMAKE_COMMAND} -E copy_if_different
${LZ4_BUILD_STATIC_LIBRARIES} ${LZ4_LIBRARY_DIR}
DEPENDS lz4_create_library_dir)
endif(THIRD_PARTY)
option(NCCL_STATIC "" ON)
if(OF_CUDA_LINK_DYNAMIC_LIBRARY)
set(NCCL_STATIC OFF)
endif()
option(USE_SYSTEM_NCCL "" OFF)
set(NCCL_ROOT_DIR "" CACHE PATH "Folder contains NVIDIA NCCL")
if(WIN32)
set(NCCL_LIBRARY_NAME libnccl_static.lib)
else()
if(NCCL_STATIC)
set(NCCL_LIBRARY_NAME libnccl_static.a)
else()
set(NCCL_LIBRARY_NAME libnccl.so)
endif()
endif()
if(USE_SYSTEM_NCCL)
include(FindPackageHandleStandardArgs)
find_path(NCCL_INCLUDE_DIR nccl.h HINTS ${NCCL_ROOT_DIR} ${CUDAToolkit_INCLUDE_DIRS}
PATH_SUFFIXES cuda/include include)
unset(NCCL_LIBRARY CACHE)
find_library(
NCCL_LIBRARY ${NCCL_LIBRARY_NAME} HINTS ${NCCL_ROOT_DIR} ${CUDAToolkit_LIBRARY_DIR}
${CUDAToolkit_LIBRARY_ROOT}
PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64)
find_package_handle_standard_args(NCCL DEFAULT_MSG NCCL_INCLUDE_DIR NCCL_LIBRARY)
set(NCCL_LIBRARIES ${NCCL_LIBRARY})
add_custom_target(nccl)
else()
get_filename_component(CUDATOOLKIT_BIN_ROOT ${CUDAToolkit_BIN_DIR} DIRECTORY)
include(ExternalProject)
set(NCCL_INSTALL_DIR ${THIRD_PARTY_DIR}/nccl)
set(NCCL_INCLUDE_DIR ${NCCL_INSTALL_DIR}/include)
set(NCCL_LIBRARY_DIR ${NCCL_INSTALL_DIR}/lib)
set(NCCL_URL https://github.com/NVIDIA/nccl/archive/refs/tags/v2.12.10-1.tar.gz)
use_mirror(VARIABLE NCCL_URL URL ${NCCL_URL})
list(APPEND NCCL_LIBRARIES ${NCCL_LIBRARY_DIR}/${NCCL_LIBRARY_NAME})
if(THIRD_PARTY)
include(ProcessorCount)
ProcessorCount(PROC_NUM)
ExternalProject_Add(
nccl
PREFIX nccl
URL ${NCCL_URL}
URL_MD5 bdb91f80b78c99831f09ca8bb28a1032
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_COMMAND make -j${PROC_NUM} src.build CUDA_HOME=${CUDATOOLKIT_BIN_ROOT}
INSTALL_COMMAND make src.install PREFIX=${NCCL_INSTALL_DIR}
BUILD_BYPRODUCTS ${NCCL_LIBRARIES})
endif(THIRD_PARTY)
endif()
include(ExternalProject)
include(GNUInstallDirs)
set(ONEDNN_INSTALL_DIR ${THIRD_PARTY_DIR}/onednn)
set(ONEDNN_INCLUDE_DIR ${ONEDNN_INSTALL_DIR}/include)
set(ONEDNN_LIBRARY_DIR ${ONEDNN_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR})
set(ONEDNN_URL https://github.com/oneapi-src/oneDNN/archive/refs/tags/v2.4.3.tar.gz)
use_mirror(VARIABLE ONEDNN_URL URL ${ONEDNN_URL})
if(WIN32)
message(FATAL_ERROR "Windows system does not support onednn")
else()
if(BUILD_CPP_API)
set(ONEDNN_BUILD_SHARED_LIBS OFF)
else()
set(ONEDNN_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
endif()
if(ONEDNN_BUILD_SHARED_LIBS)
if("${CMAKE_SHARED_LIBRARY_SUFFIX}" STREQUAL ".dylib")
set(ONEDNN_LIBRARY_NAMES libdnnl.dylib)
elseif("${CMAKE_SHARED_LIBRARY_SUFFIX}" STREQUAL ".so")
set(ONEDNN_LIBRARY_NAMES libdnnl.so)
set(DNNL_LIBRARY_TYPE SHARED)
set(DNNL_LIBRARY_RPATH ON)
else()
message(FATAL_ERROR "${CMAKE_SHARED_LIBRARY_SUFFIX} not support for onednn")
endif()
else()
set(ONEDNN_LIBRARY_NAMES libdnnl.a)
set(DNNL_LIBRARY_TYPE STATIC)
set(DNNL_LIBRARY_RPATH OFF)
endif()
endif()
foreach(LIBRARY_NAME ${ONEDNN_LIBRARY_NAMES})
list(APPEND ONEDNN_STATIC_LIBRARIES ${ONEDNN_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
if(CPU_THREADING_RUNTIME STREQUAL "TBB")
set(ONEDNN_CPU_RUNTIME TBB)
set(ONEDNN_DEPENDS install-tbb)
elseif(CPU_THREADING_RUNTIME STREQUAL "OMP")
set(ONEDNN_CPU_RUNTIME OMP)
elseif(CPU_THREADING_RUNTIME STREQUAL "SEQ")
set(ONEDNN_CPU_RUNTIME SEQ)
endif()
if(THIRD_PARTY)
ExternalProject_Add(
onednn
PREFIX onednn
DEPENDS ${ONEDNN_DEPENDS}
URL ${ONEDNN_URL}
URL_MD5 c60ea96acbaccec053be7e3fa81c6184
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${ONEDNN_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${ONEDNN_INSTALL_DIR}
-DCMAKE_INSTALL_MESSAGE:STRING=${CMAKE_INSTALL_MESSAGE}
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}
-DCMAKE_C_FLAGS_DEBUG:STRING=${CMAKE_C_FLAGS_DEBUG}
-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}
-DDNNL_IS_MAIN_PROJECT:BOOL=OFF
-DDNNL_BUILD_EXAMPLES:BOOL=OFF
-DDNNL_BUILD_TESTS:BOOL=OFF
-DDNNL_LIBRARY_TYPE:STRING=${DNNL_LIBRARY_TYPE}
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=${DNNL_LIBRARY_RPATH}
-DCMAKE_INSTALL_RPATH:STRING=${ONETBB_INSTALL_DIR}
-DDNNL_CPU_RUNTIME:STRING=${ONEDNN_CPU_RUNTIME}
-DTBBROOT:STRING=${ONETBB_INSTALL_DIR})
endif(THIRD_PARTY)
add_library(onednn_imported UNKNOWN IMPORTED)
set_property(TARGET onednn_imported PROPERTY IMPORTED_LOCATION "${ONEDNN_STATIC_LIBRARIES}")
include(ExternalProject)
include(GNUInstallDirs)
set(OPENCV_INSTALL_DIR ${THIRD_PARTY_DIR}/opencv)
set(OPENCV_INCLUDE_DIR ${OPENCV_INSTALL_DIR}/include)
set(LIBPNG_INSTALL_DIR ${THIRD_PARTY_DIR}/libpng)
set(LIBPNG_INCLUDE_DIR ${LIBPNG_INSTALL_DIR}/include)
set(OPENCV_LIBRARY_DIR ${OPENCV_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR})
set(OPENCV_3RDPARTY_LIBRARY_DIR ${OPENCV_INSTALL_DIR}/share/OpenCV/3rdparty/${CMAKE_INSTALL_LIBDIR})
set(OPENCV_SRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/src)
set(OPENCV_URL https://github.com/Oneflow-Inc/opencv/archive/refs/tags/51cef2651.tar.gz)
use_mirror(VARIABLE OPENCV_URL URL ${OPENCV_URL})
set(OPENCV_LIBRARY_NAMES libopencv_imgproc.a libopencv_imgcodecs.a libopencv_core.a)
set(OPENCV_3RDPARTY_LIBRARY_NAMES libIlmImf.a liblibjasper.a liblibpng.a liblibtiff.a liblibwebp.a)
foreach(LIBRARY_NAME ${OPENCV_LIBRARY_NAMES})
list(APPEND OPENCV_STATIC_LIBRARIES ${OPENCV_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
foreach(LIBRARY_NAME ${OPENCV_3RDPARTY_LIBRARY_NAMES})
list(APPEND OPENCV_STATIC_LIBRARIES ${OPENCV_3RDPARTY_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
if(THIRD_PARTY)
if(CMAKE_C_COMPILER_LAUNCHER STREQUAL "ccache")
set(OPENCV_C_COMPILER_LAUNCHER_DEF "-DENABLE_CCACHE:BOOL=ON")
else()
set(OPENCV_C_COMPILER_LAUNCHER_DEF
"-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}")
endif()
if(CMAKE_CXX_COMPILER_LAUNCHER STREQUAL "ccache")
set(OPENCV_CXX_COMPILER_LAUNCHER_DEF "-DENABLE_CCACHE:BOOL=ON")
else()
set(OPENCV_CXX_COMPILER_LAUNCHER_DEF
"-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}")
endif()
ExternalProject_Add(
opencv
DEPENDS libjpeg_copy_headers_to_destination libjpeg_copy_libs_to_destination
PREFIX opencv
URL ${OPENCV_URL}
URL_MD5 59870e55385f5202c1aa178fe37ed2de
UPDATE_COMMAND ""
PATCH_COMMAND cmake -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/build
BUILD_IN_SOURCE 0
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/build
BUILD_BYPRODUCTS ${OPENCV_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
${OPENCV_C_COMPILER_LAUNCHER_DEF}
${OPENCV_CXX_COMPILER_LAUNCHER_DEF}
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:STRING=${OPENCV_INSTALL_DIR}
-DCMAKE_INSTALL_MESSAGE:STRING=${CMAKE_INSTALL_MESSAGE}
-DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DWITH_IPP:BOOL=OFF
-DWITH_1394:BOOL=OFF
-DWITH_AVFOUNDATION:BOOL=OFF
-DWITH_CAROTENE:BOOL=OFF
-DWITH_CPUFEATURES:BOOL=OFF
-DWITH_VTK:BOOL=OFF
-DWITH_CUDA:BOOL=OFF
-DWITH_CUFFT:BOOL=OFF
-DWITH_CUBLAS:BOOL=OFF
-DWITH_NVCUVID:BOOL=OFF
-DWITH_EIGEN:BOOL=OFF
-DWITH_VFW:BOOL=OFF
-DWITH_FFMPEG:BOOL=OFF
-DWITH_WEBP:BOOL=ON
-DBUILD_WEBP:BOOL=ON
-DWITH_GSTREAMER:BOOL=OFF
-DWITH_GSTREAMER_0_10:BOOL=OFF
-DWITH_GTK:BOOL=OFF
-DWITH_GTK_2_X:BOOL=OFF
-DWITH_WIN32UI:BOOL=OFF
-DWITH_PTHREADS_PF:BOOL=OFF
-DWITH_DSHOW:BOOL=OFF
-DWITH_OPENCL:BOOL=OFF
-DWITH_OPENCL_SVM:BOOL=OFF
-DWITH_OPENCLAMDFFT:BOOL=OFF
-DWITH_OPENCLAMDBLAS:BOOL=OFF
-DWITH_DIRECTX:BOOL=OFF
-DWITH_MATLAB:BOOL=OFF
-DWITH_GPHOTO2:BOOL=OFF
-DWITH_LAPACK:BOOL=OFF
-DBUILD_SHARED_LIBS:BOOL=OFF
-DBUILD_ANDROID_EXAMPLES:BOOL=OFF
-DBUILD_DOCS:BOOL=OFF
-DBUILD_PACKAGE:BOOL=OFF
-DBUILD_PERF_TESTS:BOOL=OFF
-DBUILD_TESTS:BOOL=OFF
-DBUILD_FAT_JAVA_LIBS:BOOL=OFF
-DBUILD_ANDROID_SERVICE:BOOL=OFF
-DBUILD_CUDA_STUBS:BOOL=OFF
-DENABLE_PYLINT:BOOL=OFF
-DBUILD_opencv_python3:BOOL=OFF
-DBUILD_opencv_python2:BOOL=OFF
-DBUILD_opencv_world:BOOL=OFF
-DBUILD_opencv_apps:BOOL=OFF
-DBUILD_opencv_js:BOOL=OFF
-DBUILD_ZLIB:BOOL=OFF
-DZLIB_ROOT:PATH=${ZLIB_INSTALL}
-DBUILD_TIFF:BOOL=ON
-DBUILD_JASPER:BOOL=ON
-DWITH_JPEG:BOOL=ON
-DBUILD_JPEG:BOOL=OFF
-DJPEG_INCLUDE_DIR:STRING=${LIBJPEG_INCLUDE_DIR}
-DJPEG_LIBRARY:STRING=${LIBJPEG_STATIC_LIBRARIES}
-DBUILD_PNG:BOOL=ON
-DBUILD_OPENEXR:BOOL=ON
-DBUILD_TBB:BOOL=ON
-DBUILD_IPP_IW:BOOL=OFF
-DWITH_ITT:BOOL=OFF
-DBUILD_opencv_flann:BOOL=OFF
-DBUILD_opencv_ml:BOOL=OFF
-DBUILD_opencv_objdetect:BOOL=OFF
-DBUILD_opencv_photo:BOOL=OFF
-DBUILD_opencv_video:BOOL=OFF
-DBUILD_opencv_dnn:BOOL=OFF
-DBUILD_opencv_shape:BOOL=OFF
-DBUILD_opencv_videoio:BOOL=OFF
-DBUILD_opencv_highgui:BOOL=OFF
-DBUILD_opencv_superres:BOOL=OFF
-DBUILD_opencv_features2d:BOOL=OFF
-DBUILD_opencv_calib3d:BOOL=OFF
-DBUILD_opencv_stitching:BOOL=OFF
-DBUILD_opencv_videostab:BOOL=OFF
-DBUILD_opencv_imgproc:BOOL=ON
-DBUILD_opencv_imgcodecs:BOOL=ON
-DENABLE_CXX11:BOOL=ON
# -DLIB_SUFFIX:STRING=64
)
if(WITH_ZLIB)
add_dependencies(opencv zlib)
endif()
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/pngconf.h
${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/pngdebug.h
${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/png.h
${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/pnginfo.h
${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/pnglibconf.h
${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/pngpriv.h
${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/3rdparty/libpng/pngstruct.h
TYPE INCLUDE
COMPONENT libpng_headers)
add_custom_target(
install_libpng_headers
COMMAND
"${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=libpng_headers
-DCMAKE_INSTALL_PREFIX="${LIBPNG_INSTALL_DIR}"
-DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE} -P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
DEPENDS opencv)
endif(THIRD_PARTY)
include(ExternalProject)
set(OPENSSL_INSTALL ${THIRD_PARTY_DIR}/openssl)
set(OPENSSL_INCLUDE_DIR ${THIRD_PARTY_DIR}/openssl/include)
set(OPENSSL_LIBRARY_DIR ${THIRD_PARTY_DIR}/openssl/lib)
set(OPENSSL_TAR_URL https://github.com/openssl/openssl/archive/OpenSSL_1_1_1g.tar.gz)
use_mirror(VARIABLE OPENSSL_TAR_URL URL ${OPENSSL_TAR_URL})
set(OPENSSL_URL_HASH dd32f35dd5d543c571bc9ebb90ebe54e)
set(OPENSSL_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/openssl)
if(WIN32)
set(OPENSSL_BUILD_LIBRARY_DIR ${OPENSSL_INSTALL}/lib)
set(OPENSSL_LIBRARY_NAMES ssl.lib crypto.lib)
elseif(APPLE AND ("${CMAKE_GENERATOR}" STREQUAL "Xcode"))
set(OPENSSL_BUILD_LIBRARY_DIR ${OPENSSL_INSTALL}/lib)
set(OPENSSL_LIBRARY_NAMES libssl.a libcrypto.a)
else()
set(OPENSSL_BUILD_LIBRARY_DIR ${OPENSSL_INSTALL}/lib)
set(OPENSSL_LIBRARY_NAMES libssl.a libcrypto.a)
endif()
foreach(LIBRARY_NAME ${OPENSSL_LIBRARY_NAMES})
list(APPEND OPENSSL_STATIC_LIBRARIES ${OPENSSL_LIBRARY_DIR}/${LIBRARY_NAME})
list(APPEND OPENSSL_BUILD_STATIC_LIBRARIES ${OPENSSL_BUILD_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
if(THIRD_PARTY)
include(ProcessorCount)
ProcessorCount(PROC_NUM)
ExternalProject_Add(
openssl
PREFIX openssl
URL ${OPENSSL_TAR_URL}
URL_HASH MD5=${OPENSSL_URL_HASH}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/src/openssl/config --prefix=${OPENSSL_INSTALL}
BUILD_BYPRODUCTS ${OPENSSL_STATIC_LIBRARIES}
BUILD_COMMAND make -j${PROC_NUM}
INSTALL_COMMAND make install_sw)
endif(THIRD_PARTY)
--- ./build/third_party_install/tensorflow/include/tensorflow_inc/tensorflow/stream_executor/platform/logging.h 2021-06-22 16:41:20.000000000 +0800
+++ logging.h 2021-08-16 19:41:43.082449275 +0800
@@ -19,7 +19,7 @@
#include "tensorflow/core/platform/logging.h"
#include "tensorflow/stream_executor/platform/port.h"
-#if !defined(PLATFORM_GOOGLE) && !defined(PLATFORM_GOOGLE_ANDROID)
+#if !defined(PLATFORM_GOOGLE) && !defined(PLATFORM_GOOGLE_ANDROID) && !defined(GOOGLE_LOGGING)
#define PCHECK(invocation) CHECK(invocation)
include(ExternalProject)
set(PROTOBUF_INSTALL_DIR ${THIRD_PARTY_DIR}/protobuf)
set(PROTOBUF_INSTALL_INCLUDEDIR include)
set(PROTOBUF_INSTALL_LIBDIR lib)
set(PROTOBUF_INSTALL_BINDIR bin)
set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INSTALL_DIR}/${PROTOBUF_INSTALL_INCLUDEDIR})
set(PROTOBUF_LIBRARY_DIR ${PROTOBUF_INSTALL_DIR}/${PROTOBUF_INSTALL_LIBDIR})
set(PROTOBUF_BINARY_DIR ${PROTOBUF_INSTALL_DIR}/${PROTOBUF_INSTALL_BINDIR})
set(PROTOBUF_SRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/src)
set(PROTOBUF_URL "https://github.com/protocolbuffers/protobuf/archive/v3.9.2.zip")
set(PROTOBUF_MD5 cf02c32870a1f78c860039e0f63a6343)
use_mirror(VARIABLE PROTOBUF_URL URL ${PROTOBUF_URL})
if(WIN32)
set(PROTOBUF_LIBRARY_NAMES libprotobufd.lib)
set(PROTOC_EXECUTABLE_NAME protoc.exe)
set(PROTOBUF_ADDITIONAL_CMAKE_OPTIONS -Dprotobuf_MSVC_STATIC_RUNTIME:BOOL=ON -A x64)
else()
# NOTE: (houjiang, shenghang), to support xrt, must make libproto built as shared
if("${CMAKE_SHARED_LIBRARY_SUFFIX}" STREQUAL ".dylib")
set(PROTOBUF_LIBRARY_NAMES libprotobuf.dylib)
elseif("${CMAKE_SHARED_LIBRARY_SUFFIX}" STREQUAL ".so")
set(PROTOBUF_LIBRARY_NAMES libprotobuf.so)
else()
message(FATAL_ERROR "${CMAKE_SHARED_LIBRARY_SUFFIX} not support for protobuf")
endif()
set(PROTOBUF_BUILD_SHARED_LIBS ON)
set(PROTOC_EXECUTABLE_NAME protoc)
endif()
foreach(LIBRARY_NAME ${PROTOBUF_LIBRARY_NAMES})
list(APPEND PROTOBUF_STATIC_LIBRARIES ${PROTOBUF_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach()
set(PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_BINARY_DIR}/${PROTOC_EXECUTABLE_NAME})
if(THIRD_PARTY)
ExternalProject_Add(
protobuf
PREFIX protobuf
URL ${PROTOBUF_URL}
URL_MD5 ${PROTOBUF_MD5}
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf
SOURCE_SUBDIR cmake
BUILD_BYPRODUCTS ${PROTOBUF_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=${CMAKE_CXX_COMPILER_LAUNCHER}
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DZLIB_ROOT:PATH=${ZLIB_INSTALL}
-Dprotobuf_WITH_ZLIB:BOOL=${WITH_ZLIB}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DBUILD_SHARED_LIBS:BOOL=${PROTOBUF_BUILD_SHARED_LIBS}
-Dprotobuf_BUILD_SHARED_LIBS:BOOL=${PROTOBUF_BUILD_SHARED_LIBS}
-Dprotobuf_BUILD_TESTS:BOOL=OFF
-DCMAKE_INSTALL_PREFIX:STRING=${PROTOBUF_INSTALL_DIR}
-DCMAKE_INSTALL_INCLUDEDIR:STRING=${PROTOBUF_INSTALL_INCLUDEDIR}
-DCMAKE_INSTALL_LIBDIR:STRING=${PROTOBUF_INSTALL_LIBDIR}
-DCMAKE_INSTALL_BINDIR:STRING=${PROTOBUF_INSTALL_BINDIR}
-DCMAKE_INSTALL_MESSAGE:STRING=${CMAKE_INSTALL_MESSAGE}
-Dprotobuf_DEBUG_POSTFIX:STRING=
${PROTOBUF_ADDITIONAL_CMAKE_OPTIONS})
if(WITH_ZLIB)
add_dependencies(protobuf zlib)
endif()
else()
add_custom_target(protobuf)
endif(THIRD_PARTY)
add_library(protobuf_imported UNKNOWN IMPORTED)
set_property(TARGET protobuf_imported PROPERTY IMPORTED_LOCATION "${PROTOBUF_STATIC_LIBRARIES}")
include(ExternalProject)
set(RE2_PROJECT re2)
set(RE2_INSTALL_DIR ${THIRD_PARTY_DIR}/re2)
set(RE2_INCLUDE_DIR ${RE2_INSTALL_DIR}/include CACHE PATH "" FORCE)
set(RE2_LIBRARY_DIR ${RE2_INSTALL_DIR}/lib CACHE PATH "" FORCE)
set(RE2_LIBRARIES ${RE2_LIBRARY_DIR}/libre2.a)
set(RE2_URL https://github.com/Oneflow-Inc/re2/archive/refs/tags/e17af7789.tar.gz)
use_mirror(VARIABLE RE2_URL URL ${RE2_URL})
if(THIRD_PARTY)
ExternalProject_Add(
${RE2_PROJECT}
PREFIX re2
URL ${RE2_URL}
URL_MD5 3b2e20c1edd1cfe887aeef3b0747eac0
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${RE2_LIBRARIES}
CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=OFF
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}
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=${RE2_INSTALL_DIR}
-DCMAKE_INSTALL_LIBDIR:PATH=${RE2_LIBRARY_DIR}
-DCMAKE_INSTALL_MESSAGE:STRING=${CMAKE_INSTALL_MESSAGE}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DRE2_BUILD_TESTING:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE})
endif(THIRD_PARTY)
include(FetchContent)
set_mirror_url_with_hash(
string_view_URL "https://github.com/martinmoene/string-view-lite/archive/refs/tags/v1.6.0.tar.gz"
2bdbfa2def2d460e3f78ee9846ece943)
FetchContent_Declare(string_view URL ${string_view_URL} URL_HASH MD5=${string_view_URL_HASH})
FetchContent_MakeAvailable(string_view)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment