From ac655be0e328dc2390a70a6593b03ab9fb867a22 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 29 Jul 2016 18:34:33 +0200 Subject: Add GMock library which is responsive for dealing with mock objects --- build_files/cmake/Modules/GTestTesting.cmake | 2 ++ 1 file changed, 2 insertions(+) (limited to 'build_files/cmake/Modules') diff --git a/build_files/cmake/Modules/GTestTesting.cmake b/build_files/cmake/Modules/GTestTesting.cmake index 3ccca1f199c..96c06ef8eb5 100644 --- a/build_files/cmake/Modules/GTestTesting.cmake +++ b/build_files/cmake/Modules/GTestTesting.cmake @@ -23,6 +23,7 @@ macro(BLENDER_SRC_GTEST_EX NAME SRC EXTRA_LIBS DO_ADD_TEST) ${CMAKE_SOURCE_DIR}/extern/glog/src ${CMAKE_SOURCE_DIR}/extern/gflags/src ${CMAKE_SOURCE_DIR}/extern/gtest/include + ${CMAKE_SOURCE_DIR}/extern/gmock/include ) unset(_current_include_directories) @@ -33,6 +34,7 @@ macro(BLENDER_SRC_GTEST_EX NAME SRC EXTRA_LIBS DO_ADD_TEST) bf_testing_main bf_intern_guardedalloc extern_gtest + extern_gmock # needed for glog ${PTHREADS_LIBRARIES} extern_glog -- cgit v1.2.3 From 61050f75b13ef706d3a80b86137436d3fb0bfa93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dietrich?= Date: Sat, 6 Aug 2016 06:20:37 +0200 Subject: Basic Alembic support All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060 --- build_files/cmake/Modules/FindAlembic.cmake | 70 +++++++++++++++++++++++++++++ build_files/cmake/Modules/FindHDF5.cmake | 69 ++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 build_files/cmake/Modules/FindAlembic.cmake create mode 100644 build_files/cmake/Modules/FindHDF5.cmake (limited to 'build_files/cmake/Modules') diff --git a/build_files/cmake/Modules/FindAlembic.cmake b/build_files/cmake/Modules/FindAlembic.cmake new file mode 100644 index 00000000000..1f61b5ef462 --- /dev/null +++ b/build_files/cmake/Modules/FindAlembic.cmake @@ -0,0 +1,70 @@ +# - Find Alembic library +# Find the native Alembic includes and libraries +# This module defines +# ALEMBIC_INCLUDE_DIRS, where to find Alembic headers, Set when +# ALEMBIC_INCLUDE_DIR is found. +# ALEMBIC_LIBRARIES, libraries to link against to use Alembic. +# ALEMBIC_ROOT_DIR, The base directory to search for Alembic. +# This can also be an environment variable. +# ALEMBIC_FOUND, If false, do not try to use Alembic. +# + +#============================================================================= +# Copyright 2016 Blender Foundation. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +# If ALEMBIC_ROOT_DIR was defined in the environment, use it. +IF(NOT ALEMBIC_ROOT_DIR AND NOT $ENV{ALEMBIC_ROOT_DIR} STREQUAL "") + SET(ALEMBIC_ROOT_DIR $ENV{ALEMBIC_ROOT_DIR}) +ENDIF() + +SET(_alembic_SEARCH_DIRS + ${ALEMBIC_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave + /opt/lib/alembic +) + +FIND_PATH(ALEMBIC_INCLUDE_DIR + NAMES + Alembic/Abc/All.h + HINTS + ${_alembic_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(ALEMBIC_LIBRARY + NAMES + Alembic + HINTS + ${_alembic_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib lib/static +) + +# handle the QUIETLY and REQUIRED arguments and set ALEMBIC_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALEMBIC DEFAULT_MSG ALEMBIC_LIBRARY ALEMBIC_INCLUDE_DIR) + +IF(ALEMBIC_FOUND) + SET(ALEMBIC_LIBRARIES ${ALEMBIC_LIBRARY}) + SET(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) +ENDIF(ALEMBIC_FOUND) + +MARK_AS_ADVANCED( + ALEMBIC_INCLUDE_DIR + ALEMBIC_LIBRARY +) + +UNSET(_alembic_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindHDF5.cmake b/build_files/cmake/Modules/FindHDF5.cmake new file mode 100644 index 00000000000..56ceda8fb5e --- /dev/null +++ b/build_files/cmake/Modules/FindHDF5.cmake @@ -0,0 +1,69 @@ +# - Find HDF5 library +# Find the native HDF5 includes and libraries +# This module defines +# HDF5_INCLUDE_DIRS, where to find hdf5.h, Set when HDF5_INCLUDE_DIR is found. +# HDF5_LIBRARIES, libraries to link against to use HDF5. +# HDF5_ROOT_DIR, The base directory to search for HDF5. +# This can also be an environment variable. +# HDF5_FOUND, If false, do not try to use HDF5. +# + +#============================================================================= +# Copyright 2016 Blender Foundation. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +# If HDF5_ROOT_DIR was defined in the environment, use it. +IF(NOT HDF5_ROOT_DIR AND NOT $ENV{HDF5_ROOT_DIR} STREQUAL "") + SET(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR}) +ENDIF() + +SET(_hdf5_SEARCH_DIRS + ${HDF5_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave + /opt/lib/hdf5 +) + +FIND_LIBRARY(HDF5_LIBRARY + NAMES + hdf5 + HINTS + ${_hdf5_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib +) + +FIND_PATH(HDF5_INCLUDE_DIR + NAMES + hdf5.h + HINTS + ${_hdf5_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +# handle the QUIETLY and REQUIRED arguments and set HDF5_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(HDF5 DEFAULT_MSG HDF5_LIBRARY HDF5_INCLUDE_DIR) + +IF(HDF5_FOUND) + SET(HDF5_LIBRARIES ${HDF5_LIBRARY}) + SET(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR}) +ENDIF(HDF5_FOUND) + +MARK_AS_ADVANCED( + HDF5_INCLUDE_DIR + HDF5_LIBRARY +) + +UNSET(_hdf5_SEARCH_DIRS) -- cgit v1.2.3