diff --git a/.gitignore b/.gitignore index 3fdf002fe..bc1a540a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.vs +.vs/* bin bin/* bin_cmake diff --git a/build/cmake/third-party/dependencies_windows.txt b/build/cmake/third-party/dependencies_windows.txt index d1102353c..9bd596992 100644 --- a/build/cmake/third-party/dependencies_windows.txt +++ b/build/cmake/third-party/dependencies_windows.txt @@ -1,3 +1,4 @@ libusb wxwidgets libyuv +directshow diff --git a/build/cmake/third-party/directshow.cmake b/build/cmake/third-party/directshow.cmake new file mode 100644 index 000000000..84b613d7c --- /dev/null +++ b/build/cmake/third-party/directshow.cmake @@ -0,0 +1,35 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. + +include(${CMAKE_CURRENT_SOURCE_DIR}/ocean_third_party_utilities.cmake) + +message(CHECK_START "directshow") +list(APPEND CMAKE_MESSAGE_INDENT " ") + +find_package(Git REQUIRED) + +# DirectShow is Windows-only +if(NOT WIN32) + message(CHECK_FAIL "skipped (Windows only)") + list(POP_BACK CMAKE_MESSAGE_INDENT) + return() +endif() + +set(DIRECTSHOW_GIT_TAG "adf93f0") + +CPMAddPackage( + NAME directshow + GIT_REPOSITORY https://github.com/microsoft/Windows-classic-samples.git + GIT_TAG ${DIRECTSHOW_GIT_TAG} + SOURCE_SUBDIR Samples/Win7Samples/multimedia/directshow/baseclasses + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + "${CMAKE_CURRENT_SOURCE_DIR}/directshow/CMakeLists.txt" + "/Samples/Win7Samples/multimedia/directshow/baseclasses/CMakeLists.txt" +) + +write_library_version("${DIRECTSHOW_GIT_TAG}") + +list(POP_BACK CMAKE_MESSAGE_INDENT) +message(CHECK_PASS "completed") diff --git a/build/cmake/third-party/directshow/CMakeLists.txt b/build/cmake/third-party/directshow/CMakeLists.txt new file mode 100644 index 000000000..fedf345a5 --- /dev/null +++ b/build/cmake/third-party/directshow/CMakeLists.txt @@ -0,0 +1,229 @@ +cmake_minimum_required(VERSION 3.15) + +project(DirectShowBaseClasses + LANGUAGES CXX + DESCRIPTION "DirectShow Base Classes Library" +) + +# Set C++ standard (the original code is compatible with older standards) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED OFF) + +# Source files (from baseclasses.vcproj) +set(BASECLASSES_SOURCES + amextra.cpp + amfilter.cpp + amvideo.cpp + arithutil.cpp + combase.cpp + cprop.cpp + ctlutil.cpp + ddmm.cpp + dllentry.cpp + dllsetup.cpp + mtype.cpp + outputq.cpp + perflog.cpp + pstream.cpp + pullpin.cpp + refclock.cpp + renbase.cpp + schedule.cpp + seekpt.cpp + source.cpp + strmctl.cpp + sysclock.cpp + transfrm.cpp + transip.cpp + videoctl.cpp + vtrans.cpp + winctrl.cpp + winutil.cpp + wxdebug.cpp + wxlist.cpp + wxutil.cpp +) + +# Header files (for IDE organization) +set(BASECLASSES_HEADERS + amextra.h + amfilter.h + cache.h + checkbmi.h + combase.h + cprop.h + ctlutil.h + ddmm.h + dllsetup.h + dxmperf.h + fourcc.h + measure.h + msgthrd.h + mtype.h + outputq.h + perflog.h + perfstruct.h + pstream.h + pullpin.h + refclock.h + reftime.h + renbase.h + schedule.h + seekpt.h + source.h + streams.h + strmctl.h + sysclock.h + transfrm.h + transip.h + videoctl.h + vtrans.h + winctrl.h + winutil.h + wxdebug.h + wxlist.h + wxutil.h +) + +# Create the static library +add_library(strmbase STATIC + ${BASECLASSES_SOURCES} + ${BASECLASSES_HEADERS} +) + +# Set output name based on configuration +# Debug builds get 'd' suffix, matching the original project +set_target_properties(strmbase PROPERTIES + OUTPUT_NAME_DEBUG "strmbasd" + OUTPUT_NAME_RELEASE "strmbase" + OUTPUT_NAME_RELWITHDEBINFO "strmbase" + OUTPUT_NAME_MINSIZEREL "strmbase" +) + +# Include directories +target_include_directories(strmbase + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} +) + +# Preprocessor definitions +target_compile_definitions(strmbase + PRIVATE + WIN32 + _LIB + $<$:_DEBUG> + $<$>:NDEBUG> +) + +# Compiler options matching the original project +if(MSVC) + target_compile_options(strmbase PRIVATE + /W3 # Warning level 3 + $<$:/Od> # No optimization for debug + $<$:/RTC1> # Runtime checks for debug + $<$:/O2> # Optimize for speed in release + ) + + # Use Unicode character set (matches default configuration) + target_compile_definitions(strmbase PRIVATE + UNICODE + _UNICODE + ) + + # Set runtime library to match original project + # /MD for Release (Multi-threaded DLL) + # /MDd for Debug (Multi-threaded Debug DLL) + set_target_properties(strmbase PROPERTIES + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL" + ) +endif() + +# Link against required Windows libraries +target_link_libraries(strmbase + PUBLIC + strmiids # DirectShow GUIDs library + winmm # Windows multimedia +) + +# Optional: Create MBCS variants (Multi-Byte Character Set) +# Uncomment these sections if you need MBCS builds +# +# add_library(strmbase_mbcs STATIC +# ${BASECLASSES_SOURCES} +# ${BASECLASSES_HEADERS} +# ) +# +# set_target_properties(strmbase_mbcs PROPERTIES +# OUTPUT_NAME_DEBUG "strmbasd_mbcs" +# OUTPUT_NAME_RELEASE "strmbase_mbcs" +# ) +# +# target_include_directories(strmbase_mbcs PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +# target_compile_definitions(strmbase_mbcs PRIVATE WIN32 _LIB _MBCS +# $<$:_DEBUG> +# $<$>:NDEBUG> +# ) +# target_link_libraries(strmbase_mbcs PUBLIC strmiids winmm) + +# Installation rules +install(TARGETS strmbase + EXPORT DirectShowBaseClassesTargets + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin + INCLUDES DESTINATION include +) + +install(FILES ${BASECLASSES_HEADERS} + DESTINATION include +) + +# Install CMake package configuration +include(CMakePackageConfigHelpers) + +# Check if config template exists, otherwise create simple config +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DirectShowBaseClassesConfig.cmake.in) + # Generate the config file from template + configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DirectShowBaseClassesConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/DirectShowBaseClassesConfig.cmake + INSTALL_DESTINATION lib/cmake/DirectShowBaseClasses + NO_SET_AND_CHECK_MACRO + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) +else() + # Generate a basic config file inline + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/DirectShowBaseClassesConfig.cmake +"# DirectShow Base Classes CMake Configuration +include(\${CMAKE_CURRENT_LIST_DIR}/DirectShowBaseClassesTargets.cmake) +set(DirectShowBaseClasses_LIBRARIES DirectShow::strmbase) +") +endif() + +# Generate version file +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/DirectShowBaseClassesConfigVersion.cmake + VERSION 1.0.0 + COMPATIBILITY SameMajorVersion +) + +# Install the configuration files +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/DirectShowBaseClassesConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/DirectShowBaseClassesConfigVersion.cmake + DESTINATION lib/cmake/DirectShowBaseClasses +) + +# Install the export set +install(EXPORT DirectShowBaseClassesTargets + FILE DirectShowBaseClassesTargets.cmake + NAMESPACE DirectShow:: + DESTINATION lib/cmake/DirectShowBaseClasses +) + +# Print configuration information +message(STATUS "DirectShow Base Classes Configuration:") +message(STATUS " Output (Debug): strmbasd.lib") +message(STATUS " Output (Release): strmbase.lib") +message(STATUS " Character Set: Unicode") +message(STATUS " Install Prefix: ${CMAKE_INSTALL_PREFIX}") diff --git a/build/cmake/third-party/ocean_third_party_utilities.cmake b/build/cmake/third-party/ocean_third_party_utilities.cmake index 0cd913f5c..f5d18559a 100644 --- a/build/cmake/third-party/ocean_third_party_utilities.cmake +++ b/build/cmake/third-party/ocean_third_party_utilities.cmake @@ -17,7 +17,7 @@ function(write_library_version VERSION_STRING) # List of known third-party library names (must match dependency names) set(KNOWN_LIBS - "assimp" "curl" "eigen" "freetype" "giflib" "gl" "googletest" + "assimp" "curl" "directshow" "eigen" "freetype" "giflib" "gl" "googletest" "libjpeg-turbo" "libpng" "libtiff" "libusb" "libyuv" "mbedtls" "openxr" "protozero" "tinyxml2" "vtzero" "wxwidgets" "zlib" "android" "android_native_app_glue" "arcore-android-sdk" @@ -56,7 +56,7 @@ function(get_library_install_root LIBRARY_NAME OUTPUT_VAR) # List of known third-party library names (must match dependency names) set(KNOWN_LIBS - "assimp" "curl" "eigen" "freetype" "giflib" "gl" "googletest" + "assimp" "curl" "directshow" "eigen" "freetype" "giflib" "gl" "googletest" "libjpeg-turbo" "libpng" "libtiff" "libusb" "libyuv" "mbedtls" "openxr" "protozero" "tinyxml2" "vtzero" "wxwidgets" "zlib" "android" "android_native_app_glue" "arcore-android-sdk" diff --git a/build/visual_studio/android/vc143/ocean/cv/fonts/cvfonts_common.props b/build/visual_studio/android/vc143/ocean/cv/fonts/cvfonts_common.props index ca3eb3f19..f78cdc02e 100644 --- a/build/visual_studio/android/vc143/ocean/cv/fonts/cvfonts_common.props +++ b/build/visual_studio/android/vc143/ocean/cv/fonts/cvfonts_common.props @@ -18,7 +18,7 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\2.10\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\VER-2-13-2\include\freetype2;%(AdditionalIncludeDirectories) diff --git a/build/visual_studio/android/vc143/ocean/math/math_common.props b/build/visual_studio/android/vc143/ocean/math/math_common.props index aeb9b8fed..7bab464ea 100644 --- a/build/visual_studio/android/vc143/ocean/math/math_common.props +++ b/build/visual_studio/android/vc143/ocean/math/math_common.props @@ -15,7 +15,7 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\eigen\3.4\impl;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\eigen\287c8017808fb4c7a651ba4c02363a773e2f0c46\include\eigen3;%(AdditionalIncludeDirectories) m;%(LibraryDependencies) diff --git a/build/visual_studio/win/vc143/ocean/cv/fonts/cvfonts_common.props b/build/visual_studio/win/vc143/ocean/cv/fonts/cvfonts_common.props index 6c32ab708..4db1537aa 100644 --- a/build/visual_studio/win/vc143/ocean/cv/fonts/cvfonts_common.props +++ b/build/visual_studio/win/vc143/ocean/cv/fonts/cvfonts_common.props @@ -15,31 +15,31 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\2.10\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\VER-2-13-2\include\freetype2;%(AdditionalIncludeDirectories) - freetype.lib;libpng.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\2.10\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + freetyped.lib;libpng16d.lib;zlibd.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\VER-2-13-2\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) - freetype.lib;libpng.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\2.10\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + freetyped.lib;libpng16d.lib;zlibd.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\VER-2-13-2\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) - freetype.lib;libpng.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\2.10\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + freetype.lib;libpng16.lib;zlib.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\VER-2-13-2\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) - freetype.lib;libpng.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\2.10\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + freetype.lib;libpng16.lib;zlib.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\freetype\VER-2-13-2\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) diff --git a/build/visual_studio/win/vc143/ocean/io/io_common.props b/build/visual_studio/win/vc143/ocean/io/io_common.props index d0a0786b7..5dda085d4 100644 --- a/build/visual_studio/win/vc143/ocean/io/io_common.props +++ b/build/visual_studio/win/vc143/ocean/io/io_common.props @@ -13,79 +13,80 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\h;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\h;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\h;%(AdditionalIncludeDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\include;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\include;%(AdditionalIncludeDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlibd.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlibd.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlibd.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlibd.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) - libeay32.lib;tinyxml.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\openssl\1.0.2\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml\2.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + tinyxml2.lib;zlib.lib;Crypt32.lib;Wintrust.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\tinyxml2\10.0.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) diff --git a/build/visual_studio/win/vc143/ocean/math/math_common.props b/build/visual_studio/win/vc143/ocean/math/math_common.props index 871914554..ed4773326 100644 --- a/build/visual_studio/win/vc143/ocean/math/math_common.props +++ b/build/visual_studio/win/vc143/ocean/math/math_common.props @@ -12,7 +12,7 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\eigen\3.4\impl;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\eigen\287c8017808fb4c7a651ba4c02363a773e2f0c46\include\eigen3;%(AdditionalIncludeDirectories) diff --git a/build/visual_studio/win/vc143/ocean/media/directshow/mediadirectshow_common.props b/build/visual_studio/win/vc143/ocean/media/directshow/mediadirectshow_common.props index a6734701b..8c1e82e57 100644 --- a/build/visual_studio/win/vc143/ocean/media/directshow/mediadirectshow_common.props +++ b/build/visual_studio/win/vc143/ocean/media/directshow/mediadirectshow_common.props @@ -15,31 +15,31 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\adf93f0\include;%(AdditionalIncludeDirectories) strmbasd.lib;strmiids.lib;WinMM.Lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\adf93f0\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) strmbasd.lib;strmiids.lib;WinMM.Lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\adf93f0\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) strmbase.lib;strmiids.lib;WinMM.Lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\adf93f0\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) strmbase.lib;strmiids.lib;WinMM.Lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\directshow\adf93f0\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) diff --git a/build/visual_studio/win/vc143/ocean/media/openimagelibraries/mediaopenimagelibraries_common.props b/build/visual_studio/win/vc143/ocean/media/openimagelibraries/mediaopenimagelibraries_common.props index 4aebe3232..3e9d9412f 100644 --- a/build/visual_studio/win/vc143/ocean/media/openimagelibraries/mediaopenimagelibraries_common.props +++ b/build/visual_studio/win/vc143/ocean/media/openimagelibraries/mediaopenimagelibraries_common.props @@ -16,31 +16,31 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\jpeglib\h;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\h;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\h;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\impl\h;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\h\win;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\impl\h\win;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libjpeg-turbo\3.0.3\include;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\include;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\v4.6.0\include;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\5.2.2\include;%(AdditionalIncludeDirectories) - libjpeg.lib;libpng.lib;libtiff.lib;zlib.lib;giflib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\jpeglib\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + jpeg-static.lib;libpng16d.lib;tiff.lib;zlibd.lib;giflib.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libjpeg-turbo\3.0.3\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\v4.6.0\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\5.2.2\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) - libjpeg.lib;libpng.lib;libtiff.lib;zlib.lib;giflib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\jpeglib\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + jpeg-static.lib;libpng16d.lib;tiff.lib;zlibd.lib;giflib.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libjpeg-turbo\3.0.3\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\v4.6.0\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\5.2.2\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) - libjpeg.lib;libpng.lib;libtiff.lib;zlib.lib;giflib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\jpeglib\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + jpeg-static.lib;libpng16.lib;tiff.lib;zlib.lib;giflib.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libjpeg-turbo\3.0.3\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\v4.6.0\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\5.2.2\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) - libjpeg.lib;libpng.lib;libtiff.lib;zlib.lib;giflib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\jpeglib\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + jpeg-static.lib;libpng16.lib;tiff.lib;zlib.lib;giflib.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libjpeg-turbo\3.0.3\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libpng\ed217e3e601d8e462f7fd1e04bed43ac42212429\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\libtiff\v4.6.0\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\giflib\5.2.2\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) diff --git a/build/visual_studio/win/vc143/ocean/platform/gl/platformgl_common.props b/build/visual_studio/win/vc143/ocean/platform/gl/platformgl_common.props index 90d0ca43b..d545007b2 100644 --- a/build/visual_studio/win/vc143/ocean/platform/gl/platformgl_common.props +++ b/build/visual_studio/win/vc143/ocean/platform/gl/platformgl_common.props @@ -13,7 +13,7 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\gl\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\gl\local\include;%(AdditionalIncludeDirectories) diff --git a/build/visual_studio/win/vc143/ocean/platform/wxwidgets/platformwxwidgets_common.props b/build/visual_studio/win/vc143/ocean/platform/wxwidgets/platformwxwidgets_common.props index 577505a76..74630ea44 100644 --- a/build/visual_studio/win/vc143/ocean/platform/wxwidgets/platformwxwidgets_common.props +++ b/build/visual_studio/win/vc143/ocean/platform/wxwidgets/platformwxwidgets_common.props @@ -19,57 +19,76 @@ WXUSINGDLL;%(PreprocessorDefinitions) - - - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\include;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\include\msvc;%(AdditionalIncludeDirectories) - - + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_static_debug\vc_x64_lib\mswud;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31d.lib;wxmsw31d_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + wxbase33ud.lib;wxmsw33ud_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_static_debug\vc_x64_lib;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_shared_debug\vc_x64_dll\mswud;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31d.lib;wxmsw31d_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x64_vc143_shared_debug;%(AdditionalLibraryDirectories) + wxbase33ud.lib;wxmsw33ud_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_shared_debug\vc_x64_dll;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_static_debug\vc_lib\mswud;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31d.lib;wxmsw31d_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + wxbase33ud.lib;wxmsw33ud_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_static_debug\vc_lib;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_shared_debug\vc_dll\mswud;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31d.lib;wxmsw31d_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x86_vc143_shared_debug;%(AdditionalLibraryDirectories) + wxbase33ud.lib;wxmsw33ud_core.lib;wxpngd.lib;wxzlibd.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_shared_debug\vc_dll;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_static\vc_x64_lib\mswu;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31.lib;wxmsw31_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + wxbase33u.lib;wxmsw33u_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_static\vc_x64_lib;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_shared\vc_x64_dll\mswu;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31.lib;wxmsw31_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x64_vc143_shared;%(AdditionalLibraryDirectories) + wxbase33u.lib;wxmsw33u_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x64_vc143_shared\vc_x64_dll;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_static\vc_lib\mswu;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31.lib;wxmsw31_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + wxbase33u.lib;wxmsw33u_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_static\vc_lib;%(AdditionalLibraryDirectories) + + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_shared\vc_dll\mswu;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\include;%(AdditionalIncludeDirectories) + - wxbase31.lib;wxmsw31_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\3.1\lib\win_x86_vc143_shared;%(AdditionalLibraryDirectories) + wxbase33u.lib;wxmsw33u_core.lib;wxpng.lib;wxzlib.lib;Comctl32.lib;Rpcrt4.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\wxwidgets\v3.3.1\lib\win_x86_vc143_shared\vc_dll;%(AdditionalLibraryDirectories) diff --git a/build/visual_studio/win/vc143/ocean/rendering/glescenegraph/renderingglescenegraph_common.props b/build/visual_studio/win/vc143/ocean/rendering/glescenegraph/renderingglescenegraph_common.props index 16fa75a55..c3a0bbbb3 100644 --- a/build/visual_studio/win/vc143/ocean/rendering/glescenegraph/renderingglescenegraph_common.props +++ b/build/visual_studio/win/vc143/ocean/rendering/glescenegraph/renderingglescenegraph_common.props @@ -19,7 +19,7 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\gl\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\gl\local\include;%(AdditionalIncludeDirectories) diff --git a/build/visual_studio/win/vc143/ocean/scenedescription/sdl/assimp/scenedescriptionsdlassimp_common.props b/build/visual_studio/win/vc143/ocean/scenedescription/sdl/assimp/scenedescriptionsdlassimp_common.props index 06fee2525..9089a8880 100644 --- a/build/visual_studio/win/vc143/ocean/scenedescription/sdl/assimp/scenedescriptionsdlassimp_common.props +++ b/build/visual_studio/win/vc143/ocean/scenedescription/sdl/assimp/scenedescriptionsdlassimp_common.props @@ -17,31 +17,31 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\5.0.1\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\v5.4.2\include;%(AdditionalIncludeDirectories) - assimp.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\5.0.1\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) + assimpd.lib;zlibd.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\v5.4.2\lib\win_x64_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static_debug;%(AdditionalLibraryDirectories) - assimp.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\5.0.1\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) + assimpd.lib;zlibd.lib;%(AdditionalDependencies) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\v5.4.2\lib\win_x86_vc143_static_debug;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static_debug;%(AdditionalLibraryDirectories) assimp.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\5.0.1\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\v5.4.2\lib\win_x64_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) assimp.lib;zlib.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\5.0.1\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\assimp\v5.4.2\lib\win_x86_vc143_static;$(OCEAN_DEVELOPMENT_PATH)\3rdparty\zlib\51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) diff --git a/build/visual_studio/win/vc143/ocean/system/usb/systemusb_common.props b/build/visual_studio/win/vc143/ocean/system/usb/systemusb_common.props index 6eaea1f9f..2a06cbeac 100644 --- a/build/visual_studio/win/vc143/ocean/system/usb/systemusb_common.props +++ b/build/visual_studio/win/vc143/ocean/system/usb/systemusb_common.props @@ -17,21 +17,21 @@ - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libusb\h;%(AdditionalIncludeDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libusb\cec1e49eec481a6333c218726ecaba8e4f447a07\include;%(AdditionalIncludeDirectories) libusb-1.0.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libusb\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libusb\cec1e49eec481a6333c218726ecaba8e4f447a07\lib\win_x86_vc143_static;%(AdditionalLibraryDirectories) libusb-1.0.lib;%(AdditionalDependencies) - $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libusb\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) + $(OCEAN_DEVELOPMENT_PATH)\3rdparty\libusb\cec1e49eec481a6333c218726ecaba8e4f447a07\lib\win_x64_vc143_static;%(AdditionalLibraryDirectories) diff --git a/building_for_windows.md b/building_for_windows.md index f342fee92..96d6d9cdc 100644 --- a/building_for_windows.md +++ b/building_for_windows.md @@ -45,3 +45,67 @@ The provided build script [`build/cmake/build_ocean_windows.bat`](build/cmake/bu cd /D %OCEAN_DEVELOPMENT_PATH% .\build\cmake\build_ocean_windows.bat -config debug -link static -third-party X:\path\to\third-party\install\dir ``` + +## 4 Building Ocean with Visual Studio Projects + +As an alternative to building Ocean with CMake (Section 3), you can use the provided Visual Studio solution and project files located in `build\visual_studio\win\vc143`. This approach is useful for development and debugging as it provides better IDE integration. + +### Prerequisites + +Before opening the Visual Studio projects, you need to build and organize the third-party libraries in a specific directory structure that the Visual Studio projects expect. + +### Step 1: Build Third-Party Libraries with Subdivision + +Build the third-party libraries using the `-subdivide ON` option, which organizes libraries into separate subdirectories: + +```batch +cd /D %OCEAN_DEVELOPMENT_PATH% +.\build\cmake\build_thirdparty_windows.bat -build C:\build_3p -install C:\install_3p -link static -subdivide ON -config debug +.\build\cmake\build_thirdparty_windows.bat -build C:\build_3p -install C:\install_3p -link static -subdivide ON -config release +``` + +**Note:** The `-subdivide ON` flag is important as it creates separate directories for each library, which the reorganization script requires. + +### Step 2: Reorganize Third-Party Installation + +The Visual Studio projects expect a specific directory structure with version-organized paths. Use the reorganization script to transform the CMake installation into this structure: + +```batch +cd /D %OCEAN_DEVELOPMENT_PATH% +.\build\cmake\reorganize_thirdparty_install.bat -i C:\install_3p -o C:\ocean_3rdparty +``` + +This script will reorganize the libraries from the flat CMake structure (e.g., `windows_static_Debug\libname\*`) into a version-first structure (e.g., `libname\version\lib\win_x64_vc143_static_debug\*`). + +### Step 3: Create Symlink to Third-Party Libraries + +The Visual Studio projects reference third-party libraries via `$(OCEAN_DEVELOPMENT_PATH)\3rdparty`. Create a symbolic link to point to your reorganized third-party directory: + +```batch +cd /D %OCEAN_DEVELOPMENT_PATH% +mklink /D .\3rdparty C:\ocean_3rdparty +``` + +**Important:** This command requires **Administrator privileges**. Run Command Prompt or PowerShell as Administrator before executing this command. + +**Note:** This symlink only needs to be created once. If you rebuild third-party libraries, you don't need to recreate the symlink - just re-run the reorganization script to update the contents of `C:\ocean_3rdparty`. + +### Step 4: Open and Build in Visual Studio + +1. Start Visual Studio 2022 +2. Open the solution file: `build\visual_studio\win\vc143\ocean.sln` +3. Select your desired configuration (e.g., "Static Debug | x64") +4. Build the solution or individual projects as needed + +The Visual Studio projects will automatically find the third-party libraries via the `$(OCEAN_DEVELOPMENT_PATH)\3rdparty` path. + +### Current Limitations + +When using the Visual Studio projects with locally-built third-party libraries, be aware of these limitations: + +* **OpenSSL:** Not currently included in the CMake third-party builds, so `ocean/io/Signature.{h,cpp}` and related SSL functionality will not be available. +* **Google V8:** The JavaScript engine is not included, so `ocean/interaction/javascript` projects will fail to build. +* **Path Length Issues:** Windows has a default path limit of 260 characters (MAX_PATH). Depending on your directory structure, you might exceed this limit, resulting in build errors. **Workarounds:** + - Choose build directories near the filesystem root (e.g., `C:\build_3p` instead of `C:\Users\YourName\Documents\Projects\Ocean\build_3p`) + - Enable long path support in Windows 10/11 (see Microsoft documentation) + - Modify the Windows registry to increase the path limit (search for "Windows 10 enable long paths") diff --git a/impl/ocean/io/Signature.cpp b/impl/ocean/io/Signature.cpp index c06ebd3a8..b30543671 100644 --- a/impl/ocean/io/Signature.cpp +++ b/impl/ocean/io/Signature.cpp @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +#ifdef OCEAN_IO_SIGNATURE_ENABLED + #include "ocean/io/Signature.h" #include @@ -227,3 +229,5 @@ bool Signature::determineSignatureSubjectName(const std::wstring& filePath, std: } } + +#endif // OCEAN_IO_SIGNATURE_ENABLED diff --git a/impl/ocean/io/Signature.h b/impl/ocean/io/Signature.h index aae30e221..888f72eea 100644 --- a/impl/ocean/io/Signature.h +++ b/impl/ocean/io/Signature.h @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +#ifdef OCEAN_IO_SIGNATURE_ENABLED + #ifndef META_OCEAN_IO_SIGNATURE_H #define META_OCEAN_IO_SIGNATURE_H @@ -142,3 +144,5 @@ inline bool Signature::evaluateCodeSignature(const std::wstring& filePath, bool& } #endif // META_OCEAN_IO_SIGNATURE_H + +#endif // OCEAN_IO_SIGNATURE_ENABLED