* Merging the previous ARM Neon branch Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Testing each SIMD variants using a small code snippet and first pass on unifying the way related cmake variables Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Removing the usage of USE_SSE in favor of the new OCIO_USE_SSE2 as they serve the same purpose Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Using try_compile instead of check_cxx_source_compiles as it was given false positive. Stubbing cpuinfo for Apple ARM plateform. Handling Apple M1 correctly and adding support for SSE2NEON. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Comments clean up and refactor some comments and documentations Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Added something in the documentation for Rosetta and small change in cmake Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Fixing the build under Rosetta and fixing issue in the MacOS CI. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Using try_compile for CheckSupportSSEUsingSSE2NEON to standardize the code and fixed CheckSupport compiler flags. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * use emmintrin.h for only sse2 features Signed-off-by: Mark Reid <mindmark@gmail.com> Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Allow F16C to be completely turned off Signed-off-by: Mark Reid <mindmark@gmail.com> Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Seperate SIMD test code from code that adds unit tests. This isolates the compulation units and avoids executing illegal hardware instructions Signed-off-by: Mark Reid <mindmark@gmail.com> Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * remove uneeded checks Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * use software implementations of f16c intrinsics for SSE2 Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Added preprocessor checks for ARM as it is needed for universal build on APPLE platform Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Adding missing checks for "not arm64" Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Ease the future maintainability a the new OCIO_USE_xyz be moving the logic into CPUInfoConfig.h.in as well as fixing issue on ARM when building with OCIO_USE_SSE2NEON=OFF. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Fixing some spacing, documentations and making some cmake conditions clearer. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Adding a build in ci_workflow for macos USE_OCIO_SSE2NEON=OFF Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * typo Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Changing back all the macOS (except one) builds to x86_64 only as it takes double the time to do the universal build. OCIO no longuer build a universal binary by default Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Update the CMakeLists.txt logic to accomodate all scenario and fixing documentations. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> * Update documentation and remove ocio_use_sse2neon from the CI matrix Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> --------- Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com> Signed-off-by: Mark Reid <mindmark@gmail.com> Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com> Co-authored-by: Mark Reid <mindmark@gmail.com> Co-authored-by: Doug Walker <doug.walker@autodesk.com>
Building OCIO on Windows using MS Visual Studio 2022
Manual steps for installing pre-requisites
- Install Microsoft Visual Studio
- Install Python
- Install CMake
- Install Doxygen (optional: only for python documentations)
Microsoft Visual Studio (Desktop development with C++)
Please use the official Microsoft Visual Studio installer.
Python
Please use the official Python installer
Make sure to check the option to add Python to PATH environment variable while running the installer
Cmake
Please use the official CMake installer.
See https://cmake.org/download/
Example: https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.msi
Make sure to check the option to add CMake to PATH environment variable while running the installer
Doxygen (optional: for editing the documentation)
Please use the official Doxygen installer.
See https://www.doxygen.nl/download.html
Example: https://www.doxygen.nl/files/doxygen-1.9.3-setup.exe
Running the script to install the remaining pre-requisites
Using ocio_deps.bat
ocio_deps.bat script can be used to verify and install the rest of OCIO dependencies.
The script can be used to install the following:
- Vcpkg
- OpenImageIO
- FreeGLUT
- Glew
- Python documentation dependencies (six, testresources, recommonmark, sphinx-press-theme, sphinx-tabs, and breathe)
Run ocio script and follow the steps.
ocio_deps.bat --vcpkg <path to vcpkg root>
See ocio_deps --help:
Mandatory option:
--vcpkg path to an existing vcpkg installation or path where you want to install vcpkg
Running the script to build and install OCIO
Using ocio.bat
Ocio.bat can be used to build and install OCIO.
# Options can be removed by modifying the value inside ocio.bat script.
# see the top of ocio.bat file
# Produce a release build using the default build and install paths.
ocio.bat --vcpkg <vcpkg directory> --type Release --ocio <path to OCIO source>
# Produce a debug build using the default build and install paths.
ocio.bat --vcpkg <vcpkg directory> --type Debug --ocio <path to OCIO source>
# Produce a release build using a custom build path (--b) and a custom install paths (--i).
ocio.bat --vcpkg <vcpkg directory> --type Release --b C:\ocio\__build --i C:\ocio\__install --ocio <path to OCIO source>
See ocio --help:
Mandatory options:
--vcpkg path to an existing vcpkg installation
--ocio path to OCIO source code
Optional options depending on the environment:
--python Python installation location
--msvs path where to find vcvars64.bat from Microsoft Visual Studio
Default: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build
--b build location
Default: C:\Users\cfuoco\AppData\Local\Temp\OCIO\build
--i installation location
Default: C:\Users\cfuoco\AppData\Local\Temp\OCIO\install
--type Release or Debug
Default: Release
--configure Run cmake configure or not
Default: false