Commit 862b5c65 authored by Jørgen Lind's avatar Jørgen Lind
Browse files

Merge branch feature/kim/emscripten with refs/heads/master into refs/merge-requests/541/train

parents 4346fa36 11d8955f
Pipeline #88654 passed with stages
in 24 minutes and 5 seconds
include(CMake/BuildExternal.cmake)
include(CMake/BuildCurl.cmake)
include(CMake/BuildAWSSDK.cmake)
include(CMake/BuildJsonCpp.cmake)
include(CMake/BuildFmt.cmake)
include(CMake/BuildCppRestSdk.cmake)
include(CMake/BuildAzure.cmake)
include(CMake/BuildLibUV.cmake)
include(CMake/BuildLibreSSL.cmake)
include(CMake/BuildCrc32c.cmake)
include(CMake/BuildGoogleCloud.cmake)
include(CMake/BuildDms.cmake)
if (BUILD_ZLIB)
include(CMake/BuildZlib.cmake)
endif()
if (BUILD_LIBXML)
include(CMake/BuildLibXML2.cmake)
if (NOT EMSCRIPTEN)
include(CMake/BuildCurl.cmake)
include(CMake/BuildAWSSDK.cmake)
include(CMake/BuildJsonCpp.cmake)
include(CMake/BuildFmt.cmake)
include(CMake/BuildCppRestSdk.cmake)
include(CMake/BuildAzure.cmake)
include(CMake/BuildLibUV.cmake)
include(CMake/BuildLibreSSL.cmake)
include(CMake/BuildCrc32c.cmake)
include(CMake/BuildGoogleCloud.cmake)
include(CMake/BuildDms.cmake)
if (BUILD_LIBXML)
include(CMake/BuildLibXML2.cmake)
endif()
include(CMake/BuildAzureSdkForCpp.cmake)
endif()
include(CMake/BuildAzureSdkForCpp.cmake)
macro(build3rdparty)
BuildJsonCPP()
BuildFmt()
if (BUILD_ZLIB)
BuildZlib()
endif()
if (Python3_FOUND)
include(CMake/FindPythonLibsNew.cmake)
add_subdirectory(${pybind11_SOURCE_DIR} ${PROJECT_BINARY_DIR}/pybind11_${pybind11_VERSION} EXCLUDE_FROM_ALL)
endif()
if (NOT EMSCRIPTEN)
BuildJsonCPP()
BuildFmt()
if (Python3_FOUND)
include(CMake/FindPythonLibsNew.cmake)
add_subdirectory(${pybind11_SOURCE_DIR} ${PROJECT_BINARY_DIR}/pybind11_${pybind11_VERSION} EXCLUDE_FROM_ALL)
endif()
if (NOT DISABLE_CURL_IOMANAGER OR NOT DISABLE_GCP_IOMANAGER OR NOT DISABLE_DMS_IOMANAGER)
BuildCurl()
BuildLibUV()
endif()
if (NOT DISABLE_CURL_IOMANAGER OR NOT DISABLE_GCP_IOMANAGER OR NOT DISABLE_DMS_IOMANAGER)
BuildCurl()
BuildLibUV()
endif()
if (NOT DISABLE_AWS_IOMANAGER)
BuildAwsSdk()
endif()
if (NOT DISABLE_AWS_IOMANAGER)
BuildAwsSdk()
endif()
if (NOT DISABLE_AZURE_IOMANAGER)
BuildCppRestSdk()
BuildAzure()
endif()
if (NOT DISABLE_AZURE_IOMANAGER)
BuildCppRestSdk()
BuildAzure()
endif()
if (NOT DISABLE_GCP_IOMANAGER OR NOT DISABLE_DMS_IOMANAGER)
BuildLibreSSL()
BuildCrc32c()
BuildGoogleCloud()
endif()
if (NOT DISABLE_GCP_IOMANAGER OR NOT DISABLE_DMS_IOMANAGER)
BuildLibreSSL()
BuildCrc32c()
BuildGoogleCloud()
endif()
if (NOT DISABLE_AZURESDKFORCPP_IOMANAGER)
if (BUILD_LIBXML)
BuildLibXML2()
if (NOT DISABLE_AZURESDKFORCPP_IOMANAGER)
if (BUILD_LIBXML)
BuildLibXML2()
endif()
BuildAzureSdkForCpp()
endif()
BuildAzureSdkForCpp()
endif()
if (NOT DISABLE_DMS_IOMANAGER)
BuildDms()
endif()
if (NOT DISABLE_DMS_IOMANAGER)
BuildDms()
endif()
include(${cmakerc_SOURCE_DIR}/CMakeRC.cmake)
include(${cmakerc_SOURCE_DIR}/CMakeRC.cmake)
endif()
endmacro()
......@@ -50,49 +50,53 @@ if (EXISTS /etc/alpine-release) #the Alpine folks desided to patch cmake but for
endif()
endif()
set(BUILD_PYTHON_DEFAULT ON)
if (Python_ROOT_DIR)
set(PYTHON_ROOT_DIR_HINT "HINTS ${Python_ROOT_DIR}")
set(PYTHON_REQUIRED "REQUIRED")
endif()
if (NOT EMSCRIPTEN)
set(BUILD_PYTHON_DEFAULT ON)
if (Python_ROOT_DIR)
set(PYTHON_ROOT_DIR_HINT "HINTS ${Python_ROOT_DIR}")
set(PYTHON_REQUIRED "REQUIRED")
endif()
if (OPENVDS_PYTHON_VERSION)
find_package(Python3 ${OPENVDS_PYTHON_VERSION} EXACT REQUIRED COMPONENTS Interpreter Development.Module ${PYTHON_ROOT_DIR_HINT})
else()
find_package(Python3 ${PYTHON_REQUIRED} COMPONENTS Interpreter Development.Module ${PYTHON_ROOT_DIR_HINT})
endif()
if (OPENVDS_PYTHON_VERSION)
find_package(Python3 ${OPENVDS_PYTHON_VERSION} EXACT REQUIRED COMPONENTS Interpreter Development.Module ${PYTHON_ROOT_DIR_HINT})
else()
find_package(Python3 ${PYTHON_REQUIRED} COMPONENTS Interpreter Development.Module ${PYTHON_ROOT_DIR_HINT})
endif()
if (Python3_FOUND)
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
set(PYTHONINTERP_FOUND ON)
if (WIN32)
get_target_property(Python3_IMPLIB_DEBUG Python3::Module IMPORTED_IMPLIB_DEBUG)
get_target_property(Python3_IMPLIB_RELEASE Python3::Module IMPORTED_IMPLIB_RELEASE)
if (Python3_IMPLIB_DEBUG)
set_target_properties(Python3::Module PROPERTIES IMPORTED_IMPLIB_DEBUG ${Python3_IMPLIB_RELEASE})
if (Python3_FOUND)
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
set(PYTHONINTERP_FOUND ON)
if (WIN32)
get_target_property(Python3_IMPLIB_DEBUG Python3::Module IMPORTED_IMPLIB_DEBUG)
get_target_property(Python3_IMPLIB_RELEASE Python3::Module IMPORTED_IMPLIB_RELEASE)
if (Python3_IMPLIB_DEBUG)
set_target_properties(Python3::Module PROPERTIES IMPORTED_IMPLIB_DEBUG ${Python3_IMPLIB_RELEASE})
endif()
endif()
else()
message("Failed to find Python3 interpreter. Disabling Python build")
set(BUILD_PYTHON_DEFAULT OFF)
endif()
else()
message("Failed to find Python3 interpreter. Disabling Python build")
set(BUILD_PYTHON_DEFAULT OFF)
endif()
if (OPENVDS_JAVA_VERSION)
find_package(Java ${OPENVDS_JAVA_VERSION} COMPONENTS Development)
find_package(JNI)
else()
find_package(Java 1.8 COMPONENTS Development)
find_package(JNI)
endif()
if (OPENVDS_JAVA_VERSION)
find_package(Java ${OPENVDS_JAVA_VERSION} COMPONENTS Development)
find_package(JNI)
else()
find_package(Java 1.8 COMPONENTS Development)
find_package(JNI)
endif()
if (Java_FOUND AND JNI_FOUND)
set(BUILD_JAVA_DEFAULT ON)
else()
message("Failed to find Java compiler. Disabling Java build")
set(BUILD_JAVA_DEFAULT OFF)
if (Java_FOUND AND JNI_FOUND)
set(BUILD_JAVA_DEFAULT ON)
else()
message("Failed to find Java compiler. Disabling Java build")
set(BUILD_JAVA_DEFAULT OFF)
endif()
endif()
if (WIN32)
if (EMSCRIPTEN)
set(DEFAULT_BUILD_ZLIB OFF)
elseif (WIN32)
set(DEFAULT_BUILD_ZLIB ON)
set(DEFAULT_BUILD_CURL ON)
set(DEFAULT_BUILD_UV ON)
......@@ -117,44 +121,52 @@ else()
endif()
endif()
option(BUILD_PYTHON "Build python bindings" ${BUILD_PYTHON_DEFAULT})
option(BUILD_JAVA "Build java bindings" ${BUILD_JAVA_DEFAULT})
option(ENABLE_OPENMP "Enable the OpenMP codepath" ON)
option(ENABLE_MSVC_TOOLSET_DIR "Enable adding a subdir for the MSVC toolset" ON)
option(BUILD_SHARED_LIBS "Build OpenVDS as a shared library" ON)
option(BUILD_EXAMPLES "Build OpenVDS example projects" ON)
option(BUILD_TESTS "Build OpenVDS tests" ON)
option(BUILD_DOCS "Build OpenVDS docs" OFF)
option(ENABLE_RUNPATH_ORIGIN "On Linux make the install have ORIGIN as RUNPATH" ON)
option(DISABLE_STRICT_WARNINGS "Disable strict warnings settings. This includes making warnings to errors." OFF)
option(DISABLE_AWS_IOMANAGER "Disable compiling the Aws-cpp-sdk IOManager backend." OFF)
option(DISABLE_AZURE_IOMANAGER "Disable compiling Azure-storage-cpp and cpprestapi. This also disables Azure support for DMS." OFF)
option(DISABLE_AZURESDKFORCPP_IOMANAGER "Disable compiling AzureSdkForCpp. This also disables Azure support for DMS." ${DEFAULT_DISABLE_AZURESDKFORCPP})
option(DISABLE_AZURE_PRESIGNED_IOMANAGER "Disable compiling Azure presigned IOManager backend." OFF)
option(DISABLE_GCP_IOMANAGER "Disable compiling GCP IOManager backend." OFF)
option(DISABLE_DMS_IOMANAGER "Disable compiling DMS IOManager backend." OFF)
option(BUILD_ZLIB "Build zlib" ${DEFAULT_BUILD_ZLIB})
option(BUILD_CURL "Build libcurl as part of the openVDS build" ${DEFAULT_BUILD_CURL})
option(BUILD_UV "Build libuv as part of the openVDS build" ${DEFAULT_BUILD_UV})
option(BUILD_LIBXML "Build libxml2 as part of the openVDS build" ${DEFAULT_BUILD_LIBXML})
option(USE_LIBRESSL "Build libressl as part of the openVDS build and use it instead of OpenSSL" ${DEFAULT_USE_LIBRESSL})
option(AUTODETECT_CA_CERTIFICATES "Make python initialization script autodetect location of ca certificates" OFF)
include(CMakeDependentOption)
cmake_dependent_option(
DISABLE_CURL_IOMANAGER "Disable all IOManagers based on CURL."
ON "DISABLE_AZURE_PRESIGNED_IOMANAGER;DISABLE_GCP_IOMANAGER" OFF)
mark_as_advanced(DISABLE_CURL_IOMANAGER)
if ((${CMAKE_MAJOR_VERSION} EQUAL 3) AND (${CMAKE_MINOR_VERSION} EQUAL 19) AND (${CMAKE_PATCH_VERSION} LESS 3 OR ${CMAKE_PATCH_VERSION} EQUAL 20122902) AND (NOT ${DISABLE_AWS_IOMANAGER}))
message(FATAL_ERROR "A bug in CMake 3.19 series makes it is makes it not possible to build the AWS backend code.\n Please upgrade og downgrade. Its possible to use custom version of cmake in Visual Studio under CMake Settings.\n Disable AWS IO Manager by defining -DDISABLE_AWS_IOMANAGER=ON as a cmake parameter")
endif()
if (EMSCRIPTEN)
option(ENABLE_OPENMP "Enable the OpenMP codepath" ON) # In case OpenMP is supported in the future.
option(DISABLE_STRICT_WARNINGS "Disable strict warnings settings. This includes making warnings to errors." OFF)
option(BUILD_ZLIB "Build zlib" ${DEFAULT_BUILD_ZLIB})
if (DISABLE_AZURESDKFORCPP_IOMANAGER)
set(CMAKE_CXX_STANDARD 11)
else()
set(CMAKE_CXX_STANDARD 14)
option(BUILD_PYTHON "Build python bindings" ${BUILD_PYTHON_DEFAULT})
option(BUILD_JAVA "Build java bindings" ${BUILD_JAVA_DEFAULT})
option(ENABLE_OPENMP "Enable the OpenMP codepath" ON)
option(ENABLE_MSVC_TOOLSET_DIR "Enable adding a subdir for the MSVC toolset" ON)
option(BUILD_SHARED_LIBS "Build OpenVDS as a shared library" ON)
option(BUILD_EXAMPLES "Build OpenVDS example projects" ON)
option(BUILD_TESTS "Build OpenVDS tests" ON)
option(BUILD_DOCS "Build OpenVDS docs" OFF)
option(ENABLE_RUNPATH_ORIGIN "On Linux make the install have ORIGIN as RUNPATH" ON)
option(DISABLE_STRICT_WARNINGS "Disable strict warnings settings. This includes making warnings to errors." OFF)
option(DISABLE_AWS_IOMANAGER "Disable compiling the Aws-cpp-sdk IOManager backend." OFF)
option(DISABLE_AZURE_IOMANAGER "Disable compiling Azure-storage-cpp and cpprestapi. This also disables Azure support for DMS." OFF)
option(DISABLE_AZURESDKFORCPP_IOMANAGER "Disable compiling AzureSdkForCpp. This also disables Azure support for DMS." ${DEFAULT_DISABLE_AZURESDKFORCPP})
option(DISABLE_AZURE_PRESIGNED_IOMANAGER "Disable compiling Azure presigned IOManager backend." OFF)
option(DISABLE_GCP_IOMANAGER "Disable compiling GCP IOManager backend." OFF)
option(DISABLE_DMS_IOMANAGER "Disable compiling DMS IOManager backend." OFF)
option(BUILD_ZLIB "Build zlib" ${DEFAULT_BUILD_ZLIB})
option(BUILD_CURL "Build libcurl as part of the openVDS build" ${DEFAULT_BUILD_CURL})
option(BUILD_UV "Build libuv as part of the openVDS build" ${DEFAULT_BUILD_UV})
option(BUILD_LIBXML "Build libxml2 as part of the openVDS build" ${DEFAULT_BUILD_LIBXML})
option(USE_LIBRESSL "Build libressl as part of the openVDS build and use it instead of OpenSSL" ${DEFAULT_USE_LIBRESSL})
option(AUTODETECT_CA_CERTIFICATES "Make python initialization script autodetect location of ca certificates" OFF)
include(CMakeDependentOption)
cmake_dependent_option(
DISABLE_CURL_IOMANAGER "Disable all IOManagers based on CURL."
ON "DISABLE_AZURE_PRESIGNED_IOMANAGER;DISABLE_GCP_IOMANAGER" OFF)
mark_as_advanced(DISABLE_CURL_IOMANAGER)
if ((${CMAKE_MAJOR_VERSION} EQUAL 3) AND (${CMAKE_MINOR_VERSION} EQUAL 19) AND (${CMAKE_PATCH_VERSION} LESS 3 OR ${CMAKE_PATCH_VERSION} EQUAL 20122902) AND (NOT ${DISABLE_AWS_IOMANAGER}))
message(FATAL_ERROR "A bug in CMake 3.19 series makes it is makes it not possible to build the AWS backend code.\n Please upgrade og downgrade. Its possible to use custom version of cmake in Visual Studio under CMake Settings.\n Disable AWS IO Manager by defining -DDISABLE_AWS_IOMANAGER=ON as a cmake parameter")
endif()
if (DISABLE_AZURESDKFORCPP_IOMANAGER)
set(CMAKE_CXX_STANDARD 11)
else()
set(CMAKE_CXX_STANDARD 14)
endif()
endif()
set(CMAKE_CXX_EXTENSIONS OFF)
......@@ -204,36 +216,38 @@ set(CMAKE_DEBUG_POSTFIX d)
add_subdirectory(src)
add_subdirectory(docs)
if (NOT EMSCRIPTEN)
add_subdirectory(docs)
add_subdirectory(tools)
add_subdirectory(tools)
if (BUILD_PYTHON)
add_subdirectory(python)
endif ()
if (BUILD_PYTHON)
add_subdirectory(python)
endif ()
if (BUILD_JAVA)
add_subdirectory(java)
endif()
if (BUILD_JAVA)
add_subdirectory(java)
endif()
if (BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
endif()
if (BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
endif()
if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
file(RELATIVE_PATH INSTALLED_LIB_RELATIVE_TO_EXAMPLES "${PROJECT_SOURCE_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/openvds/examples" "${PROJECT_SOURCE_DIR}/${CMAKE_INSTALL_DATAROOTDIR}")
configure_file(CMake/InstalledPaths.cmake.in ${CMAKE_BINARY_DIR}/CMake/InstalledPaths.cmake)
install(FILES CMake/CopyDllForTarget.cmake CMake/SetWarnings.cmake ${CMAKE_BINARY_DIR}/CMake/InstalledPaths.cmake
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openvds/examples/modules)
install(DIRECTORY examples DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openvds)
install(DIRECTORY common/Noise DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openvds/examples/common)
file(RELATIVE_PATH INSTALLED_LIB_RELATIVE_TO_EXAMPLES "${PROJECT_SOURCE_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/openvds/examples" "${PROJECT_SOURCE_DIR}/${CMAKE_INSTALL_DATAROOTDIR}")
configure_file(CMake/InstalledPaths.cmake.in ${CMAKE_BINARY_DIR}/CMake/InstalledPaths.cmake)
install(FILES CMake/CopyDllForTarget.cmake CMake/SetWarnings.cmake ${CMAKE_BINARY_DIR}/CMake/InstalledPaths.cmake
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openvds/examples/modules)
install(DIRECTORY examples DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openvds)
install(DIRECTORY common/Noise DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/openvds/examples/common)
configure_file(docker/build_scripts/README.txt.in ${CMAKE_BINARY_DIR}/README.txt)
configure_file(docker/build_scripts/README.txt.in ${CMAKE_BINARY_DIR}/README.txt)
endif()
install(FILES ${CMAKE_SOURCE_DIR}/Attributions.md ${CMAKE_BINARY_DIR}/README.txt ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/)
if (NOT DEFINED CPACK_GENERATOR)
......
......@@ -122,6 +122,16 @@ folder:
`$ cmake -P CMake/Fetch3rdParty.cmake`
Then start like other cmake projects in Visual Studio
#### Emscripten
OpenVDS can be compiled with Emscripten to a javascript module. The module
exports the DeserializeVolumeData() function.
To build the module, the Emscripten SDK from https://github.com/emscripten-core
is needed. Make sure cmake is in the path. Activate the Emscripten SDK
environment, make a build folder, and run
"emcmake cmake -DCMAKE_BUILD_TYPE=Release <path to open-vds>" and
"cmake --build ." from the build folder.
#### Build options
- BUILD_PYTHON (ON|OFF)
......
add_subdirectory(OpenVDS)
add_subdirectory(SEGYUtils)
if (NOT EMSCRIPTEN)
add_subdirectory(SEGYUtils)
endif()
set(SOURCE_FILES
OpenVDS.cpp
IO/File.cpp
IO/Linux_File.cpp
IO/Win_File.cpp
IO/IOManager.cpp
IO/IOManagerAWS.cpp
IO/IOManagerAWSCurl.cpp
IO/IOManagerAzure.cpp
IO/IOManagerAzureSdkForCpp.cpp
IO/IOManagerInMemory.cpp
IO/IOManagerCurl.cpp
IO/IOManagerAzurePresigned.cpp
IO/IOManagerGoogle.cpp
IO/IOManagerHttp.cpp
IO/IOManagerDms.cpp
IO/IOManagerDmsFactory.cpp
IO/IORefreshToken.cpp
BulkDataStore/HueBulkDataStore.cpp
BulkDataStore/ExtentAllocator.cpp
BulkDataStore/VDSObjectParser.cpp
VDS/VolumeDataPartition.cpp
VDS/VolumeDataChannelMapping.cpp
VDS/VolumeDataLayer.cpp
VDS/VolumeDataLayoutImpl.cpp
VDS/VolumeDataChunk.cpp
VDS/VolumeDataRegion.cpp
VDS/VolumeDataHash.cpp
VDS/VolumeDataPageAccessorImpl.cpp
VDS/VolumeDataAccessManagerImpl.cpp
VDS/VolumeDataPageImpl.cpp
VDS/VolumeDataAccessor.cpp
VDS/DimensionGroup.cpp
VDS/ParseVDSJson.cpp
VDS/MetadataManager.cpp
VDS/VolumeDataStore.cpp
VDS/VolumeDataStoreIOManager.cpp
VDS/VolumeDataStoreVDSFile.cpp
VDS/Wavelet.cpp
VDS/WaveletAdaptiveLL.cpp
VDS/DataBlock.cpp
VDS/FSE/entropy_common.cpp
VDS/FSE/fse_decompress.cpp
VDS/Rle.cpp
VDS/VolumeDataRequestProcessor.cpp
VDS/VolumeIndexer.cpp
VDS/Env.cpp
VDS/StringToDouble.cpp
${CMAKE_CURRENT_BINARY_DIR}/VDS/GetGitRevision.cpp
${COMMON_DIR}/Base64/Base64.cpp)
set (PRIVATE_HEADER_FILES
IO/File.h
IO/IOManager.h
IO/IOManagerAWS.h
IO/IOManagerAWSCurl.h
IO/IOManagerAzure.h
IO/IOManagerAzureSdkForCpp.h
IO/IOManagerInMemory.h
IO/IOManagerCurl.h
IO/IOManagerAzurePresigned.h
IO/IOManagerGoogle.h
IO/IOManagerHttp.h
IO/IOManagerDms.h
IO/IOManagerDmsFactory.h
IO/IOManagerRequestImpl.h
IO/IOManagerTransformer.h
IO/IORefreshToken.h
VDS/VDS.h
VDS/VolumeDataPartition.h
VDS/VolumeDataChannelMapping.h
VDS/VolumeDataLayer.h
VDS/VolumeDataLayoutImpl.h
VDS/VolumeDataChunk.h
VDS/VolumeDataRegion.h
VDS/VolumeDataHash.h
VDS/VolumeDataPageAccessorImpl.h
VDS/VolumeDataAccessManagerImpl.h
VDS/VolumeDataAccessor.h
VDS/VolumeDataPageImpl.h
VDS/DimensionGroup.h
VDS/Hash.h
VDS/Bitmask.h
VDS/ParseVDSJson.h
VDS/MetadataManager.h
VDS/IntrusiveList.h
VDS/VolumeDataStore.h
VDS/VolumeDataStoreIOManager.h
VDS/VolumeDataStoreVDSFile.h
VDS/Wavelet.h
VDS/WaveletAdaptiveLL.h
VDS/WaveletTypes.h
VDS/DataBlock.h
VDS/WaveletSSETransform.h
VDS/FSE/bitstream.h
VDS/FSE/error_private.h
VDS/FSE/error_public.h
VDS/FSE/mem.h
VDS/FSE/fse.h
VDS/Rle.h
VDS/VolumeDataRequestProcessor.h
VDS/Env.h
VDS/ConnectionStringParser.h
VDS/GlobalStateImpl.h
VDS/StringToDouble.h
${COMMON_DIR}/Base64/Base64.h
${COMMON_DIR}/ThreadPool/ThreadPool.h
json_cpp_include.h)
if (EMSCRIPTEN)
set(SOURCE_FILES
VDS/VolumeDataStore.cpp
VDS/Wavelet.cpp
VDS/WaveletAdaptiveLL.cpp
VDS/DataBlock.cpp
VDS/FSE/entropy_common.cpp
VDS/FSE/fse_decompress.cpp
VDS/Rle.cpp
${CMAKE_CURRENT_BINARY_DIR}/VDS/GetGitRevision.cpp)
set (PRIVATE_HEADER_FILES
VDS/Wavelet.h
VDS/WaveletAdaptiveLL.h
VDS/WaveletTypes.h
VDS/DataBlock.h
VDS/WaveletSSETransform.h
VDS/FSE/bitstream.h
VDS/FSE/error_private.h
VDS/FSE/error_public.h
VDS/FSE/mem.h
VDS/FSE/fse.h
VDS/Rle.h)
else()
set(SOURCE_FILES
OpenVDS.cpp
IO/File.cpp
IO/Linux_File.cpp
IO/Win_File.cpp
IO/IOManager.cpp
IO/IOManagerAWS.cpp
IO/IOManagerAWSCurl.cpp
IO/IOManagerAzure.cpp
IO/IOManagerAzureSdkForCpp.cpp
IO/IOManagerInMemory.cpp
IO/IOManagerCurl.cpp
IO/IOManagerAzurePresigned.cpp
IO/IOManagerGoogle.cpp
IO/IOManagerHttp.cpp
IO/IOManagerDms.cpp
IO/IOManagerDmsFactory.cpp
IO/IORefreshToken.cpp
BulkDataStore/HueBulkDataStore.cpp
BulkDataStore/ExtentAllocator.cpp
BulkDataStore/VDSObjectParser.cpp
VDS/VolumeDataPartition.cpp
VDS/VolumeDataChannelMapping.cpp
VDS/VolumeDataLayer.cpp
VDS/VolumeDataLayoutImpl.cpp
VDS/VolumeDataChunk.cpp
VDS/VolumeDataRegion.cpp
VDS/VolumeDataHash.cpp
VDS/VolumeDataPageAccessorImpl.cpp
VDS/VolumeDataAccessManagerImpl.cpp
VDS/VolumeDataPageImpl.cpp
VDS/VolumeDataAccessor.cpp
VDS/DimensionGroup.cpp
VDS/ParseVDSJson.cpp
VDS/MetadataManager.cpp
VDS/VolumeDataStore.cpp
VDS/VolumeDataStoreIOManager.cpp
VDS/VolumeDataStoreVDSFile.cpp
VDS/Wavelet.cpp
VDS/WaveletAdaptiveLL.cpp
VDS/DataBlock.cpp
VDS/FSE/entropy_common.cpp
VDS/FSE/fse_decompress.cpp
VDS/Rle.cpp
VDS/VolumeDataRequestProcessor.cpp
VDS/VolumeIndexer.cpp
VDS/Env.cpp
VDS/StringToDouble.cpp
${CMAKE_CURRENT_BINARY_DIR}/VDS/GetGitRevision.cpp
${COMMON_DIR}/Base64/Base64.cpp)
set (PRIVATE_HEADER_FILES
IO/File.h
IO/IOManager.h
IO/IOManagerAWS.h
IO/IOManagerAWSCurl.h
IO/IOManagerAzure.h
IO/IOManagerAzureSdkForCpp.h
IO/IOManagerInMemory.h
IO/IOManagerCurl.h
IO/IOManagerAzurePresigned.h
IO/IOManagerGoogle.h
IO/IOManagerHttp.h
IO/IOManagerDms.h
IO/IOManagerDmsFactory.h
IO/IOManagerRequestImpl.h
IO/IOManagerTransformer.h
IO/IORefreshToken.h
VDS/VDS.h
VDS/VolumeDataPartition.h
VDS/VolumeDataChannelMapping.h
VDS/VolumeDataLayer.h
VDS/VolumeDataLayoutImpl.h
VDS/VolumeDataChunk.h
VDS/VolumeDataRegion.h
VDS/VolumeDataHash.h
VDS/VolumeDataPageAccessorImpl.h
VDS/VolumeDataAccessManagerImpl.h
VDS/VolumeDataAccessor.h
VDS/VolumeDataPageImpl.h
VDS/DimensionGroup.h
VDS/Hash.h
VDS/Bitmask.h
VDS/ParseVDSJson.h
VDS/MetadataManager.h
VDS/IntrusiveList.h
VDS/VolumeDataStore.h
VDS/VolumeDataStoreIOManager.h
VDS/VolumeDataStoreVDSFile.h
VDS/Wavelet.h
VDS/WaveletAdaptiveLL.h
VDS/WaveletTypes.h
VDS/DataBlock.h
VDS/WaveletSSETransform.h
VDS/FSE/bitstream.h
VDS/FSE/error_private.h
VDS/FSE/error_public.h
VDS/FSE/mem.h
VDS/FSE/fse.h
VDS/Rle.h
VDS/VolumeDataRequestProcessor.h
VDS/Env.h
VDS/ConnectionStringParser.h
VDS/GlobalStateImpl.h
VDS/StringToDouble.h
${COMMON_DIR}/Base64/Base64.h
${COMMON_DIR}/ThreadPool/ThreadPool.h
json_cpp_include.h)
endif()
file(GLOB EXPORTED_HEADER_FILES OpenVDS/*.h)
......@@ -120,7 +145,7 @@ set_source_files_properties(VDS/FSE/fse_decompress.cpp PROPERTIES COMPILE_FLAGS
#to work around Aws::String problem
#https://github.com/aws/aws-sdk-cpp/blob/266d7682c3d07d41618c41a3521811e1219c1bc7/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSString.h#L21
if (NOT MSVC)