diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f5b8240c88..7ab5655bff4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,20 +24,20 @@ # build the libs and objects in it. if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) - if(NOT DEFINED WITH_IN_SOURCE_BUILD) - message(FATAL_ERROR - "CMake generation for blender is not allowed within the source directory!" - "\n Remove \"${CMAKE_SOURCE_DIR}/CMakeCache.txt\" and try again from another folder, e.g.:" - "\n " - "\n rm CMakeCache.txt" - "\n cd .." - "\n mkdir cmake-make" - "\n cd cmake-make" - "\n cmake ../blender" - "\n " - "\n Alternately define WITH_IN_SOURCE_BUILD to force this option (not recommended!)" - ) - endif() + if(NOT DEFINED WITH_IN_SOURCE_BUILD) + message(FATAL_ERROR + "CMake generation for blender is not allowed within the source directory!" + "\n Remove \"${CMAKE_SOURCE_DIR}/CMakeCache.txt\" and try again from another folder, e.g.:" + "\n " + "\n rm CMakeCache.txt" + "\n cd .." + "\n mkdir cmake-make" + "\n cd cmake-make" + "\n cmake ../blender" + "\n " + "\n Alternately define WITH_IN_SOURCE_BUILD to force this option (not recommended!)" + ) + endif() endif() cmake_minimum_required(VERSION 3.5) @@ -46,13 +46,13 @@ cmake_minimum_required(VERSION 3.5) # platforms which don't hare GLVND yet. Only do it if preference was not set # externally. if(NOT DEFINED OpenGL_GL_PREFERENCE) - set(OpenGL_GL_PREFERENCE "LEGACY") + set(OpenGL_GL_PREFERENCE "LEGACY") endif() if(NOT EXECUTABLE_OUTPUT_PATH) - set(FIRST_RUN TRUE) + set(FIRST_RUN TRUE) else() - set(FIRST_RUN FALSE) + set(FIRST_RUN FALSE) endif() # this starts out unset @@ -61,12 +61,12 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/platform") # avoid having empty buildtype if(NOT DEFINED CMAKE_BUILD_TYPE_INIT) - set(CMAKE_BUILD_TYPE_INIT "Release") + set(CMAKE_BUILD_TYPE_INIT "Release") endif() # Omit superfluous "Up-to-date" messages. if(NOT DEFINED CMAKE_INSTALL_MESSAGE) - set(CMAKE_INSTALL_MESSAGE "LAZY") + set(CMAKE_INSTALL_MESSAGE "LAZY") endif() # quiet output for Makefiles, 'make -s' helps too @@ -74,10 +74,10 @@ endif() # global compile definitions since add_definitions() adds for all. set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS - $<$:DEBUG;_DEBUG> - $<$:NDEBUG> - $<$:NDEBUG> - $<$:NDEBUG> + $<$:DEBUG;_DEBUG> + $<$:NDEBUG> + $<$:NDEBUG> + $<$:NDEBUG> ) #----------------------------------------------------------------------------- @@ -118,9 +118,9 @@ enable_testing() set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "" FORCE) set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE) if(MSVC) - set(TESTS_OUTPUT_DIR ${EXECUTABLE_OUTPUT_PATH}/tests/$/ CACHE INTERNAL "" FORCE) + set(TESTS_OUTPUT_DIR ${EXECUTABLE_OUTPUT_PATH}/tests/$/ CACHE INTERNAL "" FORCE) else() - set(TESTS_OUTPUT_DIR ${EXECUTABLE_OUTPUT_PATH}/tests/ CACHE INTERNAL "" FORCE) + set(TESTS_OUTPUT_DIR ${EXECUTABLE_OUTPUT_PATH}/tests/ CACHE INTERNAL "" FORCE) endif() #----------------------------------------------------------------------------- @@ -137,55 +137,55 @@ set(_init_vars) # initialize to ON macro(option_defaults_init) - foreach(_var ${ARGV}) - set(${_var} ON) - list(APPEND _init_vars "${_var}") - endforeach() - unset(_var) + foreach(_var ${ARGV}) + set(${_var} ON) + list(APPEND _init_vars "${_var}") + endforeach() + unset(_var) endmacro() # remove from namespace macro(option_defaults_clear) - foreach(_var ${_init_vars}) - unset(${_var}) - endforeach() - unset(_var) - unset(_init_vars) + foreach(_var ${_init_vars}) + unset(${_var}) + endforeach() + unset(_var) + unset(_init_vars) endmacro() # values to initialize WITH_**** option_defaults_init( - _init_BUILDINFO - _init_CODEC_FFMPEG - _init_CYCLES_OSL - _init_IMAGE_OPENEXR - _init_INPUT_NDOF - _init_JACK - _init_OPENCOLLADA - _init_OPENCOLORIO - _init_SDL - _init_FFTW3 - _init_OPENSUBDIV + _init_BUILDINFO + _init_CODEC_FFMPEG + _init_CYCLES_OSL + _init_IMAGE_OPENEXR + _init_INPUT_NDOF + _init_JACK + _init_OPENCOLLADA + _init_OPENCOLORIO + _init_SDL + _init_FFTW3 + _init_OPENSUBDIV ) # customize... if(UNIX AND NOT APPLE) - # some of these libraries are problematic on Linux - # disable less important dependencies by default - set(_init_CODEC_FFMPEG OFF) - set(_init_CYCLES_OSL OFF) - set(_init_IMAGE_OPENEXR OFF) - set(_init_JACK OFF) - set(_init_OPENCOLLADA OFF) - set(_init_OPENCOLORIO OFF) - set(_init_SDL OFF) - set(_init_FFTW3 OFF) - set(_init_OPENSUBDIV OFF) + # some of these libraries are problematic on Linux + # disable less important dependencies by default + set(_init_CODEC_FFMPEG OFF) + set(_init_CYCLES_OSL OFF) + set(_init_IMAGE_OPENEXR OFF) + set(_init_JACK OFF) + set(_init_OPENCOLLADA OFF) + set(_init_OPENCOLORIO OFF) + set(_init_SDL OFF) + set(_init_FFTW3 OFF) + set(_init_OPENSUBDIV OFF) elseif(WIN32) - set(_init_JACK OFF) + set(_init_JACK OFF) elseif(APPLE) - set(_init_JACK OFF) + set(_init_JACK OFF) endif() @@ -194,7 +194,7 @@ endif() # First platform specific non-cached vars if(UNIX AND NOT (APPLE OR HAIKU)) - set(WITH_X11 ON) + set(WITH_X11 ON) endif() # Blender internal features @@ -212,13 +212,13 @@ option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid d mark_as_advanced(WITH_PYTHON_SAFETY) option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development), installs to PYTHON_SITE_PACKAGES (or CMAKE_INSTALL_PREFIX if WITH_INSTALL_PORTABLE is enabled)." OFF) if(APPLE) - option(WITH_PYTHON_FRAMEWORK "Enable building using the Python available in the framework (OSX only)" OFF) + option(WITH_PYTHON_FRAMEWORK "Enable building using the Python available in the framework (OSX only)" OFF) endif() option(WITH_BUILDINFO "Include extra build details (only disable for development & faster builds)" ${_init_BUILDINFO}) if(${CMAKE_VERSION} VERSION_LESS 2.8.8) - # add_library OBJECT arg unsupported - set(WITH_BUILDINFO OFF) + # add_library OBJECT arg unsupported + set(WITH_BUILDINFO OFF) endif() set(BUILDINFO_OVERRIDE_DATE "" CACHE STRING "Use instead of the current date for reproducible builds (empty string disables this option)") set(BUILDINFO_OVERRIDE_TIME "" CACHE STRING "Use instead of the current time for reproducible builds (empty string disables this option)") @@ -253,7 +253,7 @@ option(WITH_GHOST_SDL "Enable building Blender against SDL for windowing rath mark_as_advanced(WITH_GHOST_SDL) if(WITH_X11) - option(WITH_GHOST_XDND "Enable drag'n'drop support on X11 using XDND protocol" ON) + option(WITH_GHOST_XDND "Enable drag'n'drop support on X11 using XDND protocol" ON) endif() # Misc... @@ -266,34 +266,34 @@ mark_as_advanced(WITH_AUDASPACE) mark_as_advanced(WITH_SYSTEM_AUDASPACE) if(NOT WITH_AUDASPACE) - set(WITH_SYSTEM_AUDASPACE OFF) + set(WITH_SYSTEM_AUDASPACE OFF) endif() option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON) if(UNIX AND NOT APPLE) - option(WITH_OPENMP_STATIC "Link OpenMP statically (only used by the release environment)" OFF) - mark_as_advanced(WITH_OPENMP_STATIC) + option(WITH_OPENMP_STATIC "Link OpenMP statically (only used by the release environment)" OFF) + mark_as_advanced(WITH_OPENMP_STATIC) endif() if(WITH_X11) - option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON) - option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON) - option(WITH_X11_XFIXES "Enable X11 XWayland cursor warping workaround" ON) - option(WITH_X11_ALPHA "Enable X11 transparent background" ON) + option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON) + option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON) + option(WITH_X11_XFIXES "Enable X11 XWayland cursor warping workaround" ON) + option(WITH_X11_ALPHA "Enable X11 transparent background" ON) endif() if(UNIX AND NOT APPLE) - option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF) - option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON) + option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF) + option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON) else() - # not an option for other OS's - set(WITH_SYSTEM_GLEW OFF) - set(WITH_SYSTEM_GLES OFF) + # not an option for other OS's + set(WITH_SYSTEM_GLEW OFF) + set(WITH_SYSTEM_GLES OFF) endif() if(UNIX AND NOT APPLE) - option(WITH_SYSTEM_EIGEN3 "Use the systems Eigen3 library" OFF) + option(WITH_SYSTEM_EIGEN3 "Use the systems Eigen3 library" OFF) endif() @@ -332,17 +332,17 @@ option(WITH_SDL "Enable SDL for sound and joystick support" ${_init_SD option(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON) option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" ${_init_JACK}) if(UNIX AND NOT APPLE) - option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF) + option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF) endif() if(UNIX AND NOT APPLE) - option(WITH_SDL_DYNLOAD "Enable runtime dynamic SDL libraries loading" OFF) + option(WITH_SDL_DYNLOAD "Enable runtime dynamic SDL libraries loading" OFF) endif() # Compression option(WITH_LZO "Enable fast LZO compression (used for pointcache)" ON) option(WITH_LZMA "Enable best LZMA compression, (used for pointcache)" ON) if(UNIX AND NOT APPLE) - option(WITH_SYSTEM_LZO "Use the system LZO library" OFF) + option(WITH_SYSTEM_LZO "Use the system LZO library" OFF) endif() option(WITH_DRACO "Enable Draco mesh compression Python module (used for glTF)" ON) @@ -362,65 +362,65 @@ option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON) # Misc if(WIN32) - option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON) + option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON) endif() option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ${_init_INPUT_NDOF}) -option(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON) +option(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON) if(UNIX AND NOT APPLE) - option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON) - option(WITH_STATIC_LIBS "Try to link with static libraries, as much as possible, to make blender more portable across distributions" OFF) - if(WITH_STATIC_LIBS) - option(WITH_BOOST_ICU "Boost uses ICU library (required for linking with static Boost built with libicu)." OFF) - mark_as_advanced(WITH_BOOST_ICU) - endif() + option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON) + option(WITH_STATIC_LIBS "Try to link with static libraries, as much as possible, to make blender more portable across distributions" OFF) + if(WITH_STATIC_LIBS) + option(WITH_BOOST_ICU "Boost uses ICU library (required for linking with static Boost built with libicu)." OFF) + mark_as_advanced(WITH_BOOST_ICU) + endif() endif() option(WITH_PYTHON_INSTALL "Copy system python into the blender install folder" ON) if(WIN32 OR APPLE) - # Windows and macOS have this bundled with Python libraries. + # Windows and macOS have this bundled with Python libraries. elseif(WITH_PYTHON_INSTALL OR (WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)) - set(PYTHON_NUMPY_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'numpy' module") - mark_as_advanced(PYTHON_NUMPY_PATH) - set(PYTHON_NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_PATH}/numpy/core/include CACHE PATH "Path to the include directory of the numpy module") - mark_as_advanced(PYTHON_NUMPY_INCLUDE_DIRS) + set(PYTHON_NUMPY_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'numpy' module") + mark_as_advanced(PYTHON_NUMPY_PATH) + set(PYTHON_NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_PATH}/numpy/core/include CACHE PATH "Path to the include directory of the numpy module") + mark_as_advanced(PYTHON_NUMPY_INCLUDE_DIRS) endif() if(WITH_PYTHON_INSTALL) - option(WITH_PYTHON_INSTALL_NUMPY "Copy system numpy into the blender install folder" ON) + option(WITH_PYTHON_INSTALL_NUMPY "Copy system numpy into the blender install folder" ON) - if(UNIX AND NOT APPLE) - option(WITH_PYTHON_INSTALL_REQUESTS "Copy system requests into the blender install folder" ON) - set(PYTHON_REQUESTS_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'requests' module") - mark_as_advanced(PYTHON_REQUESTS_PATH) - endif() + if(UNIX AND NOT APPLE) + option(WITH_PYTHON_INSTALL_REQUESTS "Copy system requests into the blender install folder" ON) + set(PYTHON_REQUESTS_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'requests' module") + mark_as_advanced(PYTHON_REQUESTS_PATH) + endif() endif() option(WITH_CPU_SSE "Enable SIMD instruction if they're detected on the host machine" ON) mark_as_advanced(WITH_CPU_SSE) # Cycles -option(WITH_CYCLES "Enable Cycles Render Engine" ON) -option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF) -option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF) -option(WITH_CYCLES_OSL "Build Cycles with OSL support" ${_init_CYCLES_OSL}) -option(WITH_CYCLES_EMBREE "Build Cycles with Embree support" OFF) -option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF) -option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF) +option(WITH_CYCLES "Enable Cycles Render Engine" ON) +option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF) +option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF) +option(WITH_CYCLES_OSL "Build Cycles with OSL support" ${_init_CYCLES_OSL}) +option(WITH_CYCLES_EMBREE "Build Cycles with Embree support" OFF) +option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF) +option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF) option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF) mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL) set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 CACHE STRING "CUDA architectures to build binaries for") mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) unset(PLATFORM_DEFAULT) -option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON) -option(WITH_CYCLES_DEBUG "Build Cycles with extra debug capabilities" OFF) -option(WITH_CYCLES_NATIVE_ONLY "Build Cycles with native kernel only (which fits current CPU, use for development only)" OFF) +option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON) +option(WITH_CYCLES_DEBUG "Build Cycles with extra debug capabilities" OFF) +option(WITH_CYCLES_NATIVE_ONLY "Build Cycles with native kernel only (which fits current CPU, use for development only)" OFF) mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER) mark_as_advanced(WITH_CYCLES_LOGGING) mark_as_advanced(WITH_CYCLES_DEBUG) mark_as_advanced(WITH_CYCLES_NATIVE_ONLY) -option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles CUDA compute support" ON) -option(WITH_CYCLES_DEVICE_OPENCL "Enable Cycles OpenCL compute support" ON) -option(WITH_CYCLES_NETWORK "Enable Cycles compute over network support (EXPERIMENTAL and unfinished)" OFF) +option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles CUDA compute support" ON) +option(WITH_CYCLES_DEVICE_OPENCL "Enable Cycles OpenCL compute support" ON) +option(WITH_CYCLES_NETWORK "Enable Cycles compute over network support (EXPERIMENTAL and unfinished)" OFF) mark_as_advanced(WITH_CYCLES_DEVICE_CUDA) mark_as_advanced(WITH_CYCLES_DEVICE_OPENCL) mark_as_advanced(WITH_CYCLES_NETWORK) @@ -429,11 +429,11 @@ option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime" ON) mark_as_advanced(WITH_CUDA_DYNLOAD) # LLVM -option(WITH_LLVM "Use LLVM" OFF) +option(WITH_LLVM "Use LLVM" OFF) if(APPLE) - option(LLVM_STATIC "Link with LLVM static libraries" ON) # we prefer static llvm build on Apple, dyn build possible though + option(LLVM_STATIC "Link with LLVM static libraries" ON) # we prefer static llvm build on Apple, dyn build possible though else() - option(LLVM_STATIC "Link with LLVM static libraries" OFF) + option(LLVM_STATIC "Link with LLVM static libraries" OFF) endif() mark_as_advanced(LLVM_STATIC) @@ -452,7 +452,7 @@ mark_as_advanced(WITH_CXX_GUARDEDALLOC) option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" ON) mark_as_advanced(WITH_ASSERT_ABORT) -option(WITH_BOOST "Enable features depending on boost" ON) +option(WITH_BOOST "Enable features depending on boost" ON) # Unit testsing option(WITH_GTESTS "Enable GTest unit testing" OFF) @@ -462,7 +462,7 @@ option(WITH_OPENGL_DRAW_TESTS "Enable OpenGL UI drawing related unit testing (Ex # Documentation if(UNIX AND NOT APPLE) - option(WITH_DOC_MANPAGE "Create a manual page (Unix manpage)" OFF) + option(WITH_DOC_MANPAGE "Create a manual page (Unix manpage)" OFF) endif() @@ -474,39 +474,39 @@ option(WITH_GL_EGL "Use the EGL OpenGL system library instead of th option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (thru either EGL or the AGL/WGL/XGL 'es20' profile)" OFF) mark_as_advanced( - WITH_OPENGL - WITH_GLEW_ES - WITH_GL_EGL - WITH_GL_PROFILE_ES20 + WITH_OPENGL + WITH_GLEW_ES + WITH_GL_EGL + WITH_GL_PROFILE_ES20 ) if(WIN32) - option(WITH_GL_ANGLE "Link with the ANGLE library, an OpenGL ES 2.0 implementation based on Direct3D, instead of the system OpenGL library." OFF) - mark_as_advanced(WITH_GL_ANGLE) + option(WITH_GL_ANGLE "Link with the ANGLE library, an OpenGL ES 2.0 implementation based on Direct3D, instead of the system OpenGL library." OFF) + mark_as_advanced(WITH_GL_ANGLE) endif() if(WITH_GLEW_ES AND WITH_SYSTEM_GLEW) - message(WARNING Ignoring WITH_SYSTEM_GLEW and using WITH_GLEW_ES) - set(WITH_SYSTEM_GLEW OFF) + message(WARNING Ignoring WITH_SYSTEM_GLEW and using WITH_GLEW_ES) + set(WITH_SYSTEM_GLEW OFF) endif() if(WIN32) - getDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES) - set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${}) + getDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES) + set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${}) endif() # Compiler toolchain if(CMAKE_COMPILER_IS_GNUCC) - option(WITH_LINKER_GOLD "Use ld.gold linker which is usually faster than ld.bfd" ON) - mark_as_advanced(WITH_LINKER_GOLD) + option(WITH_LINKER_GOLD "Use ld.gold linker which is usually faster than ld.bfd" ON) + mark_as_advanced(WITH_LINKER_GOLD) endif() if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") - option(WITH_COMPILER_ASAN "Build and link against address sanitizer (only for Debug & RelWithDebInfo targets)." OFF) - mark_as_advanced(WITH_COMPILER_ASAN) + option(WITH_COMPILER_ASAN "Build and link against address sanitizer (only for Debug & RelWithDebInfo targets)." OFF) + mark_as_advanced(WITH_COMPILER_ASAN) - if(WITH_COMPILER_ASAN) - set(_asan_defaults "\ + if(WITH_COMPILER_ASAN) + set(_asan_defaults "\ -fsanitize=address \ -fsanitize=bool \ -fsanitize=bounds \ @@ -521,27 +521,27 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") -fno-sanitize=alignment \ ") - if(NOT MSVC) # not all sanitizers are supported with clang-cl, these two however are very vocal about it - set(_asan_defaults "${_asan_defaults} -fsanitize=leak -fsanitize=object-size" ) - endif() - set(COMPILER_ASAN_CFLAGS "${_asan_defaults}" CACHE STRING "C flags for address sanitizer") - mark_as_advanced(COMPILER_ASAN_CFLAGS) - set(COMPILER_ASAN_CXXFLAGS "${_asan_defaults}" CACHE STRING "C++ flags for address sanitizer") - mark_as_advanced(COMPILER_ASAN_CXXFLAGS) + if(NOT MSVC) # not all sanitizers are supported with clang-cl, these two however are very vocal about it + set(_asan_defaults "${_asan_defaults} -fsanitize=leak -fsanitize=object-size" ) + endif() + set(COMPILER_ASAN_CFLAGS "${_asan_defaults}" CACHE STRING "C flags for address sanitizer") + mark_as_advanced(COMPILER_ASAN_CFLAGS) + set(COMPILER_ASAN_CXXFLAGS "${_asan_defaults}" CACHE STRING "C++ flags for address sanitizer") + mark_as_advanced(COMPILER_ASAN_CXXFLAGS) - unset(_asan_defaults) + unset(_asan_defaults) - if(NOT MSVC) - find_library(COMPILER_ASAN_LIBRARY asan ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) - else() - find_library( COMPILER_ASAN_LIBRARY NAMES clang_rt.asan-x86_64 - PATHS - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/7.0.0/lib/windows - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/6.0.0/lib/windows - ) - endif() - mark_as_advanced(COMPILER_ASAN_LIBRARY) - endif() + if(NOT MSVC) + find_library(COMPILER_ASAN_LIBRARY asan ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) + else() + find_library( COMPILER_ASAN_LIBRARY NAMES clang_rt.asan-x86_64 + PATHS + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/7.0.0/lib/windows + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/6.0.0/lib/windows + ) + endif() + mark_as_advanced(COMPILER_ASAN_LIBRARY) + endif() endif() # Dependency graph @@ -549,24 +549,24 @@ option(WITH_LEGACY_DEPSGRAPH "Build Blender with legacy dependency graph" ON) mark_as_advanced(WITH_LEGACY_DEPSGRAPH) if(WIN32) - # Use hardcoded paths or find_package to find externals - option(WITH_WINDOWS_FIND_MODULES "Use find_package to locate libraries" OFF) - mark_as_advanced(WITH_WINDOWS_FIND_MODULES) + # Use hardcoded paths or find_package to find externals + option(WITH_WINDOWS_FIND_MODULES "Use find_package to locate libraries" OFF) + mark_as_advanced(WITH_WINDOWS_FIND_MODULES) - option(WITH_WINDOWS_CODESIGN "Use signtool to sign the final binary." OFF) - mark_as_advanced(WITH_WINDOWS_CODESIGN) + option(WITH_WINDOWS_CODESIGN "Use signtool to sign the final binary." OFF) + mark_as_advanced(WITH_WINDOWS_CODESIGN) - set(WINDOWS_CODESIGN_PFX CACHE FILEPATH "Path to pfx file to use for codesigning.") - mark_as_advanced(WINDOWS_CODESIGN_PFX) + set(WINDOWS_CODESIGN_PFX CACHE FILEPATH "Path to pfx file to use for codesigning.") + mark_as_advanced(WINDOWS_CODESIGN_PFX) - set(WINDOWS_CODESIGN_PFX_PASSWORD CACHE STRING "password for pfx file used for codesigning.") - mark_as_advanced(WINDOWS_CODESIGN_PFX_PASSWORD) + set(WINDOWS_CODESIGN_PFX_PASSWORD CACHE STRING "password for pfx file used for codesigning.") + mark_as_advanced(WINDOWS_CODESIGN_PFX_PASSWORD) - option(WINDOWS_USE_VISUAL_STUDIO_FOLDERS "Organize the visual studio project according to source folders." ON) - mark_as_advanced(WINDOWS_USE_VISUAL_STUDIO_FOLDERS) + option(WINDOWS_USE_VISUAL_STUDIO_FOLDERS "Organize the visual studio project according to source folders." ON) + mark_as_advanced(WINDOWS_USE_VISUAL_STUDIO_FOLDERS) - option(WINDOWS_PYTHON_DEBUG "Include the files needed for debugging python scripts with visual studio 2017+." OFF) - mark_as_advanced(WINDOWS_PYTHON_DEBUG) + option(WINDOWS_PYTHON_DEBUG "Include the files needed for debugging python scripts with visual studio 2017+." OFF) + mark_as_advanced(WINDOWS_PYTHON_DEBUG) endif() # avoid using again @@ -579,15 +579,15 @@ option_defaults_clear() # By default we want to install to the directory we are compiling our executables # unless specified otherwise, which we currently do not allow if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - if(WIN32) - set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE} CACHE PATH "default install path" FORCE) - elseif(APPLE) - set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE} CACHE PATH "default install path" FORCE) - else() - if(WITH_INSTALL_PORTABLE) - set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH} CACHE PATH "default install path" FORCE) - endif() - endif() + if(WIN32) + set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE} CACHE PATH "default install path" FORCE) + elseif(APPLE) + set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE} CACHE PATH "default install path" FORCE) + else() + if(WITH_INSTALL_PORTABLE) + set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH} CACHE PATH "default install path" FORCE) + endif() + endif() endif() @@ -595,7 +595,7 @@ endif() # Apple if(APPLE) - include(platform_apple_xcode) + include(platform_apple_xcode) endif() @@ -603,140 +603,140 @@ endif() # Check for conflicting/unsupported configurations if(NOT WITH_BLENDER AND NOT WITH_CYCLES_STANDALONE) - message(FATAL_ERROR - "At least one of WITH_BLENDER or WITH_CYCLES_STANDALONE " - "must be enabled, nothing to do!" - ) + message(FATAL_ERROR + "At least one of WITH_BLENDER or WITH_CYCLES_STANDALONE " + "must be enabled, nothing to do!" + ) endif() if(NOT WITH_AUDASPACE) - if(WITH_OPENAL) - message(WARNING "WITH_OPENAL requires WITH_AUDASPACE which is disabled") - set(WITH_OPENAL OFF) - endif() - if(WITH_JACK) - message(WARNING "WITH_JACK requires WITH_AUDASPACE which is disabled") - set(WITH_JACK OFF) - endif() + if(WITH_OPENAL) + message(WARNING "WITH_OPENAL requires WITH_AUDASPACE which is disabled") + set(WITH_OPENAL OFF) + endif() + if(WITH_JACK) + message(WARNING "WITH_JACK requires WITH_AUDASPACE which is disabled") + set(WITH_JACK OFF) + endif() endif() if(NOT WITH_SDL AND WITH_GHOST_SDL) - message(FATAL_ERROR "WITH_GHOST_SDL requires WITH_SDL") + message(FATAL_ERROR "WITH_GHOST_SDL requires WITH_SDL") endif() # python module, needs some different options if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL) - message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF") + message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF") endif() # may as well build python module without a UI if(WITH_PYTHON_MODULE) - set(WITH_HEADLESS ON) + set(WITH_HEADLESS ON) endif() if(NOT WITH_PYTHON) - set(WITH_CYCLES OFF) - set(WITH_DRACO OFF) + set(WITH_CYCLES OFF) + set(WITH_DRACO OFF) endif() if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL) - message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now") - set(WITH_DRACO OFF) + message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now") + set(WITH_DRACO OFF) endif() # enable boost for cycles, audaspace or i18n # otherwise if the user disabled if(NOT WITH_BOOST) - # Explicitly disabled. so disable all deps. - macro(set_and_warn - _setting _val) - if(${${_setting}}) - message(STATUS "'WITH_BOOST' is disabled: forcing 'set(${_setting} ${_val})'") - endif() - set(${_setting} ${_val}) - endmacro() + # Explicitly disabled. so disable all deps. + macro(set_and_warn + _setting _val) + if(${${_setting}}) + message(STATUS "'WITH_BOOST' is disabled: forcing 'set(${_setting} ${_val})'") + endif() + set(${_setting} ${_val}) + endmacro() - set_and_warn(WITH_CYCLES OFF) - set_and_warn(WITH_INTERNATIONAL OFF) - set_and_warn(WITH_OPENVDB OFF) - set_and_warn(WITH_OPENCOLORIO OFF) + set_and_warn(WITH_CYCLES OFF) + set_and_warn(WITH_INTERNATIONAL OFF) + set_and_warn(WITH_OPENVDB OFF) + set_and_warn(WITH_OPENCOLORIO OFF) elseif(WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR WITH_OPENVDB OR WITH_OPENCOLORIO) - # Keep enabled + # Keep enabled else() - # Disable boost if not needed. - set(WITH_BOOST OFF) + # Disable boost if not needed. + set(WITH_BOOST OFF) endif() # auto enable openimageio for cycles if(WITH_CYCLES) - set(WITH_OPENIMAGEIO ON) + set(WITH_OPENIMAGEIO ON) - # auto enable llvm for cycles_osl - if(WITH_CYCLES_OSL) - set(WITH_LLVM ON CACHE BOOL "" FORCE) - endif() + # auto enable llvm for cycles_osl + if(WITH_CYCLES_OSL) + set(WITH_LLVM ON CACHE BOOL "" FORCE) + endif() else() - set(WITH_CYCLES_OSL OFF) + set(WITH_CYCLES_OSL OFF) endif() # auto enable openimageio linking dependencies if(WITH_OPENIMAGEIO) - set(WITH_IMAGE_OPENEXR ON) - set(WITH_IMAGE_TIFF ON) + set(WITH_IMAGE_OPENEXR ON) + set(WITH_IMAGE_TIFF ON) endif() # auto enable alembic linking dependencies if(WITH_ALEMBIC) - set(WITH_IMAGE_OPENEXR ON) + set(WITH_IMAGE_OPENEXR ON) endif() # don't store paths to libs for portable distribution if(WITH_INSTALL_PORTABLE) - set(CMAKE_SKIP_BUILD_RPATH TRUE) + set(CMAKE_SKIP_BUILD_RPATH TRUE) endif() if(WITH_GHOST_SDL OR WITH_HEADLESS) - set(WITH_X11 OFF) - set(WITH_X11_XINPUT OFF) - set(WITH_X11_XF86VMODE OFF) - set(WITH_X11_XFIXES OFF) - set(WITH_X11_ALPHA OFF) - set(WITH_GHOST_XDND OFF) - set(WITH_INPUT_IME OFF) + set(WITH_X11 OFF) + set(WITH_X11_XINPUT OFF) + set(WITH_X11_XF86VMODE OFF) + set(WITH_X11_XFIXES OFF) + set(WITH_X11_ALPHA OFF) + set(WITH_GHOST_XDND OFF) + set(WITH_INPUT_IME OFF) endif() if(WITH_CPU_SSE) - TEST_SSE_SUPPORT(COMPILER_SSE_FLAG COMPILER_SSE2_FLAG) + TEST_SSE_SUPPORT(COMPILER_SSE_FLAG COMPILER_SSE2_FLAG) else() - message(STATUS "SSE and SSE2 optimizations are DISABLED!") - set(COMPILER_SSE_FLAG) - set(COMPILER_SSE2_FLAG) + message(STATUS "SSE and SSE2 optimizations are DISABLED!") + set(COMPILER_SSE_FLAG) + set(COMPILER_SSE2_FLAG) endif() if(WITH_BUILDINFO) - find_package(Git) - if(NOT GIT_FOUND) - message(WARNING "Git was not found, disabling WITH_BUILDINFO") - set(WITH_BUILDINFO OFF) - endif() + find_package(Git) + if(NOT GIT_FOUND) + message(WARNING "Git was not found, disabling WITH_BUILDINFO") + set(WITH_BUILDINFO OFF) + endif() endif() if(WITH_AUDASPACE) - if(NOT WITH_SYSTEM_AUDASPACE) - set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/audaspace/bindings/C" "${CMAKE_BINARY_DIR}/extern/audaspace") - set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/audaspace/bindings") - endif() + if(NOT WITH_SYSTEM_AUDASPACE) + set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/audaspace/bindings/C" "${CMAKE_BINARY_DIR}/extern/audaspace") + set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/audaspace/bindings") + endif() endif() # Auto-enable CUDA dynload if toolkit is not found. if(NOT WITH_CUDA_DYNLOAD) - find_package(CUDA) - if (NOT CUDA_FOUND) - message("CUDA toolkit not found, using dynamic runtime loading of libraries instead") - set(WITH_CUDA_DYNLOAD ON) - endif() + find_package(CUDA) + if (NOT CUDA_FOUND) + message("CUDA toolkit not found, using dynamic runtime loading of libraries instead") + set(WITH_CUDA_DYNLOAD ON) + endif() endif() #----------------------------------------------------------------------------- @@ -747,35 +747,35 @@ endif() # since uninitialized git submodules will give blank dirs if(WITH_INTERNATIONAL) - if(NOT EXISTS "${CMAKE_SOURCE_DIR}/release/datafiles/locale/languages") - message(WARNING - "Translation path '${CMAKE_SOURCE_DIR}/release/datafiles/locale' is missing, " - "This is a 'git submodule', which are known not to work with bridges to other version " - "control systems, disabling 'WITH_INTERNATIONAL'." - ) - set(WITH_INTERNATIONAL OFF) - endif() + if(NOT EXISTS "${CMAKE_SOURCE_DIR}/release/datafiles/locale/languages") + message(WARNING + "Translation path '${CMAKE_SOURCE_DIR}/release/datafiles/locale' is missing, " + "This is a 'git submodule', which are known not to work with bridges to other version " + "control systems, disabling 'WITH_INTERNATIONAL'." + ) + set(WITH_INTERNATIONAL OFF) + endif() endif() if(WITH_PYTHON) - # While we have this as an '#error' in 'bpy_capi_utils.h', - # upgrading Python tends to cause confusion for users who build. - # Give the error message early to make this more obvious. - # - # Do this before main 'platform_*' checks, - # because UNIX will search for the old Python paths which may not exist. - # giving errors about missing paths before this case is met. - if(DEFINED PYTHON_VERSION AND "${PYTHON_VERSION}" VERSION_LESS "3.7") - message(FATAL_ERROR "At least Python 3.7 is required to build") - endif() + # While we have this as an '#error' in 'bpy_capi_utils.h', + # upgrading Python tends to cause confusion for users who build. + # Give the error message early to make this more obvious. + # + # Do this before main 'platform_*' checks, + # because UNIX will search for the old Python paths which may not exist. + # giving errors about missing paths before this case is met. + if(DEFINED PYTHON_VERSION AND "${PYTHON_VERSION}" VERSION_LESS "3.7") + message(FATAL_ERROR "At least Python 3.7 is required to build") + endif() - if(NOT EXISTS "${CMAKE_SOURCE_DIR}/release/scripts/addons/modules") - message(WARNING - "Addons path '${CMAKE_SOURCE_DIR}/release/scripts/addons' is missing, " - "This is a 'git submodule', which are known not to work with bridges to other version " - "control systems: * CONTINUING WITHOUT ADDONS *" - ) - endif() + if(NOT EXISTS "${CMAKE_SOURCE_DIR}/release/scripts/addons/modules") + message(WARNING + "Addons path '${CMAKE_SOURCE_DIR}/release/scripts/addons' is missing, " + "This is a 'git submodule', which are known not to work with bridges to other version " + "control systems: * CONTINUING WITHOUT ADDONS *" + ) + endif() endif() #----------------------------------------------------------------------------- @@ -809,68 +809,68 @@ set(PLATFORM_LINKFLAGS "") set(PLATFORM_LINKFLAGS_DEBUG "") if (NOT CMAKE_BUILD_TYPE MATCHES "Release") - if(WITH_COMPILER_ASAN) - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}") + if(WITH_COMPILER_ASAN) + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}") - if(MSVC) - set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6") - endif() - set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}") - set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") - set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") - endif() + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}") + if(MSVC) + set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6") + endif() + set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}") + set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") + set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") + endif() endif() #----------------------------------------------------------------------------- #Platform specifics if(WITH_X11) - find_package(X11 REQUIRED) + find_package(X11 REQUIRED) - find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH}) - mark_as_advanced(X11_XF86keysym_INCLUDE_PATH) + find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH}) + mark_as_advanced(X11_XF86keysym_INCLUDE_PATH) - list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB}) + list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB}) - if(WITH_X11_XINPUT) - if(X11_Xinput_LIB) - list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB}) - else() - set(WITH_X11_XINPUT OFF) - endif() - endif() + if(WITH_X11_XINPUT) + if(X11_Xinput_LIB) + list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB}) + else() + set(WITH_X11_XINPUT OFF) + endif() + endif() - if(WITH_X11_XF86VMODE) - # XXX, why doesn't cmake make this available? - find_library(X11_Xxf86vmode_LIB Xxf86vm ${X11_LIB_SEARCH_PATH}) - mark_as_advanced(X11_Xxf86vmode_LIB) - if(X11_Xxf86vmode_LIB) - list(APPEND PLATFORM_LINKLIBS ${X11_Xxf86vmode_LIB}) - else() - set(WITH_X11_XF86VMODE OFF) - endif() - endif() + if(WITH_X11_XF86VMODE) + # XXX, why doesn't cmake make this available? + find_library(X11_Xxf86vmode_LIB Xxf86vm ${X11_LIB_SEARCH_PATH}) + mark_as_advanced(X11_Xxf86vmode_LIB) + if(X11_Xxf86vmode_LIB) + list(APPEND PLATFORM_LINKLIBS ${X11_Xxf86vmode_LIB}) + else() + set(WITH_X11_XF86VMODE OFF) + endif() + endif() - if(WITH_X11_XFIXES) - if(X11_Xfixes_LIB) - list(APPEND PLATFORM_LINKLIBS ${X11_Xfixes_LIB}) - else() - set(WITH_X11_XFIXES OFF) - endif() - endif() + if(WITH_X11_XFIXES) + if(X11_Xfixes_LIB) + list(APPEND PLATFORM_LINKLIBS ${X11_Xfixes_LIB}) + else() + set(WITH_X11_XFIXES OFF) + endif() + endif() - if(WITH_X11_ALPHA) - find_library(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH}) - mark_as_advanced(X11_Xrender_LIB) - if(X11_Xrender_LIB) - list(APPEND PLATFORM_LINKLIBS ${X11_Xrender_LIB}) - else() - set(WITH_X11_ALPHA OFF) - endif() - endif() + if(WITH_X11_ALPHA) + find_library(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH}) + mark_as_advanced(X11_Xrender_LIB) + if(X11_Xrender_LIB) + list(APPEND PLATFORM_LINKLIBS ${X11_Xrender_LIB}) + else() + set(WITH_X11_ALPHA OFF) + endif() + endif() endif() @@ -883,51 +883,51 @@ endif() # - APPLE if(UNIX AND NOT APPLE) - include(platform_unix) + include(platform_unix) elseif(WIN32) - include(platform_win32) + include(platform_win32) elseif(APPLE) - include(platform_apple) + include(platform_apple) endif() #----------------------------------------------------------------------------- # Common. if(NOT WITH_FFTW3 AND WITH_MOD_OCEANSIM) - message(FATAL_ERROR "WITH_MOD_OCEANSIM requires WITH_FFTW3 to be ON") + message(FATAL_ERROR "WITH_MOD_OCEANSIM requires WITH_FFTW3 to be ON") endif() if(WITH_CYCLES) - if(NOT WITH_OPENIMAGEIO) - message(FATAL_ERROR - "Cycles requires WITH_OPENIMAGEIO, the library may not have been found. " - "Configure OIIO or disable WITH_CYCLES" - ) - endif() - if(NOT WITH_BOOST) - message(FATAL_ERROR - "Cycles requires WITH_BOOST, the library may not have been found. " - "Configure BOOST or disable WITH_CYCLES" - ) - endif() + if(NOT WITH_OPENIMAGEIO) + message(FATAL_ERROR + "Cycles requires WITH_OPENIMAGEIO, the library may not have been found. " + "Configure OIIO or disable WITH_CYCLES" + ) + endif() + if(NOT WITH_BOOST) + message(FATAL_ERROR + "Cycles requires WITH_BOOST, the library may not have been found. " + "Configure BOOST or disable WITH_CYCLES" + ) + endif() - if(WITH_CYCLES_OSL) - if(NOT WITH_LLVM) - message(FATAL_ERROR - "Cycles OSL requires WITH_LLVM, the library may not have been found. " - "Configure LLVM or disable WITH_CYCLES_OSL" - ) - endif() - endif() + if(WITH_CYCLES_OSL) + if(NOT WITH_LLVM) + message(FATAL_ERROR + "Cycles OSL requires WITH_LLVM, the library may not have been found. " + "Configure LLVM or disable WITH_CYCLES_OSL" + ) + endif() + endif() endif() if(WITH_INTERNATIONAL) - if(NOT WITH_BOOST) - message(FATAL_ERROR - "Internationalization requires WITH_BOOST, the library may not have been found. " - "Configure BOOST or disable WITH_INTERNATIONAL" - ) - endif() + if(NOT WITH_BOOST) + message(FATAL_ERROR + "Internationalization requires WITH_BOOST, the library may not have been found. " + "Configure BOOST or disable WITH_INTERNATIONAL" + ) + endif() endif() # See TEST_SSE_SUPPORT() for how this is defined. @@ -935,53 +935,53 @@ endif() # Do it globally, SSE2 is required for quite some time now. # Doing it now allows to use SSE/SSE2 in inline headers. if(SUPPORT_SSE_BUILD) - set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}") - add_definitions(-D__SSE__ -D__MMX__) + set(PLATFORM_CFLAGS " ${COMPILER_SSE_FLAG} ${PLATFORM_CFLAGS}") + add_definitions(-D__SSE__ -D__MMX__) endif() if(SUPPORT_SSE2_BUILD) - set(PLATFORM_CFLAGS " ${PLATFORM_CFLAGS} ${COMPILER_SSE2_FLAG}") - add_definitions(-D__SSE2__) - if(NOT SUPPORT_SSE_BUILD) # don't double up - add_definitions(-D__MMX__) - endif() + set(PLATFORM_CFLAGS " ${PLATFORM_CFLAGS} ${COMPILER_SSE2_FLAG}") + add_definitions(-D__SSE2__) + if(NOT SUPPORT_SSE_BUILD) # don't double up + add_definitions(-D__MMX__) + endif() endif() # set the endian define if(MSVC) - # for some reason this fails on msvc - add_definitions(-D__LITTLE_ENDIAN__) + # for some reason this fails on msvc + add_definitions(-D__LITTLE_ENDIAN__) # OSX-Note: as we do cross-compiling with specific set architecture, # endianess-detection and auto-setting is counterproductive # so we just set endianness according CMAKE_OSX_ARCHITECTURES elseif(CMAKE_OSX_ARCHITECTURES MATCHES i386 OR CMAKE_OSX_ARCHITECTURES MATCHES x86_64) - add_definitions(-D__LITTLE_ENDIAN__) + add_definitions(-D__LITTLE_ENDIAN__) elseif(CMAKE_OSX_ARCHITECTURES MATCHES ppc OR CMAKE_OSX_ARCHITECTURES MATCHES ppc64) - add_definitions(-D__BIG_ENDIAN__) + add_definitions(-D__BIG_ENDIAN__) else() - include(TestBigEndian) - test_big_endian(_SYSTEM_BIG_ENDIAN) - if(_SYSTEM_BIG_ENDIAN) - add_definitions(-D__BIG_ENDIAN__) - else() - add_definitions(-D__LITTLE_ENDIAN__) - endif() - unset(_SYSTEM_BIG_ENDIAN) + include(TestBigEndian) + test_big_endian(_SYSTEM_BIG_ENDIAN) + if(_SYSTEM_BIG_ENDIAN) + add_definitions(-D__BIG_ENDIAN__) + else() + add_definitions(-D__LITTLE_ENDIAN__) + endif() + unset(_SYSTEM_BIG_ENDIAN) endif() if(WITH_IMAGE_OPENJPEG) - # Special handling of Windows platform where openjpeg is always static. - if(WIN32) - set(OPENJPEG_DEFINES "-DOPJ_STATIC") - else() - set(OPENJPEG_DEFINES "") - endif() + # Special handling of Windows platform where openjpeg is always static. + if(WIN32) + set(OPENJPEG_DEFINES "-DOPJ_STATIC") + else() + set(OPENJPEG_DEFINES "") + endif() endif() if(NOT WITH_SYSTEM_EIGEN3) - set(EIGEN3_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/Eigen3) + set(EIGEN3_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/Eigen3) endif() #----------------------------------------------------------------------------- @@ -991,224 +991,224 @@ find_package(OpenGL) blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}") if(WITH_OPENGL) - add_definitions(-DWITH_OPENGL) + add_definitions(-DWITH_OPENGL) endif() if(WITH_SYSTEM_GLES) - find_package_wrapper(OpenGLES) + find_package_wrapper(OpenGLES) endif() if(WITH_GL_PROFILE_ES20) - if(WITH_SYSTEM_GLES) - if(NOT OPENGLES_LIBRARY) - message(FATAL_ERROR - "Unable to find OpenGL ES libraries. " - "Install them or disable WITH_SYSTEM_GLES." - ) - endif() + if(WITH_SYSTEM_GLES) + if(NOT OPENGLES_LIBRARY) + message(FATAL_ERROR + "Unable to find OpenGL ES libraries. " + "Install them or disable WITH_SYSTEM_GLES." + ) + endif() - list(APPEND BLENDER_GL_LIBRARIES OPENGLES_LIBRARY) + list(APPEND BLENDER_GL_LIBRARIES OPENGLES_LIBRARY) - else() - set(OPENGLES_LIBRARY "" CACHE FILEPATH "OpenGL ES 2.0 library file") - mark_as_advanced(OPENGLES_LIBRARY) + else() + set(OPENGLES_LIBRARY "" CACHE FILEPATH "OpenGL ES 2.0 library file") + mark_as_advanced(OPENGLES_LIBRARY) - list(APPEND BLENDER_GL_LIBRARIES "${OPENGLES_LIBRARY}") + list(APPEND BLENDER_GL_LIBRARIES "${OPENGLES_LIBRARY}") - if(NOT OPENGLES_LIBRARY) - message(FATAL_ERROR - "To compile WITH_GL_EGL you need to set OPENGLES_LIBRARY " - "to the file path of an OpenGL ES 2.0 library." - ) - endif() + if(NOT OPENGLES_LIBRARY) + message(FATAL_ERROR + "To compile WITH_GL_EGL you need to set OPENGLES_LIBRARY " + "to the file path of an OpenGL ES 2.0 library." + ) + endif() - endif() + endif() - if(WIN32) - # Setup paths to files needed to install and redistribute Windows Blender with OpenGL ES + if(WIN32) + # Setup paths to files needed to install and redistribute Windows Blender with OpenGL ES - set(OPENGLES_DLL "" CACHE FILEPATH "OpenGL ES 2.0 redistributable DLL file") - mark_as_advanced(OPENGLES_DLL) + set(OPENGLES_DLL "" CACHE FILEPATH "OpenGL ES 2.0 redistributable DLL file") + mark_as_advanced(OPENGLES_DLL) - if(NOT OPENGLES_DLL) - message(FATAL_ERROR - "To compile WITH_GL_PROFILE_ES20 you need to set OPENGLES_DLL to the file " - "path of an OpenGL ES 2.0 runtime dynamic link library (DLL)." - ) - endif() + if(NOT OPENGLES_DLL) + message(FATAL_ERROR + "To compile WITH_GL_PROFILE_ES20 you need to set OPENGLES_DLL to the file " + "path of an OpenGL ES 2.0 runtime dynamic link library (DLL)." + ) + endif() - if(WITH_GL_ANGLE) - list(APPEND GL_DEFINITIONS -DWITH_ANGLE) + if(WITH_GL_ANGLE) + list(APPEND GL_DEFINITIONS -DWITH_ANGLE) - set(D3DCOMPILER_DLL "" CACHE FILEPATH "Direct3D Compiler redistributable DLL file (needed by ANGLE)") + set(D3DCOMPILER_DLL "" CACHE FILEPATH "Direct3D Compiler redistributable DLL file (needed by ANGLE)") - get_filename_component(D3DCOMPILER_FILENAME "${D3DCOMPILER_DLL}" NAME) - list(APPEND GL_DEFINITIONS "-DD3DCOMPILER=\"\\\"${D3DCOMPILER_FILENAME}\\\"\"") + get_filename_component(D3DCOMPILER_FILENAME "${D3DCOMPILER_DLL}" NAME) + list(APPEND GL_DEFINITIONS "-DD3DCOMPILER=\"\\\"${D3DCOMPILER_FILENAME}\\\"\"") - mark_as_advanced(D3DCOMPILER_DLL) + mark_as_advanced(D3DCOMPILER_DLL) - if(D3DCOMPILER_DLL STREQUAL "") - message(FATAL_ERROR - "To compile WITH_GL_ANGLE you need to set D3DCOMPILER_DLL to the file " - "path of a copy of the DirectX redistributable DLL file: D3DCompiler_46.dll" - ) - endif() + if(D3DCOMPILER_DLL STREQUAL "") + message(FATAL_ERROR + "To compile WITH_GL_ANGLE you need to set D3DCOMPILER_DLL to the file " + "path of a copy of the DirectX redistributable DLL file: D3DCompiler_46.dll" + ) + endif() - endif() + endif() - endif() + endif() else() - if(OpenGL_GL_PREFERENCE STREQUAL "LEGACY" AND OPENGL_gl_LIBRARY) - list(APPEND BLENDER_GL_LIBRARIES ${OPENGL_gl_LIBRARY}) - else() - list(APPEND BLENDER_GL_LIBRARIES ${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY}) - endif() + if(OpenGL_GL_PREFERENCE STREQUAL "LEGACY" AND OPENGL_gl_LIBRARY) + list(APPEND BLENDER_GL_LIBRARIES ${OPENGL_gl_LIBRARY}) + else() + list(APPEND BLENDER_GL_LIBRARIES ${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY}) + endif() endif() if(WITH_GL_EGL) - list(APPEND GL_DEFINITIONS -DWITH_GL_EGL) + list(APPEND GL_DEFINITIONS -DWITH_GL_EGL) - if(WITH_SYSTEM_GLES) - if(NOT OPENGLES_EGL_LIBRARY) - message(FATAL_ERROR - "Unable to find OpenGL ES libraries. " - "Install them or disable WITH_SYSTEM_GLES." - ) - endif() + if(WITH_SYSTEM_GLES) + if(NOT OPENGLES_EGL_LIBRARY) + message(FATAL_ERROR + "Unable to find OpenGL ES libraries. " + "Install them or disable WITH_SYSTEM_GLES." + ) + endif() - list(APPEND BLENDER_GL_LIBRARIES OPENGLES_EGL_LIBRARY) + list(APPEND BLENDER_GL_LIBRARIES OPENGLES_EGL_LIBRARY) - else() - set(OPENGLES_EGL_LIBRARY "" CACHE FILEPATH "EGL library file") - mark_as_advanced(OPENGLES_EGL_LIBRARY) + else() + set(OPENGLES_EGL_LIBRARY "" CACHE FILEPATH "EGL library file") + mark_as_advanced(OPENGLES_EGL_LIBRARY) - list(APPEND BLENDER_GL_LIBRARIES "${OPENGLES_LIBRARY}" "${OPENGLES_EGL_LIBRARY}") + list(APPEND BLENDER_GL_LIBRARIES "${OPENGLES_LIBRARY}" "${OPENGLES_EGL_LIBRARY}") - if(NOT OPENGLES_EGL_LIBRARY) - message(FATAL_ERROR - "To compile WITH_GL_EGL you need to set OPENGLES_EGL_LIBRARY " - "to the file path of an EGL library." - ) - endif() + if(NOT OPENGLES_EGL_LIBRARY) + message(FATAL_ERROR + "To compile WITH_GL_EGL you need to set OPENGLES_EGL_LIBRARY " + "to the file path of an EGL library." + ) + endif() - endif() + endif() - if(WIN32) - # Setup paths to files needed to install and redistribute Windows Blender with OpenGL ES + if(WIN32) + # Setup paths to files needed to install and redistribute Windows Blender with OpenGL ES - set(OPENGLES_EGL_DLL "" CACHE FILEPATH "EGL redistributable DLL file") - mark_as_advanced(OPENGLES_EGL_DLL) + set(OPENGLES_EGL_DLL "" CACHE FILEPATH "EGL redistributable DLL file") + mark_as_advanced(OPENGLES_EGL_DLL) - if(NOT OPENGLES_EGL_DLL) - message(FATAL_ERROR - "To compile WITH_GL_EGL you need to set OPENGLES_EGL_DLL " - "to the file path of an EGL runtime dynamic link library (DLL)." - ) - endif() + if(NOT OPENGLES_EGL_DLL) + message(FATAL_ERROR + "To compile WITH_GL_EGL you need to set OPENGLES_EGL_DLL " + "to the file path of an EGL runtime dynamic link library (DLL)." + ) + endif() - endif() + endif() endif() if(WITH_GL_PROFILE_ES20) - list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_ES20) + list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_ES20) else() - list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_CORE) + list(APPEND GL_DEFINITIONS -DWITH_GL_PROFILE_CORE) endif() if(WITH_GL_EGL) - list(APPEND GL_DEFINITIONS -DWITH_EGL) + list(APPEND GL_DEFINITIONS -DWITH_EGL) endif() #----------------------------------------------------------------------------- # Configure OpenMP. if(WITH_OPENMP) - if(NOT OPENMP_CUSTOM) - find_package(OpenMP) - endif() + if(NOT OPENMP_CUSTOM) + find_package(OpenMP) + endif() - if(OPENMP_FOUND) - if(NOT WITH_OPENMP_STATIC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") - else() - # Typically avoid adding flags as defines but we can't - # pass OpenMP flags to the linker for static builds, meaning - # we can't add any OpenMP related flags to CFLAGS variables - # since they're passed to the linker as well. - add_definitions("${OpenMP_C_FLAGS}") + if(OPENMP_FOUND) + if(NOT WITH_OPENMP_STATIC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + else() + # Typically avoid adding flags as defines but we can't + # pass OpenMP flags to the linker for static builds, meaning + # we can't add any OpenMP related flags to CFLAGS variables + # since they're passed to the linker as well. + add_definitions("${OpenMP_C_FLAGS}") - find_library_static(OpenMP_LIBRARIES gomp ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}) - endif() - else() - set(WITH_OPENMP OFF) - endif() + find_library_static(OpenMP_LIBRARIES gomp ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}) + endif() + else() + set(WITH_OPENMP OFF) + endif() - mark_as_advanced( - OpenMP_C_FLAGS - OpenMP_CXX_FLAGS - ) + mark_as_advanced( + OpenMP_C_FLAGS + OpenMP_CXX_FLAGS + ) endif() #----------------------------------------------------------------------------- # Configure GLEW if(WITH_SYSTEM_GLEW) - find_package(GLEW) + find_package(GLEW) - # Note: There is an assumption here that the system GLEW is not a static library. + # Note: There is an assumption here that the system GLEW is not a static library. - if(NOT GLEW_FOUND) - message(FATAL_ERROR "GLEW is required to build Blender. Install it or disable WITH_SYSTEM_GLEW.") - endif() + if(NOT GLEW_FOUND) + message(FATAL_ERROR "GLEW is required to build Blender. Install it or disable WITH_SYSTEM_GLEW.") + endif() - set(BLENDER_GLEW_LIBRARIES ${GLEW_LIBRARY}) + set(BLENDER_GLEW_LIBRARIES ${GLEW_LIBRARY}) else() - if(WITH_GLEW_ES) - set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew-es/include") + if(WITH_GLEW_ES) + set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew-es/include") - list(APPEND GL_DEFINITIONS -DGLEW_STATIC -DWITH_GLEW_ES) + list(APPEND GL_DEFINITIONS -DGLEW_STATIC -DWITH_GLEW_ES) - # These definitions remove APIs from glew.h, making GLEW smaller, and catching unguarded API usage - if(WITH_GL_PROFILE_ES20) - list(APPEND GL_DEFINITIONS -DGLEW_ES_ONLY) - else() - # No ES functions are needed - list(APPEND GL_DEFINITIONS -DGLEW_NO_ES) - endif() + # These definitions remove APIs from glew.h, making GLEW smaller, and catching unguarded API usage + if(WITH_GL_PROFILE_ES20) + list(APPEND GL_DEFINITIONS -DGLEW_ES_ONLY) + else() + # No ES functions are needed + list(APPEND GL_DEFINITIONS -DGLEW_NO_ES) + endif() - if(WITH_GL_PROFILE_ES20) - if(WITH_GL_EGL) - list(APPEND GL_DEFINITIONS -DGLEW_USE_LIB_ES20) - endif() + if(WITH_GL_PROFILE_ES20) + if(WITH_GL_EGL) + list(APPEND GL_DEFINITIONS -DGLEW_USE_LIB_ES20) + endif() - # ToDo: This is an experiment to eliminate ES 1 symbols, - # GLEW doesn't really properly provide this level of control - # (for example, without modification it eliminates too many symbols) - # so there are lots of modifications to GLEW to make this work, - # and no attempt to make it work beyond Blender at this point. - list(APPEND GL_DEFINITIONS -DGL_ES_VERSION_1_0=0 -DGL_ES_VERSION_CL_1_1=0 -DGL_ES_VERSION_CM_1_1=0) - endif() + # ToDo: This is an experiment to eliminate ES 1 symbols, + # GLEW doesn't really properly provide this level of control + # (for example, without modification it eliminates too many symbols) + # so there are lots of modifications to GLEW to make this work, + # and no attempt to make it work beyond Blender at this point. + list(APPEND GL_DEFINITIONS -DGL_ES_VERSION_1_0=0 -DGL_ES_VERSION_CL_1_1=0 -DGL_ES_VERSION_CM_1_1=0) + endif() - if(WITH_GL_EGL) - list(APPEND GL_DEFINITIONS -DGLEW_INC_EGL) - endif() + if(WITH_GL_EGL) + list(APPEND GL_DEFINITIONS -DGLEW_INC_EGL) + endif() - set(BLENDER_GLEW_LIBRARIES extern_glew_es bf_intern_glew_mx) + set(BLENDER_GLEW_LIBRARIES extern_glew_es bf_intern_glew_mx) - else() - set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include") + else() + set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include") - list(APPEND GL_DEFINITIONS -DGLEW_STATIC) + list(APPEND GL_DEFINITIONS -DGLEW_STATIC) - # This won't affect the non-experimental glew library, - # but is used for conditional compilation elsewhere. - list(APPEND GL_DEFINITIONS -DGLEW_NO_ES) + # This won't affect the non-experimental glew library, + # but is used for conditional compilation elsewhere. + list(APPEND GL_DEFINITIONS -DGLEW_NO_ES) - set(BLENDER_GLEW_LIBRARIES extern_glew) + set(BLENDER_GLEW_LIBRARIES extern_glew) - endif() + endif() endif() @@ -1218,70 +1218,70 @@ list(APPEND GL_DEFINITIONS -DGLEW_NO_GLU) # Configure Bullet if(WITH_BULLET AND WITH_SYSTEM_BULLET) - find_package(Bullet) - if(NOT BULLET_FOUND) - set(WITH_BULLET OFF) - endif() + find_package(Bullet) + if(NOT BULLET_FOUND) + set(WITH_BULLET OFF) + endif() else() - set(BULLET_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/bullet2/src") - # set(BULLET_LIBRARIES "") + set(BULLET_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/bullet2/src") + # set(BULLET_LIBRARIES "") endif() #----------------------------------------------------------------------------- # Configure Python. if(WITH_PYTHON_MODULE) - add_definitions(-DPy_ENABLE_SHARED) + add_definitions(-DPy_ENABLE_SHARED) endif() #----------------------------------------------------------------------------- # Configure GLog/GFlags if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING)) - if(WITH_SYSTEM_GFLAGS) - find_package(Gflags) - if(NOT GFLAGS_FOUND) - message(FATAL_ERROR "System wide Gflags is requested but was not found") - endif() - # FindGflags does not define this, and we are not even sure what to use here. - set(GFLAGS_DEFINES) - else() - set(GFLAGS_DEFINES - -DGFLAGS_DLL_DEFINE_FLAG= - -DGFLAGS_DLL_DECLARE_FLAG= - -DGFLAGS_DLL_DECL= - ) - set(GFLAGS_NAMESPACE "gflags") - set(GFLAGS_LIBRARIES extern_gflags) - set(GFLAGS_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/extern/gflags/src") - endif() + if(WITH_SYSTEM_GFLAGS) + find_package(Gflags) + if(NOT GFLAGS_FOUND) + message(FATAL_ERROR "System wide Gflags is requested but was not found") + endif() + # FindGflags does not define this, and we are not even sure what to use here. + set(GFLAGS_DEFINES) + else() + set(GFLAGS_DEFINES + -DGFLAGS_DLL_DEFINE_FLAG= + -DGFLAGS_DLL_DECLARE_FLAG= + -DGFLAGS_DLL_DECL= + ) + set(GFLAGS_NAMESPACE "gflags") + set(GFLAGS_LIBRARIES extern_gflags) + set(GFLAGS_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/extern/gflags/src") + endif() - if(WITH_SYSTEM_GLOG) - find_package(Glog) - if(NOT GLOG_FOUND) - message(FATAL_ERROR "System wide Glog is requested but was not found") - endif() - # FindGlog does not define this, and we are not even sure what to use here. - set(GLOG_DEFINES) - else() - set(GLOG_DEFINES - -DGOOGLE_GLOG_DLL_DECL= - ) - set(GLOG_LIBRARIES extern_glog) - if(WIN32) - set(GLOG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/glog/src/windows) - else() - set(GLOG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/glog/include) - endif() - endif() + if(WITH_SYSTEM_GLOG) + find_package(Glog) + if(NOT GLOG_FOUND) + message(FATAL_ERROR "System wide Glog is requested but was not found") + endif() + # FindGlog does not define this, and we are not even sure what to use here. + set(GLOG_DEFINES) + else() + set(GLOG_DEFINES + -DGOOGLE_GLOG_DLL_DECL= + ) + set(GLOG_LIBRARIES extern_glog) + if(WIN32) + set(GLOG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/glog/src/windows) + else() + set(GLOG_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/glog/include) + endif() + endif() endif() #----------------------------------------------------------------------------- # Configure Ceres if(WITH_LIBMV) - # We always have C++11 which includes unordered_map. - set(CERES_DEFINES -DCERES_STD_UNORDERED_MAP) + # We always have C++11 which includes unordered_map. + set(CERES_DEFINES -DCERES_STD_UNORDERED_MAP) endif() #----------------------------------------------------------------------------- @@ -1289,259 +1289,259 @@ endif() if(CMAKE_COMPILER_IS_GNUCC) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_CAST_ALIGN -Wcast-align) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_VLA -Werror=vla) - # system headers sometimes do this, disable for now, was: -Werror=strict-prototypes - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_STRICT_PROTOTYPES -Wstrict-prototypes) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_PROTOTYPES -Wmissing-prototypes) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_POINTER_ARITH -Wpointer-arith) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_WRITE_STRINGS -Wwrite-strings) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_LOGICAL_OP -Wlogical-op) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNDEF -Wundef) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_INIT_SELF -Winit-self) # needs -Wuninitialized - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_NULL -Wnonnull) # C only - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_INCLUDE_DIRS -Wmissing-include-dirs) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_RESTRICT -Wrestrict) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_CAST_ALIGN -Wcast-align) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_VLA -Werror=vla) + # system headers sometimes do this, disable for now, was: -Werror=strict-prototypes + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_STRICT_PROTOTYPES -Wstrict-prototypes) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_PROTOTYPES -Wmissing-prototypes) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_POINTER_ARITH -Wpointer-arith) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_WRITE_STRINGS -Wwrite-strings) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_LOGICAL_OP -Wlogical-op) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNDEF -Wundef) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_INIT_SELF -Winit-self) # needs -Wuninitialized + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_NULL -Wnonnull) # C only + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_INCLUDE_DIRS -Wmissing-include-dirs) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_RESTRICT -Wrestrict) - # gcc 4.2 gives annoying warnings on every file with this - if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3") - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNINITIALIZED -Wuninitialized) - endif() + # gcc 4.2 gives annoying warnings on every file with this + if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3") + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNINITIALIZED -Wuninitialized) + endif() - # versions before gcc4.6 give many BLI_math warnings - if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.6") - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_REDUNDANT_DECLS -Wredundant-decls) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_REDUNDANT_DECLS -Wredundant-decls) - endif() + # versions before gcc4.6 give many BLI_math warnings + if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.6") + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_REDUNDANT_DECLS -Wredundant-decls) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_REDUNDANT_DECLS -Wredundant-decls) + endif() - # versions before gcc4.8 include global name-space. - if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.8") - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_SHADOW -Wshadow) - endif() + # versions before gcc4.8 include global name-space. + if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.8") + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_SHADOW -Wshadow) + endif() - # disable because it gives warnings for printf() & friends. - # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_DOUBLE_PROMOTION -Wdouble-promotion -Wno-error=double-promotion) + # disable because it gives warnings for printf() & friends. + # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_DOUBLE_PROMOTION -Wdouble-promotion -Wno-error=double-promotion) - if(NOT APPLE) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable) - endif() + if(NOT APPLE) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable) + endif() - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_LOGICAL_OP -Wlogical-op) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_INIT_SELF -Winit-self) # needs -Wuninitialized - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_MISSING_INCLUDE_DIRS -Wmissing-include-dirs) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_TYPE_LIMITS -Wtype-limits) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ERROR_RETURN_TYPE -Werror=return-type) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_POINTER_ARITH -Wpointer-arith) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_PARAMETER -Wunused-parameter) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_WRITE_STRINGS -Wwrite-strings) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEF -Wundef) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_FORMAT_SIGN -Wformat-signedness) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_RESTRICT -Wrestrict) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_LOGICAL_OP -Wlogical-op) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_INIT_SELF -Winit-self) # needs -Wuninitialized + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_MISSING_INCLUDE_DIRS -Wmissing-include-dirs) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_TYPE_LIMITS -Wtype-limits) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ERROR_RETURN_TYPE -Werror=return-type) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_POINTER_ARITH -Wpointer-arith) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_PARAMETER -Wunused-parameter) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_WRITE_STRINGS -Wwrite-strings) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEF -Wundef) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_FORMAT_SIGN -Wformat-signedness) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_RESTRICT -Wrestrict) - # gcc 4.2 gives annoying warnings on every file with this - if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3") - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNINITIALIZED -Wuninitialized) - endif() + # gcc 4.2 gives annoying warnings on every file with this + if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3") + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNINITIALIZED -Wuninitialized) + endif() - # causes too many warnings - if(NOT APPLE) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEF -Wundef) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_MISSING_DECLARATIONS -Wmissing-declarations) - endif() + # causes too many warnings + if(NOT APPLE) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEF -Wundef) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_MISSING_DECLARATIONS -Wmissing-declarations) + endif() - # Use 'ATTR_FALLTHROUGH' macro to suppress. - if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "7.0")) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_IMPLICIT_FALLTHROUGH -Wimplicit-fallthrough=5) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_IMPLICIT_FALLTHROUGH -Wimplicit-fallthrough=5) - endif() + # Use 'ATTR_FALLTHROUGH' macro to suppress. + if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "7.0")) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_IMPLICIT_FALLTHROUGH -Wimplicit-fallthrough=5) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_IMPLICIT_FALLTHROUGH -Wimplicit-fallthrough=5) + endif() - # flags to undo strict flags - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DEPRECATED_DECLARATIONS -Wno-deprecated-declarations) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_TYPE_LIMITS -Wno-type-limits) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INT_IN_BOOL_CONTEXT -Wno-int-in-bool-context) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_FORMAT -Wno-format) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_SWITCH -Wno-switch) + # flags to undo strict flags + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DEPRECATED_DECLARATIONS -Wno-deprecated-declarations) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_TYPE_LIMITS -Wno-type-limits) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INT_IN_BOOL_CONTEXT -Wno-int-in-bool-context) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_FORMAT -Wno-format) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_SWITCH -Wno-switch) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_CLASS_MEMACCESS -Wno-class-memaccess) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_COMMENT -Wno-comment) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_TYPEDEFS -Wno-unused-local-typedefs) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_CLASS_MEMACCESS -Wno-class-memaccess) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_COMMENT -Wno-comment) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_TYPEDEFS -Wno-unused-local-typedefs) - if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "7.0")) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_IMPLICIT_FALLTHROUGH -Wno-implicit-fallthrough) - endif() + if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "7.0")) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_IMPLICIT_FALLTHROUGH -Wno-implicit-fallthrough) + endif() - if(NOT APPLE) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable) - endif() + if(NOT APPLE) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable) + endif() elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") - # strange, clang complains these are not supported, but then uses them. - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_STRICT_PROTOTYPES -Wstrict-prototypes) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_PROTOTYPES -Wmissing-prototypes) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter) + # strange, clang complains these are not supported, but then uses them. + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_STRICT_PROTOTYPES -Wstrict-prototypes) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_PROTOTYPES -Wmissing-prototypes) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_OVERLOADED_VIRTUAL -Wno-overloaded-virtual) # we get a lot of these, if its a problem a dev needs to look into it. - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_OVERLOADED_VIRTUAL -Wno-overloaded-virtual) # we get a lot of these, if its a problem a dev needs to look into it. + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof) - # gives too many unfixable warnings - # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_MACROS -Wunused-macros) - # ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS -Wunused-macros) + # gives too many unfixable warnings + # ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_MACROS -Wunused-macros) + # ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS -Wunused-macros) - # flags to undo strict flags - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_MACROS -Wno-unused-macros) + # flags to undo strict flags + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_MACROS -Wno-unused-macros) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_VARIABLE_DECLARATIONS -Wno-missing-variable-declarations) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INCOMPAT_PTR_DISCARD_QUAL -Wno-incompatible-pointer-types-discards-qualifiers) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INT_TO_VOID_POINTER_CAST -Wno-int-to-void-pointer-cast) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_PROTOTYPES -Wno-missing-prototypes) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DUPLICATE_ENUM -Wno-duplicate-enum) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNDEF -Wno-undef) - ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_NORETURN -Wno-missing-noreturn) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_VARIABLE_DECLARATIONS -Wno-missing-variable-declarations) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INCOMPAT_PTR_DISCARD_QUAL -Wno-incompatible-pointer-types-discards-qualifiers) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_FUNCTION -Wno-unused-function) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_INT_TO_VOID_POINTER_CAST -Wno-int-to-void-pointer-cast) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_PROTOTYPES -Wno-missing-prototypes) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DUPLICATE_ENUM -Wno-duplicate-enum) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNDEF -Wno-undef) + ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_MISSING_NORETURN -Wno-missing-noreturn) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_PRIVATE_FIELD -Wno-unused-private-field) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_CXX11_NARROWING -Wno-c++11-narrowing) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_NON_VIRTUAL_DTOR -Wno-non-virtual-dtor) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_MACROS -Wno-unused-macros) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_REORDER -Wno-reorder) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_COMMENT -Wno-comment) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_TYPEDEFS -Wno-unused-local-typedefs) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_PRIVATE_FIELD -Wno-unused-private-field) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_CXX11_NARROWING -Wno-c++11-narrowing) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_NON_VIRTUAL_DTOR -Wno-non-virtual-dtor) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_MACROS -Wno-unused-macros) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_REORDER -Wno-reorder) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_COMMENT -Wno-comment) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_REMOVE_STRICT_FLAGS CXX_WARN_NO_UNUSED_TYPEDEFS -Wno-unused-local-typedefs) elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_POINTER_ARITH -Wpointer-arith) - ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_POINTER_ARITH -Wpointer-arith) + ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof) - ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof) + ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare) - # disable numbered, false positives - set(C_WARNINGS "${C_WARNINGS} -wd188,186,144,913,556,858,597,177,1292,167,279,592,94,2722,3199") - set(CXX_WARNINGS "${CXX_WARNINGS} -wd188,186,144,913,556,858,597,177,1292,167,279,592,94,2722,3199") + # disable numbered, false positives + set(C_WARNINGS "${C_WARNINGS} -wd188,186,144,913,556,858,597,177,1292,167,279,592,94,2722,3199") + set(CXX_WARNINGS "${CXX_WARNINGS} -wd188,186,144,913,556,858,597,177,1292,167,279,592,94,2722,3199") elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") - # most msvc warnings are C & C++ - set(_WARNINGS - # warning level: - "/W3" - "/w34062" # switch statement contains 'default' but no 'case' labels - "/w34115" # 'type' : named type definition in parentheses - "/w34189" # local variable is initialized but not referenced - # disable: - "/wd4018" # signed/unsigned mismatch - "/wd4146" # unary minus operator applied to unsigned type, result still unsigned - "/wd4065" # switch statement contains 'default' but no 'case' labels - "/wd4127" # conditional expression is constant - "/wd4181" # qualifier applied to reference type; ignored - "/wd4200" # zero-sized array in struct/union - "/wd4244" # conversion from 'type1' to 'type2', possible loss of data - "/wd4267" # conversion from 'size_t' to 'type', possible loss of data - "/wd4305" # truncation from 'type1' to 'type2' - "/wd4800" # forcing value to bool 'true' or 'false' - "/wd4828" # The file contains a character that is illegal - "/wd4996" # identifier was declared deprecated - # errors: - "/we4013" # 'function' undefined; assuming extern returning int - "/we4133" # incompatible pointer types - "/we4431" # missing type specifier - int assumed - ) + # most msvc warnings are C & C++ + set(_WARNINGS + # warning level: + "/W3" + "/w34062" # switch statement contains 'default' but no 'case' labels + "/w34115" # 'type' : named type definition in parentheses + "/w34189" # local variable is initialized but not referenced + # disable: + "/wd4018" # signed/unsigned mismatch + "/wd4146" # unary minus operator applied to unsigned type, result still unsigned + "/wd4065" # switch statement contains 'default' but no 'case' labels + "/wd4127" # conditional expression is constant + "/wd4181" # qualifier applied to reference type; ignored + "/wd4200" # zero-sized array in struct/union + "/wd4244" # conversion from 'type1' to 'type2', possible loss of data + "/wd4267" # conversion from 'size_t' to 'type', possible loss of data + "/wd4305" # truncation from 'type1' to 'type2' + "/wd4800" # forcing value to bool 'true' or 'false' + "/wd4828" # The file contains a character that is illegal + "/wd4996" # identifier was declared deprecated + # errors: + "/we4013" # 'function' undefined; assuming extern returning int + "/we4133" # incompatible pointer types + "/we4431" # missing type specifier - int assumed + ) - if(MSVC_VERSION GREATER_EQUAL 1911) - # see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5038?view=vs-2017 - set(_WARNINGS "${_WARNINGS} /w35038") #order of initialisation in c++ constructors - endif() + if(MSVC_VERSION GREATER_EQUAL 1911) + # see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5038?view=vs-2017 + set(_WARNINGS "${_WARNINGS} /w35038") #order of initialisation in c++ constructors + endif() - string(REPLACE ";" " " _WARNINGS "${_WARNINGS}") - set(C_WARNINGS "${_WARNINGS}") - set(CXX_WARNINGS "${_WARNINGS}") - unset(_WARNINGS) + string(REPLACE ";" " " _WARNINGS "${_WARNINGS}") + set(C_WARNINGS "${_WARNINGS}") + set(CXX_WARNINGS "${_WARNINGS}") + unset(_WARNINGS) endif() # ensure python header is found since detection can fail, this could happen # with _any_ library but since we used a fixed python version this tends to # be most problematic. if(WITH_PYTHON) - if(NOT EXISTS "${PYTHON_INCLUDE_DIR}/Python.h") - message(FATAL_ERROR - "Missing: \"${PYTHON_INCLUDE_DIR}/Python.h\",\n" - "Set the cache entry 'PYTHON_INCLUDE_DIR' to point " - "to a valid python include path. Containing " - "Python.h for python version \"${PYTHON_VERSION}\"" - ) - endif() + if(NOT EXISTS "${PYTHON_INCLUDE_DIR}/Python.h") + message(FATAL_ERROR + "Missing: \"${PYTHON_INCLUDE_DIR}/Python.h\",\n" + "Set the cache entry 'PYTHON_INCLUDE_DIR' to point " + "to a valid python include path. Containing " + "Python.h for python version \"${PYTHON_VERSION}\"" + ) + endif() - if(WIN32 OR APPLE) - # Windows and macOS have this bundled with Python libraries. - elseif((WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY) OR (WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)) - if(("${PYTHON_NUMPY_PATH}" STREQUAL "") OR (${PYTHON_NUMPY_PATH} MATCHES NOTFOUND)) - find_python_package(numpy) - unset(PYTHON_NUMPY_INCLUDE_DIRS CACHE) - set(PYTHON_NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_PATH}/numpy/core/include CACHE PATH "Path to the include directory of the numpy module") - mark_as_advanced(PYTHON_NUMPY_INCLUDE_DIRS) - endif() - endif() + if(WIN32 OR APPLE) + # Windows and macOS have this bundled with Python libraries. + elseif((WITH_PYTHON_INSTALL AND WITH_PYTHON_INSTALL_NUMPY) OR (WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE)) + if(("${PYTHON_NUMPY_PATH}" STREQUAL "") OR (${PYTHON_NUMPY_PATH} MATCHES NOTFOUND)) + find_python_package(numpy) + unset(PYTHON_NUMPY_INCLUDE_DIRS CACHE) + set(PYTHON_NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_PATH}/numpy/core/include CACHE PATH "Path to the include directory of the numpy module") + mark_as_advanced(PYTHON_NUMPY_INCLUDE_DIRS) + endif() + endif() - if(WIN32 OR APPLE) - # pass, we have this in lib/python/site-packages - elseif(WITH_PYTHON_INSTALL_REQUESTS) - find_python_package(requests) - endif() + if(WIN32 OR APPLE) + # pass, we have this in lib/python/site-packages + elseif(WITH_PYTHON_INSTALL_REQUESTS) + find_python_package(requests) + endif() endif() if( - CMAKE_COMPILER_IS_GNUCC OR - CMAKE_C_COMPILER_ID MATCHES "Clang" OR - CMAKE_C_COMPILER_ID MATCHES "Intel" + CMAKE_COMPILER_IS_GNUCC OR + CMAKE_C_COMPILER_ID MATCHES "Clang" OR + CMAKE_C_COMPILER_ID MATCHES "Intel" ) - # TODO(sergey): Do we want c++11 or gnu-c++11 here? - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + # TODO(sergey): Do we want c++11 or gnu-c++11 here? + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") elseif(MSVC) - # Nothing special is needed, C++11 features are available by default. + # Nothing special is needed, C++11 features are available by default. else() - message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++11 build") + message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++11 build") endif() # Visual Studio has all standards it supports available by default # Clang on windows copies this behavior and does not support these switches if( - CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_C_COMPILER_ID MATCHES "Clang" AND (NOT MSVC)) OR - (CMAKE_C_COMPILER_ID MATCHES "Intel") + CMAKE_COMPILER_IS_GNUCC OR + (CMAKE_C_COMPILER_ID MATCHES "Clang" AND (NOT MSVC)) OR + (CMAKE_C_COMPILER_ID MATCHES "Intel") ) - # Use C11 + GNU extensions, works with GCC, Clang, ICC - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11") + # Use C11 + GNU extensions, works with GCC, Clang, ICC + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11") endif() # Include warnings first, so its possible to disable them with user defined flags @@ -1551,19 +1551,19 @@ set(CMAKE_CXX_FLAGS "${CXX_WARNINGS} ${CMAKE_CXX_FLAGS} ${PLATFORM_CFLAGS}") # defined above, platform specific but shared names mark_as_advanced( - CYCLES_OSL - OSL_LIB_EXEC - OSL_COMPILER - OSL_LIB_COMP - OSL_LIB_QUERY - OSL_INCLUDE_DIR + CYCLES_OSL + OSL_LIB_EXEC + OSL_COMPILER + OSL_LIB_COMP + OSL_LIB_QUERY + OSL_INCLUDE_DIR ) mark_as_advanced( - LLVM_CONFIG - LLVM_ROOT_DIR - LLVM_LIBRARY - LLVM_VERSION + LLVM_CONFIG + LLVM_ROOT_DIR + LLVM_LIBRARY + LLVM_VERSION ) #------------------------------------------------------------------------------- @@ -1571,12 +1571,12 @@ mark_as_advanced( # better not set includes here but this debugging option is off by default. if(WITH_CXX_GUARDEDALLOC) - include_directories(${CMAKE_SOURCE_DIR}/intern/guardedalloc) - add_definitions(-DWITH_CXX_GUARDEDALLOC) + include_directories(${CMAKE_SOURCE_DIR}/intern/guardedalloc) + add_definitions(-DWITH_CXX_GUARDEDALLOC) endif() if(WITH_ASSERT_ABORT) - add_definitions(-DWITH_ASSERT_ABORT) + add_definitions(-DWITH_ASSERT_ABORT) endif() # message(STATUS "Using CFLAGS: ${CMAKE_C_FLAGS}") @@ -1586,31 +1586,31 @@ endif() # Libraries if(WITH_GTESTS) - include(GTestTesting) + include(GTestTesting) endif() if(WITH_BLENDER) - add_subdirectory(intern) - add_subdirectory(extern) + add_subdirectory(intern) + add_subdirectory(extern) - # source after intern and extern to gather all - # internal and external library information first, for test linking - add_subdirectory(source) + # source after intern and extern to gather all + # internal and external library information first, for test linking + add_subdirectory(source) elseif(WITH_CYCLES_STANDALONE) - add_subdirectory(intern/cycles) - add_subdirectory(extern/clew) - if(WITH_CUDA_DYNLOAD) - add_subdirectory(extern/cuew) - endif() - if(NOT WITH_SYSTEM_GLEW) - add_subdirectory(extern/glew) - endif() + add_subdirectory(intern/cycles) + add_subdirectory(extern/clew) + if(WITH_CUDA_DYNLOAD) + add_subdirectory(extern/cuew) + endif() + if(NOT WITH_SYSTEM_GLEW) + add_subdirectory(extern/glew) + endif() endif() #----------------------------------------------------------------------------- # Blender Application if(WITH_BLENDER) - add_subdirectory(source/creator) + add_subdirectory(source/creator) endif() @@ -1626,7 +1626,7 @@ include(build_files/cmake/packaging.cmake) #----------------------------------------------------------------------------- # Use dynamic loading for OpenMP if(WITH_BLENDER) - openmp_delayload(blender) + openmp_delayload(blender) endif() #----------------------------------------------------------------------------- @@ -1634,111 +1634,111 @@ endif() if(FIRST_RUN) - set(_config_msg "\nBlender Configuration\n=====================") + set(_config_msg "\nBlender Configuration\n=====================") - function(info_cfg_option - _setting - ) + function(info_cfg_option + _setting + ) - set(_msg " - ${_setting}") - string(LENGTH "${_msg}" _len) - while("32" GREATER "${_len}") - set(_msg "${_msg} ") - math(EXPR _len "${_len} + 1") - endwhile() + set(_msg " - ${_setting}") + string(LENGTH "${_msg}" _len) + while("32" GREATER "${_len}") + set(_msg "${_msg} ") + math(EXPR _len "${_len} + 1") + endwhile() - set(_config_msg "${_config_msg}\n${_msg}${${_setting}}" PARENT_SCOPE) - endfunction() + set(_config_msg "${_config_msg}\n${_msg}${${_setting}}" PARENT_SCOPE) + endfunction() - function(info_cfg_text - _text - ) + function(info_cfg_text + _text + ) - set(_config_msg "${_config_msg}\n\n ${_text}" PARENT_SCOPE) - endfunction() + set(_config_msg "${_config_msg}\n\n ${_text}" PARENT_SCOPE) + endfunction() - message(STATUS "C Compiler: \"${CMAKE_C_COMPILER_ID}\"") - message(STATUS "C++ Compiler: \"${CMAKE_CXX_COMPILER_ID}\"") + message(STATUS "C Compiler: \"${CMAKE_C_COMPILER_ID}\"") + message(STATUS "C++ Compiler: \"${CMAKE_CXX_COMPILER_ID}\"") - info_cfg_text("Build Options:") - info_cfg_option(WITH_BULLET) - info_cfg_option(WITH_IK_SOLVER) - info_cfg_option(WITH_IK_ITASC) - info_cfg_option(WITH_OPENCOLLADA) - info_cfg_option(WITH_FFTW3) - info_cfg_option(WITH_INTERNATIONAL) - info_cfg_option(WITH_INPUT_NDOF) - info_cfg_option(WITH_CYCLES) - info_cfg_option(WITH_FREESTYLE) - info_cfg_option(WITH_OPENCOLORIO) - info_cfg_option(WITH_OPENVDB) - info_cfg_option(WITH_ALEMBIC) + info_cfg_text("Build Options:") + info_cfg_option(WITH_BULLET) + info_cfg_option(WITH_IK_SOLVER) + info_cfg_option(WITH_IK_ITASC) + info_cfg_option(WITH_OPENCOLLADA) + info_cfg_option(WITH_FFTW3) + info_cfg_option(WITH_INTERNATIONAL) + info_cfg_option(WITH_INPUT_NDOF) + info_cfg_option(WITH_CYCLES) + info_cfg_option(WITH_FREESTYLE) + info_cfg_option(WITH_OPENCOLORIO) + info_cfg_option(WITH_OPENVDB) + info_cfg_option(WITH_ALEMBIC) - info_cfg_text("Compiler Options:") - info_cfg_option(WITH_BUILDINFO) - info_cfg_option(WITH_OPENMP) - info_cfg_option(WITH_RAYOPTIMIZATION) + info_cfg_text("Compiler Options:") + info_cfg_option(WITH_BUILDINFO) + info_cfg_option(WITH_OPENMP) + info_cfg_option(WITH_RAYOPTIMIZATION) - info_cfg_text("System Options:") - info_cfg_option(WITH_INSTALL_PORTABLE) - info_cfg_option(WITH_X11_ALPHA) - info_cfg_option(WITH_X11_XF86VMODE) - info_cfg_option(WITH_X11_XFIXES) - info_cfg_option(WITH_X11_XINPUT) - info_cfg_option(WITH_MEM_JEMALLOC) - info_cfg_option(WITH_MEM_VALGRIND) - info_cfg_option(WITH_SYSTEM_GLEW) + info_cfg_text("System Options:") + info_cfg_option(WITH_INSTALL_PORTABLE) + info_cfg_option(WITH_X11_ALPHA) + info_cfg_option(WITH_X11_XF86VMODE) + info_cfg_option(WITH_X11_XFIXES) + info_cfg_option(WITH_X11_XINPUT) + info_cfg_option(WITH_MEM_JEMALLOC) + info_cfg_option(WITH_MEM_VALGRIND) + info_cfg_option(WITH_SYSTEM_GLEW) - info_cfg_text("Image Formats:") - info_cfg_option(WITH_OPENIMAGEIO) - info_cfg_option(WITH_IMAGE_CINEON) - info_cfg_option(WITH_IMAGE_DDS) - info_cfg_option(WITH_IMAGE_HDR) - info_cfg_option(WITH_IMAGE_OPENEXR) - info_cfg_option(WITH_IMAGE_OPENJPEG) - info_cfg_option(WITH_IMAGE_TIFF) + info_cfg_text("Image Formats:") + info_cfg_option(WITH_OPENIMAGEIO) + info_cfg_option(WITH_IMAGE_CINEON) + info_cfg_option(WITH_IMAGE_DDS) + info_cfg_option(WITH_IMAGE_HDR) + info_cfg_option(WITH_IMAGE_OPENEXR) + info_cfg_option(WITH_IMAGE_OPENJPEG) + info_cfg_option(WITH_IMAGE_TIFF) - info_cfg_text("Audio:") - info_cfg_option(WITH_OPENAL) - info_cfg_option(WITH_SDL) - info_cfg_option(WITH_SDL_DYNLOAD) - info_cfg_option(WITH_JACK) - info_cfg_option(WITH_JACK_DYNLOAD) - info_cfg_option(WITH_CODEC_AVI) - info_cfg_option(WITH_CODEC_FFMPEG) - info_cfg_option(WITH_CODEC_SNDFILE) + info_cfg_text("Audio:") + info_cfg_option(WITH_OPENAL) + info_cfg_option(WITH_SDL) + info_cfg_option(WITH_SDL_DYNLOAD) + info_cfg_option(WITH_JACK) + info_cfg_option(WITH_JACK_DYNLOAD) + info_cfg_option(WITH_CODEC_AVI) + info_cfg_option(WITH_CODEC_FFMPEG) + info_cfg_option(WITH_CODEC_SNDFILE) - info_cfg_text("Compression:") - info_cfg_option(WITH_LZMA) - info_cfg_option(WITH_LZO) + info_cfg_text("Compression:") + info_cfg_option(WITH_LZMA) + info_cfg_option(WITH_LZO) - info_cfg_text("Python:") - info_cfg_option(WITH_PYTHON_INSTALL) - info_cfg_option(WITH_PYTHON_INSTALL_NUMPY) - info_cfg_option(WITH_PYTHON_MODULE) - info_cfg_option(WITH_PYTHON_SAFETY) - if(APPLE) - info_cfg_option(WITH_PYTHON_FRAMEWORK) - endif() + info_cfg_text("Python:") + info_cfg_option(WITH_PYTHON_INSTALL) + info_cfg_option(WITH_PYTHON_INSTALL_NUMPY) + info_cfg_option(WITH_PYTHON_MODULE) + info_cfg_option(WITH_PYTHON_SAFETY) + if(APPLE) + info_cfg_option(WITH_PYTHON_FRAMEWORK) + endif() - info_cfg_text("Modifiers:") - info_cfg_option(WITH_MOD_REMESH) - info_cfg_option(WITH_MOD_FLUID) - info_cfg_option(WITH_MOD_OCEANSIM) + info_cfg_text("Modifiers:") + info_cfg_option(WITH_MOD_REMESH) + info_cfg_option(WITH_MOD_FLUID) + info_cfg_option(WITH_MOD_OCEANSIM) - info_cfg_text("OpenGL:") - info_cfg_option(WITH_GLEW_ES) - info_cfg_option(WITH_GL_EGL) - info_cfg_option(WITH_GL_PROFILE_ES20) - if(WIN32) - info_cfg_option(WITH_GL_ANGLE) - endif() + info_cfg_text("OpenGL:") + info_cfg_option(WITH_GLEW_ES) + info_cfg_option(WITH_GL_EGL) + info_cfg_option(WITH_GL_PROFILE_ES20) + if(WIN32) + info_cfg_option(WITH_GL_ANGLE) + endif() - info_cfg_text("") + info_cfg_text("") - message("${_config_msg}") + message("${_config_msg}") endif() if(0) - print_all_vars() + print_all_vars() endif() diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt index 1760e00e150..c21ed826736 100644 --- a/build_files/build_environment/CMakeLists.txt +++ b/build_files/build_environment/CMakeLists.txt @@ -47,13 +47,13 @@ include(cmake/options.cmake) include(cmake/versions.cmake) if(ENABLE_MINGW64) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - include(cmake/setup_mingw64.cmake) - else() - include(cmake/setup_mingw32.cmake) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + include(cmake/setup_mingw64.cmake) + else() + include(cmake/setup_mingw32.cmake) + endif() else() - set(mingw_LIBDIR ${LIBDIR}) + set(mingw_LIBDIR ${LIBDIR}) endif() include(cmake/zlib.cmake) @@ -94,61 +94,61 @@ include(cmake/numpy.cmake) include(cmake/pugixml.cmake) if(WITH_WEBP) - include(cmake/webp.cmake) + include(cmake/webp.cmake) endif() if(WITH_EMBREE) - include(cmake/embree.cmake) + include(cmake/embree.cmake) endif() if(WIN32) - # HMD branch deps - include(cmake/hidapi.cmake) - # OCIO deps - include(cmake/tinyxml.cmake) - include(cmake/yamlcpp.cmake) - # LCMS is an OCIO dep, but only if you build the apps, leaving it here for convenience - #include(cmake/lcms.cmake) + # HMD branch deps + include(cmake/hidapi.cmake) + # OCIO deps + include(cmake/tinyxml.cmake) + include(cmake/yamlcpp.cmake) + # LCMS is an OCIO dep, but only if you build the apps, leaving it here for convenience + #include(cmake/lcms.cmake) endif() if(NOT WIN32 OR ENABLE_MINGW64) - include(cmake/openjpeg.cmake) - if(NOT WIN32 OR BUILD_MODE STREQUAL Release) - if(WIN32) - include(cmake/zlib_mingw.cmake) - endif() - include(cmake/lame.cmake) - include(cmake/ogg.cmake) - include(cmake/vorbis.cmake) - include(cmake/theora.cmake) - include(cmake/vpx.cmake) - include(cmake/x264.cmake) - include(cmake/xvidcore.cmake) - include(cmake/faad.cmake) - include(cmake/ffmpeg.cmake) - include(cmake/fftw.cmake) - include(cmake/sndfile.cmake) - if(WIN32) - include(cmake/iconv.cmake) - endif() - if(UNIX) - include(cmake/flac.cmake) - include(cmake/xml2.cmake) - if(NOT APPLE) - include(cmake/spnav.cmake) - include(cmake/jemalloc.cmake) - endif() - endif() - endif() + include(cmake/openjpeg.cmake) + if(NOT WIN32 OR BUILD_MODE STREQUAL Release) + if(WIN32) + include(cmake/zlib_mingw.cmake) + endif() + include(cmake/lame.cmake) + include(cmake/ogg.cmake) + include(cmake/vorbis.cmake) + include(cmake/theora.cmake) + include(cmake/vpx.cmake) + include(cmake/x264.cmake) + include(cmake/xvidcore.cmake) + include(cmake/faad.cmake) + include(cmake/ffmpeg.cmake) + include(cmake/fftw.cmake) + include(cmake/sndfile.cmake) + if(WIN32) + include(cmake/iconv.cmake) + endif() + if(UNIX) + include(cmake/flac.cmake) + include(cmake/xml2.cmake) + if(NOT APPLE) + include(cmake/spnav.cmake) + include(cmake/jemalloc.cmake) + endif() + endif() + endif() endif() if(UNIX) - include(cmake/bzip2.cmake) - include(cmake/ffi.cmake) - include(cmake/lzma.cmake) - include(cmake/ssl.cmake) - include(cmake/sqlite.cmake) + include(cmake/bzip2.cmake) + include(cmake/ffi.cmake) + include(cmake/lzma.cmake) + include(cmake/ssl.cmake) + include(cmake/sqlite.cmake) endif() include(cmake/harvest.cmake) diff --git a/build_files/build_environment/cmake/alembic.cmake b/build_files/build_environment/cmake/alembic.cmake index e6323d53661..fa2d7243f7d 100644 --- a/build_files/build_environment/cmake/alembic.cmake +++ b/build_files/build_environment/cmake/alembic.cmake @@ -17,89 +17,89 @@ # ***** END GPL LICENSE BLOCK ***** if(ALEMBIC_HDF5) - set(ALEMBIC_HDF5_HL) - # in debug mode we do not build HDF5_hdf5_hl_LIBRARY which makes cmake really - # unhappy, stub it with the debug mode lib. it's not linking it in at this - # point in time anyhow - if(BUILD_MODE STREQUAL Debug) - set(ALEMBIC_HDF5_HL -DHDF5_hdf5_hl_LIBRARY=${LIBDIR}/hdf5/lib/libhdf5_hl_D.${LIBEXT}) - endif() + set(ALEMBIC_HDF5_HL) + # in debug mode we do not build HDF5_hdf5_hl_LIBRARY which makes cmake really + # unhappy, stub it with the debug mode lib. it's not linking it in at this + # point in time anyhow + if(BUILD_MODE STREQUAL Debug) + set(ALEMBIC_HDF5_HL -DHDF5_hdf5_hl_LIBRARY=${LIBDIR}/hdf5/lib/libhdf5_hl_D.${LIBEXT}) + endif() endif() if(WIN32) - set(ALEMBIC_ILMBASE ${LIBDIR}/openexr) + set(ALEMBIC_ILMBASE ${LIBDIR}/openexr) else() - set(ALEMBIC_ILMBASE ${LIBDIR}/ilmbase) + set(ALEMBIC_ILMBASE ${LIBDIR}/ilmbase) endif() set(ALEMBIC_EXTRA_ARGS - -DBUILDSTATIC=ON - -DLINKSTATIC=ON - -DALEMBIC_LIB_USES_BOOST=ON - -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} - -DBoost_USE_MULTITHREADED=ON - -DUSE_STATIC_BOOST=On - -DBoost_USE_STATIC_LIBS=ON - -DBoost_USE_STATIC_RUNTIME=ON - -DBoost_DEBUG=ON - -DBOOST_ROOT=${LIBDIR}/boost - -DBoost_NO_SYSTEM_PATHS=ON - -DILMBASE_ROOT=${ALEMBIC_ILMBASE} - -DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${ALEMBIC_ILMBASE}/include/OpenEXR - -DALEMBIC_ILMBASE_HALF_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DALEMBIC_ILMBASE_IMATH_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DALEMBIC_ILMBASE_ILMTHREAD_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DALEMBIC_ILMBASE_IEX_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DALEMBIC_ILMBASE_IEXMATH_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}IexMath${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DUSE_PYILMBASE=0 - -DUSE_PYALEMBIC=0 - -DUSE_ARNOLD=0 - -DUSE_MAYA=0 - -DUSE_PRMAN=0 - -DUSE_HDF5=Off - -DUSE_STATIC_HDF5=Off - -DHDF5_ROOT=${LIBDIR}/hdf5 - -DUSE_TESTS=Off - -DALEMBIC_NO_OPENGL=1 - -DUSE_BINARIES=ON - -DALEMBIC_ILMBASE_LINK_STATIC=On - -DALEMBIC_SHARED_LIBS=OFF - -DGLUT_INCLUDE_DIR="" - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - ${ALEMBIC_HDF5_HL} + -DBUILDSTATIC=ON + -DLINKSTATIC=ON + -DALEMBIC_LIB_USES_BOOST=ON + -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} + -DBoost_USE_MULTITHREADED=ON + -DUSE_STATIC_BOOST=On + -DBoost_USE_STATIC_LIBS=ON + -DBoost_USE_STATIC_RUNTIME=ON + -DBoost_DEBUG=ON + -DBOOST_ROOT=${LIBDIR}/boost + -DBoost_NO_SYSTEM_PATHS=ON + -DILMBASE_ROOT=${ALEMBIC_ILMBASE} + -DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${ALEMBIC_ILMBASE}/include/OpenEXR + -DALEMBIC_ILMBASE_HALF_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DALEMBIC_ILMBASE_IMATH_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DALEMBIC_ILMBASE_ILMTHREAD_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DALEMBIC_ILMBASE_IEX_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DALEMBIC_ILMBASE_IEXMATH_LIB=${ALEMBIC_ILMBASE}/lib/${LIBPREFIX}IexMath${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DUSE_PYILMBASE=0 + -DUSE_PYALEMBIC=0 + -DUSE_ARNOLD=0 + -DUSE_MAYA=0 + -DUSE_PRMAN=0 + -DUSE_HDF5=Off + -DUSE_STATIC_HDF5=Off + -DHDF5_ROOT=${LIBDIR}/hdf5 + -DUSE_TESTS=Off + -DALEMBIC_NO_OPENGL=1 + -DUSE_BINARIES=ON + -DALEMBIC_ILMBASE_LINK_STATIC=On + -DALEMBIC_SHARED_LIBS=OFF + -DGLUT_INCLUDE_DIR="" + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + ${ALEMBIC_HDF5_HL} ) ExternalProject_Add(external_alembic - URL ${ALEMBIC_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${ALEMBIC_MD5} - PREFIX ${BUILD_DIR}/alembic - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/alembic -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ALEMBIC_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/alembic + URL ${ALEMBIC_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${ALEMBIC_MD5} + PREFIX ${BUILD_DIR}/alembic + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/alembic -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ALEMBIC_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/alembic ) if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_alembic after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/alembic ${HARVEST_TARGET}/alembic - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_alembic after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/alembic/lib/alembic.lib ${HARVEST_TARGET}/alembic/lib/alembic_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_alembic after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/alembic ${HARVEST_TARGET}/alembic + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_alembic after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/alembic/lib/alembic.lib ${HARVEST_TARGET}/alembic/lib/alembic_d.lib + DEPENDEES install + ) + endif() endif() add_dependencies( - external_alembic - external_boost - external_zlib - external_ilmbase - external_openexr + external_alembic + external_boost + external_zlib + external_ilmbase + external_openexr ) diff --git a/build_files/build_environment/cmake/blendthumb.cmake b/build_files/build_environment/cmake/blendthumb.cmake index b3064016403..f4cc6ee9d37 100644 --- a/build_files/build_environment/cmake/blendthumb.cmake +++ b/build_files/build_environment/cmake/blendthumb.cmake @@ -17,51 +17,51 @@ # ***** END GPL LICENSE BLOCK ***** if(BUILD_MODE STREQUAL Release) - if(WIN32) - set(THUMB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../release/windows/blendthumb) + if(WIN32) + set(THUMB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../release/windows/blendthumb) - ExternalProject_Add(external_zlib_32 - URL ${ZLIB_URI} - CMAKE_GENERATOR ${GENERATOR_32} - URL_HASH MD5=${ZLIB_HASH} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - PREFIX ${BUILD_DIR}/zlib32 - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib32 ${DEFAULT_CMAKE_FLAGS} - INSTALL_DIR ${LIBDIR}/zlib32 - ) + ExternalProject_Add(external_zlib_32 + URL ${ZLIB_URI} + CMAKE_GENERATOR ${GENERATOR_32} + URL_HASH MD5=${ZLIB_HASH} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + PREFIX ${BUILD_DIR}/zlib32 + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib32 ${DEFAULT_CMAKE_FLAGS} + INSTALL_DIR ${LIBDIR}/zlib32 + ) - ExternalProject_Add(external_zlib_64 - URL ${ZLIB_URI} - CMAKE_GENERATOR ${GENERATOR_64} - URL_HASH MD5=${ZLIB_HASH} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - PREFIX ${BUILD_DIR}/zlib64 - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib64 ${DEFAULT_CMAKE_FLAGS} - INSTALL_DIR ${LIBDIR}/zlib64 - ) + ExternalProject_Add(external_zlib_64 + URL ${ZLIB_URI} + CMAKE_GENERATOR ${GENERATOR_64} + URL_HASH MD5=${ZLIB_HASH} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + PREFIX ${BUILD_DIR}/zlib64 + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib64 ${DEFAULT_CMAKE_FLAGS} + INSTALL_DIR ${LIBDIR}/zlib64 + ) - ExternalProject_Add(external_blendthumb_32 - CMAKE_GENERATOR ${GENERATOR_32} - SOURCE_DIR ${THUMB_DIR} - PREFIX ${BUILD_DIR}/blendthumb32 - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb32 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib32/include -DZLIB_LIBS=${LIBDIR}/zlib32/lib/zlibstatic.lib - INSTALL_DIR ${LIBDIR}/blendthumb32 - ) - add_dependencies( - external_blendthumb_32 - external_zlib_32 - ) + ExternalProject_Add(external_blendthumb_32 + CMAKE_GENERATOR ${GENERATOR_32} + SOURCE_DIR ${THUMB_DIR} + PREFIX ${BUILD_DIR}/blendthumb32 + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb32 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib32/include -DZLIB_LIBS=${LIBDIR}/zlib32/lib/zlibstatic.lib + INSTALL_DIR ${LIBDIR}/blendthumb32 + ) + add_dependencies( + external_blendthumb_32 + external_zlib_32 + ) - ExternalProject_Add(external_blendthumb_64 - CMAKE_GENERATOR ${GENERATOR_64} - SOURCE_DIR ${THUMB_DIR} - PREFIX ${BUILD_DIR}/blendthumb64 - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb64 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib64/include -DZLIB_LIBS=${LIBDIR}/zlib64/lib/zlibstatic.lib - INSTALL_DIR ${LIBDIR}/blendthumb64 - ) - add_dependencies( - external_blendthumb_64 - external_zlib_64 - ) - endif() + ExternalProject_Add(external_blendthumb_64 + CMAKE_GENERATOR ${GENERATOR_64} + SOURCE_DIR ${THUMB_DIR} + PREFIX ${BUILD_DIR}/blendthumb64 + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb64 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib64/include -DZLIB_LIBS=${LIBDIR}/zlib64/lib/zlibstatic.lib + INSTALL_DIR ${LIBDIR}/blendthumb64 + ) + add_dependencies( + external_blendthumb_64 + external_zlib_64 + ) + endif() endif() diff --git a/build_files/build_environment/cmake/blosc.cmake b/build_files/build_environment/cmake/blosc.cmake index 1cbf97063c0..c7f3cbb8dfa 100644 --- a/build_files/build_environment/cmake/blosc.cmake +++ b/build_files/build_environment/cmake/blosc.cmake @@ -17,59 +17,59 @@ # ***** END GPL LICENSE BLOCK ***** set(BLOSC_EXTRA_ARGS - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DBUILD_TESTS=OFF - -DBUILD_BENCHMARKS=OFF - -DCMAKE_DEBUG_POSTFIX=_d - -DThreads_FOUND=1 - -DPTHREAD_LIBS=${LIBDIR}/pthreads/lib/pthreadVC3.lib - -DPTHREAD_INCLUDE_DIR=${LIBDIR}/pthreads/inc - -DDEACTIVATE_SNAPPY=ON - -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DBUILD_TESTS=OFF + -DBUILD_BENCHMARKS=OFF + -DCMAKE_DEBUG_POSTFIX=_d + -DThreads_FOUND=1 + -DPTHREAD_LIBS=${LIBDIR}/pthreads/lib/pthreadVC3.lib + -DPTHREAD_INCLUDE_DIR=${LIBDIR}/pthreads/inc + -DDEACTIVATE_SNAPPY=ON + -DCMAKE_POSITION_INDEPENDENT_CODE=ON ) if(WIN32) - #prevent blosc from including it's own local copy of zlib in the object file - #and cause linker errors with everybody else - set(BLOSC_EXTRA_ARGS ${BLOSC_EXTRA_ARGS} - -DPREFER_EXTERNAL_ZLIB=ON - ) + #prevent blosc from including it's own local copy of zlib in the object file + #and cause linker errors with everybody else + set(BLOSC_EXTRA_ARGS ${BLOSC_EXTRA_ARGS} + -DPREFER_EXTERNAL_ZLIB=ON + ) endif() ExternalProject_Add(external_blosc - URL ${BLOSC_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${BLOSC_HASH} - PREFIX ${BUILD_DIR}/blosc - PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/blosc/src/external_blosc < ${PATCH_DIR}/blosc.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blosc ${DEFAULT_CMAKE_FLAGS} ${BLOSC_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/blosc + URL ${BLOSC_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${BLOSC_HASH} + PREFIX ${BUILD_DIR}/blosc + PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/blosc/src/external_blosc < ${PATCH_DIR}/blosc.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blosc ${DEFAULT_CMAKE_FLAGS} ${BLOSC_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/blosc ) add_dependencies( - external_blosc - external_zlib + external_blosc + external_zlib ) if(WIN32) - add_dependencies( - external_blosc - external_pthreads - ) + add_dependencies( + external_blosc + external_pthreads + ) endif() if (WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_blosc after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc.lib ${HARVEST_TARGET}/blosc/lib/libblosc.lib - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/blosc/include/ ${HARVEST_TARGET}/blosc/include/ - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_blosc after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc_d.lib ${HARVEST_TARGET}/blosc/lib/libblosc_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_blosc after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc.lib ${HARVEST_TARGET}/blosc/lib/libblosc.lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/blosc/include/ ${HARVEST_TARGET}/blosc/include/ + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_blosc after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc_d.lib ${HARVEST_TARGET}/blosc/lib/libblosc_d.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/boost.cmake b/build_files/build_environment/cmake/boost.cmake index 33bfa1d4e82..7fcd7e754ae 100644 --- a/build_files/build_environment/cmake/boost.cmake +++ b/build_files/build_environment/cmake/boost.cmake @@ -19,91 +19,91 @@ set(BOOST_ADDRESS_MODEL 64) if(WIN32) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(PYTHON_ARCH x64) - set(PYTHON_ARCH2 win-AMD64) - set(PYTHON_OUTPUTDIR ${BUILD_DIR}/python/src/external_python/pcbuild/amd64/) - else() - set(PYTHON_ARCH x86) - set(PYTHON_ARCH2 win32) - set(PYTHON_OUTPUTDIR ${BUILD_DIR}/python/src/external_python/pcbuild/win32/) - set(BOOST_ADDRESS_MODEL 32) - endif() - if(MSVC14) - set(BOOST_TOOLSET toolset=msvc-14.0) - set(BOOST_COMPILER_STRING -vc140) - endif() - set(JAM_FILE ${BUILD_DIR}/boost/src/external_boost/user-config.jam) - set(semi_path "${PATCH_DIR}/semi.txt") - FILE(TO_NATIVE_PATH ${semi_path} semi_path) - set(BOOST_CONFIGURE_COMMAND bootstrap.bat && - echo using python : ${PYTHON_OUTPUTDIR}\\python.exe > "${JAM_FILE}" && - echo. : ${BUILD_DIR}/python/src/external_python/include ${BUILD_DIR}/python/src/external_python/pc >> "${JAM_FILE}" && - echo. : ${BUILD_DIR}/python/src/external_python/pcbuild >> "${JAM_FILE}" && - type ${semi_path} >> "${JAM_FILE}" - ) - set(BOOST_BUILD_COMMAND bjam) - #--user-config=user-config.jam - set(BOOST_BUILD_OPTIONS runtime-link=static ) - #set(BOOST_WITH_PYTHON --with-python) - set(BOOST_HARVEST_CMD ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/ ) - if(BUILD_MODE STREQUAL Release) - set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-1_68/ ${HARVEST_TARGET}/boost/include/) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(PYTHON_ARCH x64) + set(PYTHON_ARCH2 win-AMD64) + set(PYTHON_OUTPUTDIR ${BUILD_DIR}/python/src/external_python/pcbuild/amd64/) + else() + set(PYTHON_ARCH x86) + set(PYTHON_ARCH2 win32) + set(PYTHON_OUTPUTDIR ${BUILD_DIR}/python/src/external_python/pcbuild/win32/) + set(BOOST_ADDRESS_MODEL 32) + endif() + if(MSVC14) + set(BOOST_TOOLSET toolset=msvc-14.0) + set(BOOST_COMPILER_STRING -vc140) + endif() + set(JAM_FILE ${BUILD_DIR}/boost/src/external_boost/user-config.jam) + set(semi_path "${PATCH_DIR}/semi.txt") + FILE(TO_NATIVE_PATH ${semi_path} semi_path) + set(BOOST_CONFIGURE_COMMAND bootstrap.bat && + echo using python : ${PYTHON_OUTPUTDIR}\\python.exe > "${JAM_FILE}" && + echo. : ${BUILD_DIR}/python/src/external_python/include ${BUILD_DIR}/python/src/external_python/pc >> "${JAM_FILE}" && + echo. : ${BUILD_DIR}/python/src/external_python/pcbuild >> "${JAM_FILE}" && + type ${semi_path} >> "${JAM_FILE}" + ) + set(BOOST_BUILD_COMMAND bjam) + #--user-config=user-config.jam + set(BOOST_BUILD_OPTIONS runtime-link=static ) + #set(BOOST_WITH_PYTHON --with-python) + set(BOOST_HARVEST_CMD ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/ ) + if(BUILD_MODE STREQUAL Release) + set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-1_68/ ${HARVEST_TARGET}/boost/include/) + endif() elseif(APPLE) - set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh) - set(BOOST_BUILD_COMMAND ./b2) - set(BOOST_BUILD_OPTIONS toolset=darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} --disable-icu boost.locale.icu=off) - set(BOOST_HARVEST_CMD echo .) - set(BOOST_PATCH_COMMAND echo .) + set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh) + set(BOOST_BUILD_COMMAND ./b2) + set(BOOST_BUILD_OPTIONS toolset=darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} --disable-icu boost.locale.icu=off) + set(BOOST_HARVEST_CMD echo .) + set(BOOST_PATCH_COMMAND echo .) else() - set(BOOST_HARVEST_CMD echo .) - set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh) - set(BOOST_BUILD_COMMAND ./b2) - set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off) - set(BOOST_PATCH_COMMAND echo .) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(BOOST_ADDRESS_MODEL 64) - else() - set(BOOST_ADDRESS_MODEL 32) - endif() + set(BOOST_HARVEST_CMD echo .) + set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh) + set(BOOST_BUILD_COMMAND ./b2) + set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off) + set(BOOST_PATCH_COMMAND echo .) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(BOOST_ADDRESS_MODEL 64) + else() + set(BOOST_ADDRESS_MODEL 32) + endif() endif() set(BOOST_OPTIONS - --with-filesystem - --with-locale - --with-thread - --with-regex - --with-system - --with-date_time - --with-wave - --with-atomic - --with-serialization - --with-program_options - --with-iostreams - ${BOOST_WITH_PYTHON} - ${BOOST_TOOLSET} + --with-filesystem + --with-locale + --with-thread + --with-regex + --with-system + --with-date_time + --with-wave + --with-atomic + --with-serialization + --with-program_options + --with-iostreams + ${BOOST_WITH_PYTHON} + ${BOOST_TOOLSET} ) string(TOLOWER ${BUILD_MODE} BOOST_BUILD_TYPE) ExternalProject_Add(external_boost - URL ${BOOST_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${BOOST_HASH} - PREFIX ${BUILD_DIR}/boost - UPDATE_COMMAND "" - PATCH_COMMAND ${BOOST_PATCH_COMMAND} - CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND} - BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=x86 address-model=${BOOST_ADDRESS_MODEL} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install - BUILD_IN_SOURCE 1 - INSTALL_COMMAND "${BOOST_HARVEST_CMD}" + URL ${BOOST_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${BOOST_HASH} + PREFIX ${BUILD_DIR}/boost + UPDATE_COMMAND "" + PATCH_COMMAND ${BOOST_PATCH_COMMAND} + CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND} + BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=x86 address-model=${BOOST_ADDRESS_MODEL} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "${BOOST_HARVEST_CMD}" ) if(WIN32) - add_dependencies( - external_boost - Make_Python_Environment - ) + add_dependencies( + external_boost + Make_Python_Environment + ) endif() diff --git a/build_files/build_environment/cmake/bzip2.cmake b/build_files/build_environment/cmake/bzip2.cmake index 6c515d10d61..fbf5551e719 100644 --- a/build_files/build_environment/cmake/bzip2.cmake +++ b/build_files/build_environment/cmake/bzip2.cmake @@ -21,19 +21,19 @@ set(BZIP2_CONFIGURE_ENV echo .) set(BZIP2_CONFIGURATION_ARGS) if(UNIX AND NOT APPLE) - set(BZIP2_LDFLAGS "-Wl,--as-needed") - set(BZIP2_CFLAGS "-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64") - set(BZIP2_CONFIGURE_ENV ${BZIP2_CONFIGURE_ENV} && export LDFLAGS=${BZIP2_LDFLAGS} && export CFLAGS=${BZIP2_CFLAGS} - && export PREFIX=${BZIP2_PREFIX}) + set(BZIP2_LDFLAGS "-Wl,--as-needed") + set(BZIP2_CFLAGS "-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64") + set(BZIP2_CONFIGURE_ENV ${BZIP2_CONFIGURE_ENV} && export LDFLAGS=${BZIP2_LDFLAGS} && export CFLAGS=${BZIP2_CFLAGS} + && export PREFIX=${BZIP2_PREFIX}) endif() ExternalProject_Add(external_bzip2 - URL ${BZIP2_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${BZIP2_HASH} - PREFIX ${BUILD_DIR}/bzip2 - CONFIGURE_COMMAND echo . - BUILD_COMMAND ${BZIP2_CONFIGURE_ENV} && cd ${BUILD_DIR}/bzip2/src/external_bzip2/ && make CFLAGS=${BZIP2_CFLAGS} LDFLAGS=${BZIP2_LDFLAGS} -j${MAKE_THREADS} - INSTALL_COMMAND ${BZIP2_CONFIGURE_ENV} && cd ${BUILD_DIR}/bzip2/src/external_bzip2/ && make CFLAGS=${BZIP2_CFLAGS} LDFLAGS=${BZIP2_LDFLAGS} PREFIX=${BZIP2_PREFIX} install - INSTALL_DIR ${LIBDIR}/bzip2 + URL ${BZIP2_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${BZIP2_HASH} + PREFIX ${BUILD_DIR}/bzip2 + CONFIGURE_COMMAND echo . + BUILD_COMMAND ${BZIP2_CONFIGURE_ENV} && cd ${BUILD_DIR}/bzip2/src/external_bzip2/ && make CFLAGS=${BZIP2_CFLAGS} LDFLAGS=${BZIP2_LDFLAGS} -j${MAKE_THREADS} + INSTALL_COMMAND ${BZIP2_CONFIGURE_ENV} && cd ${BUILD_DIR}/bzip2/src/external_bzip2/ && make CFLAGS=${BZIP2_CFLAGS} LDFLAGS=${BZIP2_LDFLAGS} PREFIX=${BZIP2_PREFIX} install + INSTALL_DIR ${LIBDIR}/bzip2 ) diff --git a/build_files/build_environment/cmake/clang.cmake b/build_files/build_environment/cmake/clang.cmake index 699c38a293a..f1f537baf1d 100644 --- a/build_files/build_environment/cmake/clang.cmake +++ b/build_files/build_environment/cmake/clang.cmake @@ -17,47 +17,47 @@ # ***** END GPL LICENSE BLOCK ***** set(CLANG_EXTRA_ARGS - -DCLANG_PATH_TO_LLVM_SOURCE=${BUILD_DIR}/ll/src/ll - -DCLANG_PATH_TO_LLVM_BUILD=${LIBDIR}/llvm - -DLLVM_USE_CRT_RELEASE=MT - -DLLVM_USE_CRT_DEBUG=MTd - -DLLVM_CONFIG=${LIBDIR}/llvm/bin/llvm-config + -DCLANG_PATH_TO_LLVM_SOURCE=${BUILD_DIR}/ll/src/ll + -DCLANG_PATH_TO_LLVM_BUILD=${LIBDIR}/llvm + -DLLVM_USE_CRT_RELEASE=MT + -DLLVM_USE_CRT_DEBUG=MTd + -DLLVM_CONFIG=${LIBDIR}/llvm/bin/llvm-config ) if(WIN32) - set(CLANG_GENERATOR "Ninja") + set(CLANG_GENERATOR "Ninja") else() - set(CLANG_GENERATOR "Unix Makefiles") + set(CLANG_GENERATOR "Unix Makefiles") endif() ExternalProject_Add(external_clang - URL ${CLANG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${CLANG_HASH} - PREFIX ${BUILD_DIR}/clang - CMAKE_GENERATOR ${CLANG_GENERATOR} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clang ${DEFAULT_CMAKE_FLAGS} ${CLANG_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/clang + URL ${CLANG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${CLANG_HASH} + PREFIX ${BUILD_DIR}/clang + CMAKE_GENERATOR ${CLANG_GENERATOR} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clang ${DEFAULT_CMAKE_FLAGS} ${CLANG_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/clang ) if(MSVC) - if(BUILD_MODE STREQUAL Release) - set(CLANG_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/ ${HARVEST_TARGET}/llvm/) - else() - set(CLANG_HARVEST_COMMAND - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/bin/ ${HARVEST_TARGET}/llvm/debug/bin/ && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/include/ ${HARVEST_TARGET}/llvm/debug/include/ - ) - endif() - ExternalProject_Add_Step(external_clang after_install - COMMAND ${CLANG_HARVEST_COMMAND} - DEPENDEES mkdir update patch download configure build install - ) + if(BUILD_MODE STREQUAL Release) + set(CLANG_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/ ${HARVEST_TARGET}/llvm/) + else() + set(CLANG_HARVEST_COMMAND + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/bin/ ${HARVEST_TARGET}/llvm/debug/bin/ && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/include/ ${HARVEST_TARGET}/llvm/debug/include/ + ) + endif() + ExternalProject_Add_Step(external_clang after_install + COMMAND ${CLANG_HARVEST_COMMAND} + DEPENDEES mkdir update patch download configure build install + ) endif() add_dependencies( - external_clang - ll + external_clang + ll ) diff --git a/build_files/build_environment/cmake/clew.cmake b/build_files/build_environment/cmake/clew.cmake index 0dcc1f24db7..ecc0f5ae4b6 100644 --- a/build_files/build_environment/cmake/clew.cmake +++ b/build_files/build_environment/cmake/clew.cmake @@ -19,10 +19,10 @@ set(CLEW_EXTRA_ARGS) ExternalProject_Add(external_clew - URL ${CLEW_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${CLEW_HASH} - PREFIX ${BUILD_DIR}/clew - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CLEW_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/clew + URL ${CLEW_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${CLEW_HASH} + PREFIX ${BUILD_DIR}/clew + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CLEW_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/clew ) diff --git a/build_files/build_environment/cmake/cuew.cmake b/build_files/build_environment/cmake/cuew.cmake index 99b7bb5c06d..bd0843b8940 100644 --- a/build_files/build_environment/cmake/cuew.cmake +++ b/build_files/build_environment/cmake/cuew.cmake @@ -19,11 +19,11 @@ set(CUEW_EXTRA_ARGS) ExternalProject_Add(external_cuew - URL ${CUEW_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${CUEW_HASH} - PREFIX ${BUILD_DIR}/cuew - PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/cuew/src/external_cuew < ${PATCH_DIR}/cuew.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/cuew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CUEW_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/cuew + URL ${CUEW_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${CUEW_HASH} + PREFIX ${BUILD_DIR}/cuew + PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/cuew/src/external_cuew < ${PATCH_DIR}/cuew.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/cuew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CUEW_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/cuew ) diff --git a/build_files/build_environment/cmake/embree.cmake b/build_files/build_environment/cmake/embree.cmake index 8c523e25f0c..2dd42614cc0 100644 --- a/build_files/build_environment/cmake/embree.cmake +++ b/build_files/build_environment/cmake/embree.cmake @@ -20,50 +20,50 @@ # library itself does not depend on them, so should give no problems. set(EMBREE_EXTRA_ARGS - -DEMBREE_ISPC_SUPPORT=OFF - -DEMBREE_TUTORIALS=OFF - -DEMBREE_STATIC_LIB=ON - -DEMBREE_RAY_MASK=ON - -DEMBREE_FILTER_FUNCTION=ON - -DEMBREE_BACKFACE_CULLING=OFF - -DEMBREE_TASKING_SYSTEM=INTERNAL - -DEMBREE_MAX_ISA=AVX2 + -DEMBREE_ISPC_SUPPORT=OFF + -DEMBREE_TUTORIALS=OFF + -DEMBREE_STATIC_LIB=ON + -DEMBREE_RAY_MASK=ON + -DEMBREE_FILTER_FUNCTION=ON + -DEMBREE_BACKFACE_CULLING=OFF + -DEMBREE_TASKING_SYSTEM=INTERNAL + -DEMBREE_MAX_ISA=AVX2 ) if(WIN32) - set(EMBREE_BUILD_DIR ${BUILD_MODE}/) + set(EMBREE_BUILD_DIR ${BUILD_MODE}/) else() - set(EMBREE_BUILD_DIR) + set(EMBREE_BUILD_DIR) endif() ExternalProject_Add(external_embree - URL ${EMBREE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${EMBREE_HASH} - PREFIX ${BUILD_DIR}/embree - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/embree + URL ${EMBREE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${EMBREE_HASH} + PREFIX ${BUILD_DIR}/embree + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/embree ) if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_embree after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/embree ${HARVEST_TARGET}/embree - DEPENDEES install - ) - else() - ExternalProject_Add_Step(external_embree after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree3.lib ${HARVEST_TARGET}/embree/lib/embree3_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_avx.lib ${HARVEST_TARGET}/embree/lib/embree_avx_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_avx2.lib ${HARVEST_TARGET}/embree/lib/embree_avx2_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_sse42.lib ${HARVEST_TARGET}/embree/lib/embree_sse42_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/lexers.lib ${HARVEST_TARGET}/embree/lib/lexers_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/math.lib ${HARVEST_TARGET}/embree/lib/math_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/simd.lib ${HARVEST_TARGET}/embree/lib/simd_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/sys.lib ${HARVEST_TARGET}/embree/lib/sys_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/tasking.lib ${HARVEST_TARGET}/embree/lib/tasking_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_embree after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/embree ${HARVEST_TARGET}/embree + DEPENDEES install + ) + else() + ExternalProject_Add_Step(external_embree after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree3.lib ${HARVEST_TARGET}/embree/lib/embree3_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_avx.lib ${HARVEST_TARGET}/embree/lib/embree_avx_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_avx2.lib ${HARVEST_TARGET}/embree/lib/embree_avx2_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_sse42.lib ${HARVEST_TARGET}/embree/lib/embree_sse42_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/lexers.lib ${HARVEST_TARGET}/embree/lib/lexers_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/math.lib ${HARVEST_TARGET}/embree/lib/math_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/simd.lib ${HARVEST_TARGET}/embree/lib/simd_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/sys.lib ${HARVEST_TARGET}/embree/lib/sys_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/tasking.lib ${HARVEST_TARGET}/embree/lib/tasking_d.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/faad.cmake b/build_files/build_environment/cmake/faad.cmake index df940c423a3..0746fbdab71 100644 --- a/build_files/build_environment/cmake/faad.cmake +++ b/build_files/build_environment/cmake/faad.cmake @@ -19,22 +19,22 @@ set(FAAD_EXTRA_ARGS) if (WIN32) - set(FAAD_EXTRA_CONFIGURE "utils\\win32\\ac2ver.exe" "faad2" "configure.ac" > libfaad\\win32_ver.h) + set(FAAD_EXTRA_CONFIGURE "utils\\win32\\ac2ver.exe" "faad2" "configure.ac" > libfaad\\win32_ver.h) else() - set(FAAD_EXTRA_CONFIGURE echo .) + set(FAAD_EXTRA_CONFIGURE echo .) endif() ExternalProject_Add(external_faad - URL ${FAAD_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${FAAD_HASH} - PREFIX ${BUILD_DIR}/faad - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && ${FAAD_EXTRA_CONFIGURE} && ${CONFIGURE_COMMAND} --disable-shared --enable-static --prefix=${LIBDIR}/faad - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && make install - INSTALL_DIR ${LIBDIR}/faad + URL ${FAAD_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${FAAD_HASH} + PREFIX ${BUILD_DIR}/faad + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && ${FAAD_EXTRA_CONFIGURE} && ${CONFIGURE_COMMAND} --disable-shared --enable-static --prefix=${LIBDIR}/faad + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/faad/src/external_faad/ && make install + INSTALL_DIR ${LIBDIR}/faad ) if(MSVC) - set_target_properties(external_faad PROPERTIES FOLDER Mingw) + set_target_properties(external_faad PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/ffi.cmake b/build_files/build_environment/cmake/ffi.cmake index bc0932022cb..aec9f5bc3b3 100644 --- a/build_files/build_environment/cmake/ffi.cmake +++ b/build_files/build_environment/cmake/ffi.cmake @@ -17,24 +17,24 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_ffi - URL ${FFI_URI} - URL_HASH SHA256=${FFI_HASH} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - PREFIX ${BUILD_DIR}/ffi - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ffi - --enable-shared=no - --enable-static=yes - --with-pic - --libdir=${LIBDIR}/ffi/lib/ - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make install - PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/ffi/src/external_ffi < ${PATCH_DIR}/ffi.diff - INSTALL_DIR ${LIBDIR}/ffi + URL ${FFI_URI} + URL_HASH SHA256=${FFI_HASH} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + PREFIX ${BUILD_DIR}/ffi + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ffi + --enable-shared=no + --enable-static=yes + --with-pic + --libdir=${LIBDIR}/ffi/lib/ + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make install + PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/ffi/src/external_ffi < ${PATCH_DIR}/ffi.diff + INSTALL_DIR ${LIBDIR}/ffi ) if (UNIX AND NOT APPLE) - ExternalProject_Add_Step(external_ffi after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/ffi/lib/libffi.a ${LIBDIR}/ffi/lib/libffi_pic.a - DEPENDEES install - ) + ExternalProject_Add_Step(external_ffi after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/ffi/lib/libffi.a ${LIBDIR}/ffi/lib/libffi_pic.a + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/ffmpeg.cmake b/build_files/build_environment/cmake/ffmpeg.cmake index 2a8e3fd5d33..27d817e8948 100644 --- a/build_files/build_environment/cmake/ffmpeg.cmake +++ b/build_files/build_environment/cmake/ffmpeg.cmake @@ -22,131 +22,131 @@ set(FFMPEG_EXTRA_FLAGS --pkg-config-flags=--static --extra-cflags=${FFMPEG_CFLAG set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}) if(WIN32) - set(FFMPEG_ENV set ${FFMPEG_ENV} &&) - set(FFMPEG_EXTRA_FLAGS - ${FFMPEG_EXTRA_FLAGS} - --disable-static - --enable-shared - --enable-w32threads - --disable-pthreads - --enable-libopenjpeg - ) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") - set(FFMPEG_EXTRA_FLAGS - ${FFMPEG_EXTRA_FLAGS} - --x86asmexe=yasm - ) - endif() + set(FFMPEG_ENV set ${FFMPEG_ENV} &&) + set(FFMPEG_EXTRA_FLAGS + ${FFMPEG_EXTRA_FLAGS} + --disable-static + --enable-shared + --enable-w32threads + --disable-pthreads + --enable-libopenjpeg + ) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") + set(FFMPEG_EXTRA_FLAGS + ${FFMPEG_EXTRA_FLAGS} + --x86asmexe=yasm + ) + endif() else() - set(FFMPEG_EXTRA_FLAGS - ${FFMPEG_EXTRA_FLAGS} - --enable-static - --disable-shared - --enable-libopenjpeg - ) + set(FFMPEG_EXTRA_FLAGS + ${FFMPEG_EXTRA_FLAGS} + --enable-static + --disable-shared + --enable-libopenjpeg + ) endif() if(APPLE) - set(FFMPEG_EXTRA_FLAGS - ${FFMPEG_EXTRA_FLAGS} - --target-os=darwin - ) + set(FFMPEG_EXTRA_FLAGS + ${FFMPEG_EXTRA_FLAGS} + --target-os=darwin + ) endif() ExternalProject_Add(external_ffmpeg - URL ${FFMPEG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${FFMPEG_HASH} - # OpenJpeg is compiled with pthread support on Linux, which is all fine and is what we - # want for maximum runtime performance, but due to static nature of that library we - # need to force ffmpeg to link against pthread, otherwise test program used by autoconf - # will fail. This patch does that in a way that is compatible with multiple distributions. - PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/ffmpeg/src/external_ffmpeg < ${PATCH_DIR}/ffmpeg.diff - PREFIX ${BUILD_DIR}/ffmpeg - CONFIGURE_COMMAND ${CONFIGURE_ENV_NO_PERL} && - cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && - ${FFMPEG_ENV} ${CONFIGURE_COMMAND_NO_TARGET} ${FFMPEG_EXTRA_FLAGS} - --disable-lzma - --disable-avfilter - --disable-vdpau - --disable-bzlib - --disable-libgsm - --disable-libspeex - --enable-libvpx - --prefix=${LIBDIR}/ffmpeg - --enable-libtheora - --enable-libvorbis - --enable-zlib - --enable-stripping - --enable-runtime-cpudetect - --disable-vaapi - --disable-nonfree - --enable-gpl - --disable-postproc - --enable-libmp3lame - --disable-librtmp - --enable-libx264 - --enable-libxvid - --disable-libopencore-amrnb - --disable-libopencore-amrwb - --disable-libdc1394 - --disable-version3 - --disable-debug - --enable-optimizations - --disable-sse - --disable-ssse3 - --enable-ffplay - --disable-openssl - --disable-securetransport - --disable-indev=avfoundation - --disable-indev=qtkit - --disable-sdl2 - --disable-gnutls - --disable-videotoolbox - --disable-libxcb - --disable-xlib - --disable-audiotoolbox - --disable-cuvid - --disable-nvenc - --disable-indev=jack - --disable-indev=alsa - --disable-outdev=alsa - --disable-crystalhd - --disable-sndio - BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make install - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ffmpeg ${DEFAULT_CMAKE_FLAGS} - INSTALL_DIR ${LIBDIR}/ffmpeg + URL ${FFMPEG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${FFMPEG_HASH} + # OpenJpeg is compiled with pthread support on Linux, which is all fine and is what we + # want for maximum runtime performance, but due to static nature of that library we + # need to force ffmpeg to link against pthread, otherwise test program used by autoconf + # will fail. This patch does that in a way that is compatible with multiple distributions. + PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/ffmpeg/src/external_ffmpeg < ${PATCH_DIR}/ffmpeg.diff + PREFIX ${BUILD_DIR}/ffmpeg + CONFIGURE_COMMAND ${CONFIGURE_ENV_NO_PERL} && + cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && + ${FFMPEG_ENV} ${CONFIGURE_COMMAND_NO_TARGET} ${FFMPEG_EXTRA_FLAGS} + --disable-lzma + --disable-avfilter + --disable-vdpau + --disable-bzlib + --disable-libgsm + --disable-libspeex + --enable-libvpx + --prefix=${LIBDIR}/ffmpeg + --enable-libtheora + --enable-libvorbis + --enable-zlib + --enable-stripping + --enable-runtime-cpudetect + --disable-vaapi + --disable-nonfree + --enable-gpl + --disable-postproc + --enable-libmp3lame + --disable-librtmp + --enable-libx264 + --enable-libxvid + --disable-libopencore-amrnb + --disable-libopencore-amrwb + --disable-libdc1394 + --disable-version3 + --disable-debug + --enable-optimizations + --disable-sse + --disable-ssse3 + --enable-ffplay + --disable-openssl + --disable-securetransport + --disable-indev=avfoundation + --disable-indev=qtkit + --disable-sdl2 + --disable-gnutls + --disable-videotoolbox + --disable-libxcb + --disable-xlib + --disable-audiotoolbox + --disable-cuvid + --disable-nvenc + --disable-indev=jack + --disable-indev=alsa + --disable-outdev=alsa + --disable-crystalhd + --disable-sndio + BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make install + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ffmpeg ${DEFAULT_CMAKE_FLAGS} + INSTALL_DIR ${LIBDIR}/ffmpeg ) if(MSVC) - set_target_properties(external_ffmpeg PROPERTIES FOLDER Mingw) + set_target_properties(external_ffmpeg PROPERTIES FOLDER Mingw) endif() add_dependencies( - external_ffmpeg - external_zlib - external_faad - external_openjpeg - external_xvidcore - external_x264 - external_vpx - external_theora - external_vorbis - external_ogg - external_lame + external_ffmpeg + external_zlib + external_faad + external_openjpeg + external_xvidcore + external_x264 + external_vpx + external_theora + external_vorbis + external_ogg + external_lame ) if(WIN32) - add_dependencies( - external_ffmpeg - external_zlib_mingw - ) + add_dependencies( + external_ffmpeg + external_zlib_mingw + ) endif() if(BUILD_MODE STREQUAL Release AND WIN32) - ExternalProject_Add_Step(external_ffmpeg after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ffmpeg/include ${HARVEST_TARGET}/ffmpeg/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ffmpeg/bin ${HARVEST_TARGET}/ffmpeg/lib - DEPENDEES install - ) + ExternalProject_Add_Step(external_ffmpeg after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ffmpeg/include ${HARVEST_TARGET}/ffmpeg/include + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ffmpeg/bin ${HARVEST_TARGET}/ffmpeg/lib + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/fftw.cmake b/build_files/build_environment/cmake/fftw.cmake index d85d7bc7538..2d10cf6ad28 100644 --- a/build_files/build_environment/cmake/fftw.cmake +++ b/build_files/build_environment/cmake/fftw.cmake @@ -19,29 +19,29 @@ set(FFTW_EXTRA_ARGS) if(WIN32) - set(FFTW3_ENV set CFLAGS=-fno-stack-check -fno-stack-protector -mno-stack-arg-probe -fno-lto &&) - set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff) + set(FFTW3_ENV set CFLAGS=-fno-stack-check -fno-stack-protector -mno-stack-arg-probe -fno-lto &&) + set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff) endif() ExternalProject_Add(external_fftw3 - URL ${FFTW_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${FFTW_HASH} - PREFIX ${BUILD_DIR}/fftw3 - CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${FFTW3_ENV} cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/fftw3 - PATCH_COMMAND ${FFTW3_PATCH_COMMAND} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make install - INSTALL_DIR ${LIBDIR}/fftw3 + URL ${FFTW_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${FFTW_HASH} + PREFIX ${BUILD_DIR}/fftw3 + CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${FFTW3_ENV} cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/fftw3 + PATCH_COMMAND ${FFTW3_PATCH_COMMAND} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make install + INSTALL_DIR ${LIBDIR}/fftw3 ) if(MSVC) - set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_fftw3 after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h - DEPENDEES install - ) - endif() + set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw) + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_fftw3 after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/flac.cmake b/build_files/build_environment/cmake/flac.cmake index f5ef5809b40..2cc9a02fe3b 100644 --- a/build_files/build_environment/cmake/flac.cmake +++ b/build_files/build_environment/cmake/flac.cmake @@ -17,16 +17,16 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_flac - URL ${FLAC_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${FLAC_HASH} - PREFIX ${BUILD_DIR}/flac - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flac --disable-shared --enable-static - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && make install - INSTALL_DIR ${LIBDIR}/flac + URL ${FLAC_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${FLAC_HASH} + PREFIX ${BUILD_DIR}/flac + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flac --disable-shared --enable-static + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && make install + INSTALL_DIR ${LIBDIR}/flac ) if(MSVC) - set_target_properties(external_flac PROPERTIES FOLDER Mingw) + set_target_properties(external_flac PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/flexbison.cmake b/build_files/build_environment/cmake/flexbison.cmake index f2908e1ce2c..d4363eb07e1 100644 --- a/build_files/build_environment/cmake/flexbison.cmake +++ b/build_files/build_environment/cmake/flexbison.cmake @@ -19,13 +19,13 @@ set(FLEXBISON_EXTRA_ARGS) ExternalProject_Add(external_flexbison - URL ${FLEXBISON_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${FLEXBISON_HASH} - PREFIX ${BUILD_DIR}/flexbison - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/flexbison ${DEFAULT_CMAKE_FLAGS} ${FLEXBISON_EXTRA_ARGS} - CONFIGURE_COMMAND echo . - BUILD_COMMAND echo . - INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/flexbison/src/external_flexbison/ ${LIBDIR}/flexbison/ - INSTALL_DIR ${LIBDIR}/flexbison + URL ${FLEXBISON_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${FLEXBISON_HASH} + PREFIX ${BUILD_DIR}/flexbison + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/flexbison ${DEFAULT_CMAKE_FLAGS} ${FLEXBISON_EXTRA_ARGS} + CONFIGURE_COMMAND echo . + BUILD_COMMAND echo . + INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/flexbison/src/external_flexbison/ ${LIBDIR}/flexbison/ + INSTALL_DIR ${LIBDIR}/flexbison ) diff --git a/build_files/build_environment/cmake/freeglut.cmake b/build_files/build_environment/cmake/freeglut.cmake index 043b382e8fd..39b09f92630 100644 --- a/build_files/build_environment/cmake/freeglut.cmake +++ b/build_files/build_environment/cmake/freeglut.cmake @@ -17,19 +17,19 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - if(BUILD_MODE STREQUAL Release) - set(FREEGLUT_EXTRA_ARGS - -DFREEGLUT_BUILD_SHARED_LIBS=Off - -DFREEGLUT_BUILD_STATIC_LIBS=On - ) + if(BUILD_MODE STREQUAL Release) + set(FREEGLUT_EXTRA_ARGS + -DFREEGLUT_BUILD_SHARED_LIBS=Off + -DFREEGLUT_BUILD_STATIC_LIBS=On + ) - ExternalProject_Add(external_freeglut - URL ${FREEGLUT_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${FREEGLUT_HASH} - PREFIX ${BUILD_DIR}/freeglut - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freeglut ${DEFAULT_C_FLAGS} ${DEFAULT_CXX_FLAGS} ${FREEGLUT_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/freeglut - ) - endif() + ExternalProject_Add(external_freeglut + URL ${FREEGLUT_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${FREEGLUT_HASH} + PREFIX ${BUILD_DIR}/freeglut + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freeglut ${DEFAULT_C_FLAGS} ${DEFAULT_CXX_FLAGS} ${FREEGLUT_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/freeglut + ) + endif() endif() diff --git a/build_files/build_environment/cmake/freetype.cmake b/build_files/build_environment/cmake/freetype.cmake index 1034e9f2029..f998c94706f 100644 --- a/build_files/build_environment/cmake/freetype.cmake +++ b/build_files/build_environment/cmake/freetype.cmake @@ -17,28 +17,28 @@ # ***** END GPL LICENSE BLOCK ***** set(FREETYPE_EXTRA_ARGS - -DCMAKE_RELEASE_POSTFIX:STRING=2ST - -DCMAKE_DEBUG_POSTFIX:STRING=2ST_d - -DWITH_BZip2=OFF - -DWITH_HarfBuzz=OFF - -DFT_WITH_HARFBUZZ=OFF - -DFT_WITH_BZIP2=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE - -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE) + -DCMAKE_RELEASE_POSTFIX:STRING=2ST + -DCMAKE_DEBUG_POSTFIX:STRING=2ST_d + -DWITH_BZip2=OFF + -DWITH_HarfBuzz=OFF + -DFT_WITH_HARFBUZZ=OFF + -DFT_WITH_BZIP2=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE) ExternalProject_Add(external_freetype - URL ${FREETYPE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${FREETYPE_HASH} - PREFIX ${BUILD_DIR}/freetype - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freetype ${DEFAULT_CMAKE_FLAGS} ${FREETYPE_EXTRA_ARGS} - PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/freetype/src/external_freetype < ${PATCH_DIR}/freetype.diff - INSTALL_DIR ${LIBDIR}/freetype + URL ${FREETYPE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${FREETYPE_HASH} + PREFIX ${BUILD_DIR}/freetype + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freetype ${DEFAULT_CMAKE_FLAGS} ${FREETYPE_EXTRA_ARGS} + PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/freetype/src/external_freetype < ${PATCH_DIR}/freetype.diff + INSTALL_DIR ${LIBDIR}/freetype ) if(BUILD_MODE STREQUAL Release AND WIN32) - ExternalProject_Add_Step(external_freetype after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype - DEPENDEES install - ) + ExternalProject_Add_Step(external_freetype after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/glew.cmake b/build_files/build_environment/cmake/glew.cmake index b5d9e4d3310..2f8b88e8ddf 100644 --- a/build_files/build_environment/cmake/glew.cmake +++ b/build_files/build_environment/cmake/glew.cmake @@ -17,16 +17,16 @@ # ***** END GPL LICENSE BLOCK ***** set(GLEW_EXTRA_ARGS - -DBUILD_UTILS=Off - -DBUILD_SHARED_LIBS=Off + -DBUILD_UTILS=Off + -DBUILD_SHARED_LIBS=Off ) ExternalProject_Add(external_glew - URL ${GLEW_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${GLEW_HASH} - PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_glew.txt ${BUILD_DIR}/glew/src/external_glew/CMakeLists.txt - PREFIX ${BUILD_DIR}/glew - CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glew ${DEFAULT_CMAKE_FLAGS} ${GLEW_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/glew + URL ${GLEW_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${GLEW_HASH} + PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_glew.txt ${BUILD_DIR}/glew/src/external_glew/CMakeLists.txt + PREFIX ${BUILD_DIR}/glew + CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glew ${DEFAULT_CMAKE_FLAGS} ${GLEW_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/glew ) diff --git a/build_files/build_environment/cmake/glfw.cmake b/build_files/build_environment/cmake/glfw.cmake index ae80080525c..3a61c195ad6 100644 --- a/build_files/build_environment/cmake/glfw.cmake +++ b/build_files/build_environment/cmake/glfw.cmake @@ -19,10 +19,10 @@ set(GLFW_EXTRA_ARGS) ExternalProject_Add(external_glfw - URL ${GLFW_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${GLFW_HASH} - PREFIX ${BUILD_DIR}/glfw - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glfw -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${GLFW_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/glfw + URL ${GLFW_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${GLFW_HASH} + PREFIX ${BUILD_DIR}/glfw + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glfw -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${GLFW_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/glfw ) diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake index 0e98780e3f0..27bcd184c44 100644 --- a/build_files/build_environment/cmake/harvest.cmake +++ b/build_files/build_environment/cmake/harvest.cmake @@ -21,90 +21,90 @@ ######################################################################## if(NOT DEFINED HARVEST_TARGET) - set(HARVEST_TARGET ${CMAKE_CURRENT_SOURCE_DIR}/Harvest) + set(HARVEST_TARGET ${CMAKE_CURRENT_SOURCE_DIR}/Harvest) endif() message("HARVEST_TARGET = ${HARVEST_TARGET}") if(WIN32) if(BUILD_MODE STREQUAL Release) - add_custom_target(Harvest_Release_Results - COMMAND # jpeg rename libfile + copy include - ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ && - # OpenImageIO - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib && - ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe && - # png - ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ && - # freeglut-> opengl - ${CMAKE_COMMAND} -E copy ${LIBDIR}/freeglut/lib/freeglut_static.lib ${HARVEST_TARGET}/opengl/lib/freeglut_static.lib && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freeglut/include/ ${HARVEST_TARGET}/opengl/include/ && - # glew-> opengl - ${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ && - # sndfile - ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/lib/libsndfile.dll.a ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib && - ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll && - ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h && - # tiff - ${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/ && - # BlendThumb - ${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb64/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb64.dll && - ${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb32/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb.dll && - # hidapi - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hidapi/ ${HARVEST_TARGET}/hidapi/ && - # webp, straight up copy - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/webp ${HARVEST_TARGET}/webp && - DEPENDS - ) + add_custom_target(Harvest_Release_Results + COMMAND # jpeg rename libfile + copy include + ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ && + # OpenImageIO + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib && + ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe && + # png + ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ && + # freeglut-> opengl + ${CMAKE_COMMAND} -E copy ${LIBDIR}/freeglut/lib/freeglut_static.lib ${HARVEST_TARGET}/opengl/lib/freeglut_static.lib && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freeglut/include/ ${HARVEST_TARGET}/opengl/include/ && + # glew-> opengl + ${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ && + # sndfile + ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/lib/libsndfile.dll.a ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib && + ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll && + ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h && + # tiff + ${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/ && + # BlendThumb + ${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb64/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb64.dll && + ${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb32/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb.dll && + # hidapi + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hidapi/ ${HARVEST_TARGET}/hidapi/ && + # webp, straight up copy + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/webp ${HARVEST_TARGET}/webp && + DEPENDS + ) endif() if(BUILD_MODE STREQUAL Debug) - add_custom_target(Harvest_Debug_Results - # OpenImageIO - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib && - ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib && - # python - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ && - # hdf5 - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hdf5/lib ${HARVEST_TARGET}/hdf5/lib && - # numpy - ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}d.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}d.tar.gz && - # python - ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz - DEPENDS Package_Python - ) + add_custom_target(Harvest_Debug_Results + # OpenImageIO + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib && + ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib && + # python + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ && + # hdf5 + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hdf5/lib ${HARVEST_TARGET}/hdf5/lib && + # numpy + ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}d.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}d.tar.gz && + # python + ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz + DEPENDS Package_Python + ) endif() else(WIN32) function(harvest from to) - set(pattern "") - foreach(f ${ARGN}) - set(pattern ${f}) - endforeach() + set(pattern "") + foreach(f ${ARGN}) + set(pattern ${f}) + endforeach() - if(pattern STREQUAL "") - get_filename_component(dirpath ${to} DIRECTORY) - get_filename_component(filename ${to} NAME) - install( - FILES ${LIBDIR}/${from} - DESTINATION ${HARVEST_TARGET}/${dirpath} - RENAME ${filename}) - else() - install( - DIRECTORY ${LIBDIR}/${from}/ - DESTINATION ${HARVEST_TARGET}/${to} - USE_SOURCE_PERMISSIONS - FILES_MATCHING PATTERN ${pattern} - PATTERN "pkgconfig" EXCLUDE - PATTERN "cmake" EXCLUDE - PATTERN "__pycache__" EXCLUDE - PATTERN "tests" EXCLUDE) - endif() + if(pattern STREQUAL "") + get_filename_component(dirpath ${to} DIRECTORY) + get_filename_component(filename ${to} NAME) + install( + FILES ${LIBDIR}/${from} + DESTINATION ${HARVEST_TARGET}/${dirpath} + RENAME ${filename}) + else() + install( + DIRECTORY ${LIBDIR}/${from}/ + DESTINATION ${HARVEST_TARGET}/${to} + USE_SOURCE_PERMISSIONS + FILES_MATCHING PATTERN ${pattern} + PATTERN "pkgconfig" EXCLUDE + PATTERN "cmake" EXCLUDE + PATTERN "__pycache__" EXCLUDE + PATTERN "tests" EXCLUDE) + endif() endfunction() harvest(alembic/include alembic/include "*.h") @@ -134,25 +134,25 @@ harvest(llvm/include llvm/include "*") harvest(llvm/bin llvm/bin "llvm-config") harvest(llvm/lib llvm/lib "libLLVM*.a") if(APPLE) - harvest(openmp/lib openmp/lib "*") - harvest(openmp/include openmp/include "*.h") + harvest(openmp/lib openmp/lib "*") + harvest(openmp/include openmp/include "*.h") endif() harvest(ogg/lib ffmpeg/lib "*.a") harvest(openal/include openal/include "*.h") if(UNIX AND NOT APPLE) - harvest(openal/lib openal/lib "*.a") + harvest(openal/lib openal/lib "*.a") - harvest(blosc/include blosc/include "*.h") - harvest(blosc/lib blosc/lib "*.a") + harvest(blosc/include blosc/include "*.h") + harvest(blosc/lib blosc/lib "*.a") - harvest(zlib/include zlib/include "*.h") - harvest(zlib/lib zlib/lib "*.a") + harvest(zlib/include zlib/include "*.h") + harvest(zlib/lib zlib/lib "*.a") - harvest(xml2/include xml2/include "*.h") - harvest(xml2/lib xml2/lib "*.a") + harvest(xml2/include xml2/include "*.h") + harvest(xml2/lib xml2/lib "*.a") else() - harvest(blosc/lib openvdb/lib "*.a") - harvest(xml2/lib opencollada/lib "*.a") + harvest(blosc/lib openvdb/lib "*.a") + harvest(xml2/lib opencollada/lib "*.a") endif() harvest(opencollada/include/opencollada opencollada/include "*.h") harvest(opencollada/lib/opencollada opencollada/lib "*.a") diff --git a/build_files/build_environment/cmake/hdf5.cmake b/build_files/build_environment/cmake/hdf5.cmake index 63ad14761da..e28903059f2 100644 --- a/build_files/build_environment/cmake/hdf5.cmake +++ b/build_files/build_environment/cmake/hdf5.cmake @@ -17,26 +17,26 @@ # ***** END GPL LICENSE BLOCK ***** set(HDF5_EXTRA_ARGS - -DHDF5_ENABLE_THREADSAFE=Off - -DHDF5_BUILD_CPP_LIB=Off - -DBUILD_TESTING=Off - -DHDF5_BUILD_TOOLS=Off - -DHDF5_BUILD_EXAMPLES=Off - -DHDF5_BUILD_HL_LIB=On - -DBUILD_STATIC_CRT_LIBS=On - -DBUILD_SHARED_LIBS=On + -DHDF5_ENABLE_THREADSAFE=Off + -DHDF5_BUILD_CPP_LIB=Off + -DBUILD_TESTING=Off + -DHDF5_BUILD_TOOLS=Off + -DHDF5_BUILD_EXAMPLES=Off + -DHDF5_BUILD_HL_LIB=On + -DBUILD_STATIC_CRT_LIBS=On + -DBUILD_SHARED_LIBS=On ) if(WIN32) - set(HDF5_PATCH ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/hdf5/src/external_hdf5 < ${PATCH_DIR}/hdf5.diff) + set(HDF5_PATCH ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/hdf5/src/external_hdf5 < ${PATCH_DIR}/hdf5.diff) endif() ExternalProject_Add(external_hdf5 - URL ${HDF5_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${HDF5_HASH} - PREFIX ${BUILD_DIR}/hdf5 - PATCH_COMMAND ${HDF5_PATCH} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hdf5 ${HDF5_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/hdf5 + URL ${HDF5_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${HDF5_HASH} + PREFIX ${BUILD_DIR}/hdf5 + PATCH_COMMAND ${HDF5_PATCH} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hdf5 ${HDF5_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/hdf5 ) diff --git a/build_files/build_environment/cmake/hidapi.cmake b/build_files/build_environment/cmake/hidapi.cmake index cfa4cc53d2d..9a3d2ebf8df 100644 --- a/build_files/build_environment/cmake/hidapi.cmake +++ b/build_files/build_environment/cmake/hidapi.cmake @@ -19,11 +19,11 @@ set(HIDAPI_EXTRA_ARGS) ExternalProject_Add(external_hidapi - URL ${HIDAPI_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${HIDAPI_HASH} - PREFIX ${BUILD_DIR}/hidapi - PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_hidapi.txt ${BUILD_DIR}/hidapi/src/external_hidapi/cmakelists.txt && ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/hidapi/src/external_hidapi < ${PATCH_DIR}/hidapi.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hidapi -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${HIDAPI_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/hidapi + URL ${HIDAPI_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${HIDAPI_HASH} + PREFIX ${BUILD_DIR}/hidapi + PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_hidapi.txt ${BUILD_DIR}/hidapi/src/external_hidapi/cmakelists.txt && ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/hidapi/src/external_hidapi < ${PATCH_DIR}/hidapi.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/hidapi -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${HIDAPI_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/hidapi ) diff --git a/build_files/build_environment/cmake/iconv.cmake b/build_files/build_environment/cmake/iconv.cmake index 18f8f60b4f5..5be677392e6 100644 --- a/build_files/build_environment/cmake/iconv.cmake +++ b/build_files/build_environment/cmake/iconv.cmake @@ -19,23 +19,23 @@ set(ICONV_EXTRA_ARGS) ExternalProject_Add(external_iconv - URL ${ICONV_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${ICONV_HASH} - PREFIX ${BUILD_DIR}/iconv - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/iconv - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && make install - INSTALL_DIR ${LIBDIR}/iconv + URL ${ICONV_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${ICONV_HASH} + PREFIX ${BUILD_DIR}/iconv + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/iconv + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && make install + INSTALL_DIR ${LIBDIR}/iconv ) if(MSVC) - set_target_properties(external_iconv PROPERTIES FOLDER Mingw) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_iconv after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/iconv/lib/libiconv.a ${HARVEST_TARGET}/iconv/lib/iconv.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/iconv/include/iconv.h ${HARVEST_TARGET}/iconv/include/iconv.h - DEPENDEES install - ) - endif() + set_target_properties(external_iconv PROPERTIES FOLDER Mingw) + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_iconv after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/iconv/lib/libiconv.a ${HARVEST_TARGET}/iconv/lib/iconv.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/iconv/include/iconv.h ${HARVEST_TARGET}/iconv/include/iconv.h + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/ilmbase.cmake b/build_files/build_environment/cmake/ilmbase.cmake index 22be39c3ff1..97761b4ad49 100644 --- a/build_files/build_environment/cmake/ilmbase.cmake +++ b/build_files/build_environment/cmake/ilmbase.cmake @@ -17,42 +17,42 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(ILMBASE_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") - set(ILMBASE_EXTRA_ARGS - -DBUILD_SHARED_LIBS=OFF - -DCMAKE_CXX_STANDARD_LIBRARIES=${ILMBASE_CMAKE_CXX_STANDARD_LIBRARIES} - ) + set(ILMBASE_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") + set(ILMBASE_EXTRA_ARGS + -DBUILD_SHARED_LIBS=OFF + -DCMAKE_CXX_STANDARD_LIBRARIES=${ILMBASE_CMAKE_CXX_STANDARD_LIBRARIES} + ) - ExternalProject_Add(external_ilmbase - URL ${ILMBASE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${ILMBASE_HASH} - PREFIX ${BUILD_DIR}/ilmbase - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ilmbase ${DEFAULT_CMAKE_FLAGS} ${ILMBASE_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/openexr - ) + ExternalProject_Add(external_ilmbase + URL ${ILMBASE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${ILMBASE_HASH} + PREFIX ${BUILD_DIR}/ilmbase + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ilmbase ${DEFAULT_CMAKE_FLAGS} ${ILMBASE_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/openexr + ) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_ilmbase after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ilmbase ${HARVEST_TARGET}/openexr - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_ilmbase after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ilmbase ${HARVEST_TARGET}/openexr + DEPENDEES install + ) + endif() else() - set(ILMBASE_EXTRA_ARGS - --enable-static - --disable-shared - --enable-cxxstd=11 - ) - ExternalProject_Add(external_ilmbase - URL ${ILMBASE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${ILMBASE_HASH} - PREFIX ${BUILD_DIR}/ilmbase - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ilmbase ${ILMBASE_EXTRA_ARGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && make install - INSTALL_DIR ${LIBDIR}/openexr - ) + set(ILMBASE_EXTRA_ARGS + --enable-static + --disable-shared + --enable-cxxstd=11 + ) + ExternalProject_Add(external_ilmbase + URL ${ILMBASE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${ILMBASE_HASH} + PREFIX ${BUILD_DIR}/ilmbase + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ilmbase ${ILMBASE_EXTRA_ARGS} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ilmbase/src/external_ilmbase/ && make install + INSTALL_DIR ${LIBDIR}/openexr + ) endif() diff --git a/build_files/build_environment/cmake/jemalloc.cmake b/build_files/build_environment/cmake/jemalloc.cmake index c39ba448917..30f584ac2ee 100644 --- a/build_files/build_environment/cmake/jemalloc.cmake +++ b/build_files/build_environment/cmake/jemalloc.cmake @@ -17,12 +17,12 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_jemalloc - URL ${JEMALLOC_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${JEMALLOC_HASH} - PREFIX ${BUILD_DIR}/jemalloc - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jemalloc --disable-shared --enable-static --with-pic - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && make install - INSTALL_DIR ${LIBDIR}/jemalloc + URL ${JEMALLOC_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${JEMALLOC_HASH} + PREFIX ${BUILD_DIR}/jemalloc + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jemalloc --disable-shared --enable-static --with-pic + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && make install + INSTALL_DIR ${LIBDIR}/jemalloc ) diff --git a/build_files/build_environment/cmake/jpeg.cmake b/build_files/build_environment/cmake/jpeg.cmake index 9975bb9c4f6..47f526e3d29 100644 --- a/build_files/build_environment/cmake/jpeg.cmake +++ b/build_files/build_environment/cmake/jpeg.cmake @@ -17,49 +17,49 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - # cmake for windows - set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d) + # cmake for windows + set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d) - ExternalProject_Add(external_jpeg - URL ${JPEG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${JPEG_HASH} - PREFIX ${BUILD_DIR}/jpg - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/jpg - ) + ExternalProject_Add(external_jpeg + URL ${JPEG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${JPEG_HASH} + PREFIX ${BUILD_DIR}/jpg + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/jpg + ) - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_jpeg after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpegd${LIBEXT} ${LIBDIR}/jpg/lib/jpeg${LIBEXT} - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_jpeg after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpegd${LIBEXT} ${LIBDIR}/jpg/lib/jpeg${LIBEXT} + DEPENDEES install + ) + endif() - if(BUILD_MODE STREQUAL Release) - set(JPEG_LIBRARY jpeg-static${LIBEXT}) - else() - set(JPEG_LIBRARY jpeg-staticd${LIBEXT}) - endif() + if(BUILD_MODE STREQUAL Release) + set(JPEG_LIBRARY jpeg-static${LIBEXT}) + else() + set(JPEG_LIBRARY jpeg-staticd${LIBEXT}) + endif() else(WIN32) - # autoconf for unix - if(APPLE) - set(JPEG_EXTRA_ARGS --host x86_64-apple-darwin --with-jpeg8) - else() - set(JPEG_EXTRA_ARGS --with-jpeg8) - endif() + # autoconf for unix + if(APPLE) + set(JPEG_EXTRA_ARGS --host x86_64-apple-darwin --with-jpeg8) + else() + set(JPEG_EXTRA_ARGS --with-jpeg8) + endif() - ExternalProject_Add(external_jpeg - URL ${JPEG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${JPEG_HASH} - CONFIGURE_COMMAND ${CONFIGURE_ENV} && autoreconf -fiv && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jpg NASM=yasm ${JPEG_EXTRA_ARGS} - BUILD_IN_SOURCE 1 - BUILD_COMMAND ${CONFIGURE_ENV} && make install - PREFIX ${BUILD_DIR}/jpg - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/jpg - ) + ExternalProject_Add(external_jpeg + URL ${JPEG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${JPEG_HASH} + CONFIGURE_COMMAND ${CONFIGURE_ENV} && autoreconf -fiv && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jpg NASM=yasm ${JPEG_EXTRA_ARGS} + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${CONFIGURE_ENV} && make install + PREFIX ${BUILD_DIR}/jpg + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/jpg + ) - set(JPEG_LIBRARY libjpeg${LIBEXT}) + set(JPEG_LIBRARY libjpeg${LIBEXT}) endif(WIN32) diff --git a/build_files/build_environment/cmake/lame.cmake b/build_files/build_environment/cmake/lame.cmake index b7b9275bf5e..d60784e8a40 100644 --- a/build_files/build_environment/cmake/lame.cmake +++ b/build_files/build_environment/cmake/lame.cmake @@ -18,30 +18,30 @@ set(LAME_EXTRA_ARGS) if(MSVC) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") - set(LAME_EXTRA_ARGS CFLAGS=-msse) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") + set(LAME_EXTRA_ARGS CFLAGS=-msse) + endif() endif() ExternalProject_Add(external_lame - URL ${LAME_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${LAME_HASH} - PREFIX ${BUILD_DIR}/lame - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/lame --disable-shared --enable-static ${LAME_EXTRA_ARGS} - --enable-export=full - --with-fileio=sndfile - --without-vorbis - --with-pic - --disable-mp3x - --disable-mp3rtp - --disable-gtktest - --disable-frontend - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && make install - INSTALL_DIR ${LIBDIR}/lame + URL ${LAME_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${LAME_HASH} + PREFIX ${BUILD_DIR}/lame + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/lame --disable-shared --enable-static ${LAME_EXTRA_ARGS} + --enable-export=full + --with-fileio=sndfile + --without-vorbis + --with-pic + --disable-mp3x + --disable-mp3rtp + --disable-gtktest + --disable-frontend + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && make install + INSTALL_DIR ${LIBDIR}/lame ) if(MSVC) - set_target_properties(external_lame PROPERTIES FOLDER Mingw) + set_target_properties(external_lame PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/lcms.cmake b/build_files/build_environment/cmake/lcms.cmake index 852d2b8d04c..7e8f955aa58 100644 --- a/build_files/build_environment/cmake/lcms.cmake +++ b/build_files/build_environment/cmake/lcms.cmake @@ -20,12 +20,12 @@ set(LCMS_EXTRA_ARGS ) ExternalProject_Add(external_lcms - URL ${LCMS_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${LCMS_HASH} - PREFIX ${BUILD_DIR}/lcms - #patch taken from ocio - PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_lcms.txt ${BUILD_DIR}/lcms/src/external_lcms/CMakeLists.txt - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/lcms ${DEFAULT_CMAKE_FLAGS} ${LCMS_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/lcms + URL ${LCMS_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${LCMS_HASH} + PREFIX ${BUILD_DIR}/lcms + #patch taken from ocio + PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_lcms.txt ${BUILD_DIR}/lcms/src/external_lcms/CMakeLists.txt + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/lcms ${DEFAULT_CMAKE_FLAGS} ${LCMS_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/lcms ) diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake index e3386b941ee..8acf6b56e3d 100644 --- a/build_files/build_environment/cmake/llvm.cmake +++ b/build_files/build_environment/cmake/llvm.cmake @@ -17,42 +17,42 @@ # ***** END GPL LICENSE BLOCK ***** set(LLVM_EXTRA_ARGS - -DLLVM_USE_CRT_RELEASE=MT - -DLLVM_USE_CRT_DEBUG=MTd - -DLLVM_INCLUDE_TESTS=OFF - -DLLVM_TARGETS_TO_BUILD=X86 - -DLLVM_INCLUDE_EXAMPLES=OFF - -DLLVM_ENABLE_TERMINFO=OFF + -DLLVM_USE_CRT_RELEASE=MT + -DLLVM_USE_CRT_DEBUG=MTd + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_TARGETS_TO_BUILD=X86 + -DLLVM_INCLUDE_EXAMPLES=OFF + -DLLVM_ENABLE_TERMINFO=OFF ) if(WIN32) - set(LLVM_GENERATOR "Ninja") + set(LLVM_GENERATOR "Ninja") else() - set(LLVM_GENERATOR "Unix Makefiles") + set(LLVM_GENERATOR "Unix Makefiles") endif() # short project name due to long filename issues on windows ExternalProject_Add(ll - URL ${LLVM_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${LLVM_HASH} - CMAKE_GENERATOR ${LLVM_GENERATOR} - PREFIX ${BUILD_DIR}/ll - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/llvm + URL ${LLVM_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${LLVM_HASH} + CMAKE_GENERATOR ${LLVM_GENERATOR} + PREFIX ${BUILD_DIR}/ll + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/llvm ) if(MSVC) - if(BUILD_MODE STREQUAL Release) - set(LLVM_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/ ${HARVEST_TARGET}/llvm/ ) - else() - set(LLVM_HARVEST_COMMAND - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/include/ ${HARVEST_TARGET}/llvm/debug/include/ - ) - endif() - ExternalProject_Add_Step(ll after_install - COMMAND ${LLVM_HARVEST_COMMAND} - DEPENDEES mkdir update patch download configure build install - ) + if(BUILD_MODE STREQUAL Release) + set(LLVM_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/ ${HARVEST_TARGET}/llvm/ ) + else() + set(LLVM_HARVEST_COMMAND + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/include/ ${HARVEST_TARGET}/llvm/debug/include/ + ) + endif() + ExternalProject_Add_Step(ll after_install + COMMAND ${LLVM_HARVEST_COMMAND} + DEPENDEES mkdir update patch download configure build install + ) endif() diff --git a/build_files/build_environment/cmake/lzma.cmake b/build_files/build_environment/cmake/lzma.cmake index ef8adde2930..ecceb1172b4 100644 --- a/build_files/build_environment/cmake/lzma.cmake +++ b/build_files/build_environment/cmake/lzma.cmake @@ -19,14 +19,14 @@ set(LZMA_PATCH_CMD echo .) ExternalProject_Add(external_lzma - URL ${LZMA_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${LZMA_HASH} - PREFIX ${BUILD_DIR}/lzma - PATCH_COMMAND ${LZMA_PATCH_CMD} - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/lzma - --disable-shared - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && make install - INSTALL_DIR ${LIBDIR}/lzma + URL ${LZMA_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${LZMA_HASH} + PREFIX ${BUILD_DIR}/lzma + PATCH_COMMAND ${LZMA_PATCH_CMD} + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/lzma + --disable-shared + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && make install + INSTALL_DIR ${LIBDIR}/lzma ) diff --git a/build_files/build_environment/cmake/numpy.cmake b/build_files/build_environment/cmake/numpy.cmake index 698fae4f666..1a6ffa95ad6 100644 --- a/build_files/build_environment/cmake/numpy.cmake +++ b/build_files/build_environment/cmake/numpy.cmake @@ -17,50 +17,50 @@ # ***** END GPL LICENSE BLOCK ***** if(MSVC) - if(BUILD_MODE STREQUAL Debug) - set(NUMPY_DIR_POSTFIX -pydebug) - set(NUMPY_ARCHIVE_POSTFIX d) - set(NUMPY_BUILD_OPTION --debug) - else() - set(NUMPY_DIR_POSTFIX) - set(NUMPY_ARCHIVE_POSTFIX) - set(NUMPY_BUILD_OPTION) - endif() + if(BUILD_MODE STREQUAL Debug) + set(NUMPY_DIR_POSTFIX -pydebug) + set(NUMPY_ARCHIVE_POSTFIX d) + set(NUMPY_BUILD_OPTION --debug) + else() + set(NUMPY_DIR_POSTFIX) + set(NUMPY_ARCHIVE_POSTFIX) + set(NUMPY_BUILD_OPTION) + endif() endif() set(NUMPY_POSTFIX) if(WIN32) - set(NUMPY_INSTALL - ${CMAKE_COMMAND} -E copy_directory "${BUILD_DIR}/python/src/external_python/run/lib/site-packages/numpy/core/include/numpy" "${LIBDIR}/python/include/python${PYTHON_SHORT_VERSION}/numpy" && - ${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/numpy/src/external_numpy/build/lib.${PYTHON_ARCH2}-${PYTHON_SHORT_VERSION}${NUMPY_DIR_POSTFIX}" - ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz" "." - ) + set(NUMPY_INSTALL + ${CMAKE_COMMAND} -E copy_directory "${BUILD_DIR}/python/src/external_python/run/lib/site-packages/numpy/core/include/numpy" "${LIBDIR}/python/include/python${PYTHON_SHORT_VERSION}/numpy" && + ${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/numpy/src/external_numpy/build/lib.${PYTHON_ARCH2}-${PYTHON_SHORT_VERSION}${NUMPY_DIR_POSTFIX}" + ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz" "." + ) else() - set(NUMPY_INSTALL echo .) - set(NUMPY_PATCH echo .) + set(NUMPY_INSTALL echo .) + set(NUMPY_PATCH echo .) endif() ExternalProject_Add(external_numpy - URL ${NUMPY_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${NUMPY_HASH} - PREFIX ${BUILD_DIR}/numpy - PATCH_COMMAND ${NUMPY_PATCH} - CONFIGURE_COMMAND "" - LOG_BUILD 1 - BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable - INSTALL_COMMAND ${NUMPY_INSTALL} + URL ${NUMPY_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${NUMPY_HASH} + PREFIX ${BUILD_DIR}/numpy + PATCH_COMMAND ${NUMPY_PATCH} + CONFIGURE_COMMAND "" + LOG_BUILD 1 + BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable + INSTALL_COMMAND ${NUMPY_INSTALL} ) if(WIN32) - ExternalProject_Add_Step(external_numpy after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz - DEPENDEES install - ) + ExternalProject_Add_Step(external_numpy after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz + DEPENDEES install + ) endif() add_dependencies( - external_numpy - Make_Python_Environment + external_numpy + Make_Python_Environment ) diff --git a/build_files/build_environment/cmake/ogg.cmake b/build_files/build_environment/cmake/ogg.cmake index 1f69cee0996..e2d0f0905b8 100644 --- a/build_files/build_environment/cmake/ogg.cmake +++ b/build_files/build_environment/cmake/ogg.cmake @@ -17,16 +17,16 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_ogg - URL ${OGG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${OGG_HASH} - PREFIX ${BUILD_DIR}/ogg - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ogg --disable-shared --enable-static - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make install - INSTALL_DIR ${LIBDIR}/ogg + URL ${OGG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${OGG_HASH} + PREFIX ${BUILD_DIR}/ogg + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ogg --disable-shared --enable-static + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make install + INSTALL_DIR ${LIBDIR}/ogg ) if(MSVC) - set_target_properties(external_ogg PROPERTIES FOLDER Mingw) + set_target_properties(external_ogg PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/openal.cmake b/build_files/build_environment/cmake/openal.cmake index 7a693b1fce2..44f6cdf72a3 100644 --- a/build_files/build_environment/cmake/openal.cmake +++ b/build_files/build_environment/cmake/openal.cmake @@ -17,51 +17,51 @@ # ***** END GPL LICENSE BLOCK ***** if(BUILD_MODE STREQUAL Release) - set(OPENAL_EXTRA_ARGS - -DALSOFT_UTILS=OFF - -DALSOFT_NO_CONFIG_UTIL=ON - -DALSOFT_EXAMPLES=OFF - -DALSOFT_TESTS=OFF - -DALSOFT_CONFIG=OFF - -DALSOFT_HRTF_DEFS=OFF - -DALSOFT_INSTALL=ON - -DALSOFT_BACKEND_SNDIO=OFF - ) + set(OPENAL_EXTRA_ARGS + -DALSOFT_UTILS=OFF + -DALSOFT_NO_CONFIG_UTIL=ON + -DALSOFT_EXAMPLES=OFF + -DALSOFT_TESTS=OFF + -DALSOFT_CONFIG=OFF + -DALSOFT_HRTF_DEFS=OFF + -DALSOFT_INSTALL=ON + -DALSOFT_BACKEND_SNDIO=OFF + ) - if(UNIX) - set(OPENAL_EXTRA_ARGS - ${OPENAL_EXTRA_ARGS} - -DLIBTYPE=STATIC - ) - endif() + if(UNIX) + set(OPENAL_EXTRA_ARGS + ${OPENAL_EXTRA_ARGS} + -DLIBTYPE=STATIC + ) + endif() - if(UNIX AND NOT APPLE) - # Ensure we have backends for playback. - set(OPENAL_EXTRA_ARGS - ${OPENAL_EXTRA_ARGS} - -DALSOFT_REQUIRE_ALSA=ON - -DALSOFT_REQUIRE_OSS=ON - -DALSOFT_REQUIRE_PULSEAUDIO=ON - ) - endif() + if(UNIX AND NOT APPLE) + # Ensure we have backends for playback. + set(OPENAL_EXTRA_ARGS + ${OPENAL_EXTRA_ARGS} + -DALSOFT_REQUIRE_ALSA=ON + -DALSOFT_REQUIRE_OSS=ON + -DALSOFT_REQUIRE_PULSEAUDIO=ON + ) + endif() - ExternalProject_Add(external_openal - URL ${OPENAL_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENAL_HASH} - PREFIX ${BUILD_DIR}/openal - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/openal - PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff - ) + ExternalProject_Add(external_openal + URL ${OPENAL_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENAL_HASH} + PREFIX ${BUILD_DIR}/openal + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/openal + PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff + ) - if(WIN32) - ExternalProject_Add_Step(external_openal after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openal/lib/openal32.lib ${HARVEST_TARGET}/openal/lib/openal32.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openal/bin/openal32.dll ${HARVEST_TARGET}/openal/lib/openal32.dll - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openal/include/ ${HARVEST_TARGET}/openal/include/ - DEPENDEES install - ) - endif() + if(WIN32) + ExternalProject_Add_Step(external_openal after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openal/lib/openal32.lib ${HARVEST_TARGET}/openal/lib/openal32.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openal/bin/openal32.dll ${HARVEST_TARGET}/openal/lib/openal32.dll + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openal/include/ ${HARVEST_TARGET}/openal/include/ + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/opencollada.cmake b/build_files/build_environment/cmake/opencollada.cmake index ec3dcde1607..e1a8abc40ce 100644 --- a/build_files/build_environment/cmake/opencollada.cmake +++ b/build_files/build_environment/cmake/opencollada.cmake @@ -17,49 +17,49 @@ # ***** END GPL LICENSE BLOCK ***** if(UNIX) - set(OPENCOLLADA_EXTRA_ARGS - -DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2 - -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a) + set(OPENCOLLADA_EXTRA_ARGS + -DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2 + -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a) endif() ExternalProject_Add(external_opencollada - URL ${OPENCOLLADA_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENCOLLADA_HASH} - PREFIX ${BUILD_DIR}/opencollada - PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencollada/src/external_opencollada < ${PATCH_DIR}/opencollada.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencollada ${DEFAULT_CMAKE_FLAGS} ${OPENCOLLADA_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/opencollada + URL ${OPENCOLLADA_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENCOLLADA_HASH} + PREFIX ${BUILD_DIR}/opencollada + PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencollada/src/external_opencollada < ${PATCH_DIR}/opencollada.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencollada ${DEFAULT_CMAKE_FLAGS} ${OPENCOLLADA_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/opencollada ) if(UNIX) - add_dependencies( - external_opencollada - external_xml2 - ) + add_dependencies( + external_opencollada + external_xml2 + ) endif() if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_opencollada after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/ ${HARVEST_TARGET}/opencollada/ - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_opencollada after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/buffer.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/buffer_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/ftoa.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/ftoa_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/GeneratedSaxParser.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/GeneratedSaxParser_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/MathMLSolver.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/MathMLSolver_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADABaseUtils.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADABaseUtils_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAFramework.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAFramework_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/pcre.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/pcre_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/UTF.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/UTF_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/xml.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/xml_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_opencollada after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/ ${HARVEST_TARGET}/opencollada/ + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_opencollada after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/buffer.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/buffer_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/ftoa.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/ftoa_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/GeneratedSaxParser.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/GeneratedSaxParser_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/MathMLSolver.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/MathMLSolver_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADABaseUtils.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADABaseUtils_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAFramework.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAFramework_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/pcre.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/pcre_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/UTF.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/UTF_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/xml.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/xml_d.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/opencolorio.cmake b/build_files/build_environment/cmake/opencolorio.cmake index c0187e8a27e..0f6b8fee673 100644 --- a/build_files/build_environment/cmake/opencolorio.cmake +++ b/build_files/build_environment/cmake/opencolorio.cmake @@ -17,96 +17,96 @@ # ***** END GPL LICENSE BLOCK ***** set(OPENCOLORIO_EXTRA_ARGS - -DOCIO_BUILD_APPS=OFF - -DOCIO_BUILD_PYGLUE=OFF - -DOCIO_BUILD_NUKE=OFF - -DOCIO_USE_BOOST_PTR=OFF - -DOCIO_BUILD_STATIC=ON - -DOCIO_BUILD_SHARED=OFF - -DOCIO_BUILD_TRUELIGHT=OFF - -DOCIO_BUILD_DOCS=OFF - -DOCIO_BUILD_PYGLUE=OFF - -DOCIO_BUILD_JNIGLUE=OFF - -DOCIO_STATIC_JNIGLUE=OFF + -DOCIO_BUILD_APPS=OFF + -DOCIO_BUILD_PYGLUE=OFF + -DOCIO_BUILD_NUKE=OFF + -DOCIO_USE_BOOST_PTR=OFF + -DOCIO_BUILD_STATIC=ON + -DOCIO_BUILD_SHARED=OFF + -DOCIO_BUILD_TRUELIGHT=OFF + -DOCIO_BUILD_DOCS=OFF + -DOCIO_BUILD_PYGLUE=OFF + -DOCIO_BUILD_JNIGLUE=OFF + -DOCIO_STATIC_JNIGLUE=OFF ) if(WIN32) - set(OCIO_PATCH opencolorio_win.diff) - set(OPENCOLORIO_EXTRA_ARGS - ${OPENCOLORIO_EXTRA_ARGS} - -DOCIO_BUILD_TESTS=OFF - -DOCIO_USE_SSE=ON - -DOCIO_INLINES_HIDDEN=OFF - -DOCIO_PYGLUE_LINK=OFF - -DOCIO_PYGLUE_RESPECT_ABI=OFF - -DOCIO_PYGLUE_SONAME=OFF - -DOCIO_PYGLUE_LIB_PREFIX=OFF - -DUSE_EXTERNAL_TINYXML=ON - -DTINYXML_INCLUDE_DIR=${LIBDIR}/tinyxml/include - -DTINYXML_LIBRARY=${LIBDIR}/tinyxml/lib/tinyxml${libext} - -DUSE_EXTERNAL_YAML=ON - -DYAML_CPP_FOUND=ON - -DYAML_CPP_VERSION=${YAMLCPP_VERSION} - -DUSE_EXTERNAL_LCMS=ON - -DINC_1=${LIBDIR}/tinyxml/include - -DINC_2=${LIBDIR}/yamlcpp/include - #lie because ocio cmake is demanding boost even though it is not needed - -DYAML_CPP_VERSION=0.5.0 - ) + set(OCIO_PATCH opencolorio_win.diff) + set(OPENCOLORIO_EXTRA_ARGS + ${OPENCOLORIO_EXTRA_ARGS} + -DOCIO_BUILD_TESTS=OFF + -DOCIO_USE_SSE=ON + -DOCIO_INLINES_HIDDEN=OFF + -DOCIO_PYGLUE_LINK=OFF + -DOCIO_PYGLUE_RESPECT_ABI=OFF + -DOCIO_PYGLUE_SONAME=OFF + -DOCIO_PYGLUE_LIB_PREFIX=OFF + -DUSE_EXTERNAL_TINYXML=ON + -DTINYXML_INCLUDE_DIR=${LIBDIR}/tinyxml/include + -DTINYXML_LIBRARY=${LIBDIR}/tinyxml/lib/tinyxml${libext} + -DUSE_EXTERNAL_YAML=ON + -DYAML_CPP_FOUND=ON + -DYAML_CPP_VERSION=${YAMLCPP_VERSION} + -DUSE_EXTERNAL_LCMS=ON + -DINC_1=${LIBDIR}/tinyxml/include + -DINC_2=${LIBDIR}/yamlcpp/include + #lie because ocio cmake is demanding boost even though it is not needed + -DYAML_CPP_VERSION=0.5.0 + ) else() - set(OCIO_PATCH opencolorio.diff) - set(OPENCOLORIO_EXTRA_ARGS - ${OPENCOLORIO_EXTRA_ARGS} - ) + set(OCIO_PATCH opencolorio.diff) + set(OPENCOLORIO_EXTRA_ARGS + ${OPENCOLORIO_EXTRA_ARGS} + ) endif() ExternalProject_Add(external_opencolorio - URL ${OPENCOLORIO_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENCOLORIO_HASH} - PREFIX ${BUILD_DIR}/opencolorio - PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencolorio/src/external_opencolorio < ${PATCH_DIR}/${OCIO_PATCH} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencolorio ${DEFAULT_CMAKE_FLAGS} ${OPENCOLORIO_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/opencolorio + URL ${OPENCOLORIO_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENCOLORIO_HASH} + PREFIX ${BUILD_DIR}/opencolorio + PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencolorio/src/external_opencolorio < ${PATCH_DIR}/${OCIO_PATCH} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencolorio ${DEFAULT_CMAKE_FLAGS} ${OPENCOLORIO_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/opencolorio ) if(NOT WIN32) - add_custom_command( - OUTPUT ${LIBDIR}/opencolorio/lib/libtinyxml.a - COMMAND cp ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/libtinyxml.a ${LIBDIR}/opencolorio/lib/libtinyxml.a - COMMAND cp ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/libyaml-cpp.a ${LIBDIR}/opencolorio/lib/libyaml-cpp.a - ) - add_custom_target(external_opencolorio_extra ALL DEPENDS external_opencolorio ${LIBDIR}/opencolorio/lib/libtinyxml.a) + add_custom_command( + OUTPUT ${LIBDIR}/opencolorio/lib/libtinyxml.a + COMMAND cp ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/libtinyxml.a ${LIBDIR}/opencolorio/lib/libtinyxml.a + COMMAND cp ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/libyaml-cpp.a ${LIBDIR}/opencolorio/lib/libyaml-cpp.a + ) + add_custom_target(external_opencolorio_extra ALL DEPENDS external_opencolorio ${LIBDIR}/opencolorio/lib/libtinyxml.a) endif() add_dependencies( - external_opencolorio - external_boost + external_opencolorio + external_boost ) if(WIN32) - add_dependencies( - external_opencolorio - external_tinyxml - external_yamlcpp + add_dependencies( + external_opencolorio + external_tinyxml + external_yamlcpp - ) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_opencolorio after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib/static ${HARVEST_TARGET}/opencolorio/lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmt.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tinyxml/lib/tinyxml.lib ${HARVEST_TARGET}/opencolorio/lib/tinyxml.lib - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_opencolorio after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/static/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmtd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tinyxml/lib/tinyxml.lib ${HARVEST_TARGET}/opencolorio/lib/tinyxml_d.lib - DEPENDEES install - ) - endif() + ) + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_opencolorio after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib/static ${HARVEST_TARGET}/opencolorio/lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmt.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tinyxml/lib/tinyxml.lib ${HARVEST_TARGET}/opencolorio/lib/tinyxml.lib + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_opencolorio after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/static/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmtd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tinyxml/lib/tinyxml.lib ${HARVEST_TARGET}/opencolorio/lib/tinyxml_d.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/openexr.cmake b/build_files/build_environment/cmake/openexr.cmake index 59e9a46b4f8..7ac85ab9bdf 100644 --- a/build_files/build_environment/cmake/openexr.cmake +++ b/build_files/build_environment/cmake/openexr.cmake @@ -17,62 +17,62 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") - set(OPENEXR_EXTRA_ARGS - -DCMAKE_CXX_STANDARD_LIBRARIES=${OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES} - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase - -DOPENEXR_BUILD_ILMBASE=On - -DOPENEXR_BUILD_OPENEXR=On - -DOPENEXR_BUILD_PYTHON_LIBS=Off - -DOPENEXR_BUILD_STATIC=On - -DOPENEXR_BUILD_SHARED=Off - -DOPENEXR_BUILD_TESTS=Off - -DOPENEXR_BUILD_VIEWERS=Off - -DOPENEXR_BUILD_UTILS=Off - -DOPENEXR_NAMESPACE_VERSIONING=Off - ) - ExternalProject_Add(external_openexr - URL ${OPENEXR_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENEXR_HASH} - PREFIX ${BUILD_DIR}/openexr - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/openexr - ) + set(OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") + set(OPENEXR_EXTRA_ARGS + -DCMAKE_CXX_STANDARD_LIBRARIES=${OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES} + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase + -DOPENEXR_BUILD_ILMBASE=On + -DOPENEXR_BUILD_OPENEXR=On + -DOPENEXR_BUILD_PYTHON_LIBS=Off + -DOPENEXR_BUILD_STATIC=On + -DOPENEXR_BUILD_SHARED=Off + -DOPENEXR_BUILD_TESTS=Off + -DOPENEXR_BUILD_VIEWERS=Off + -DOPENEXR_BUILD_UTILS=Off + -DOPENEXR_NAMESPACE_VERSIONING=Off + ) + ExternalProject_Add(external_openexr + URL ${OPENEXR_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENEXR_HASH} + PREFIX ${BUILD_DIR}/openexr + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/openexr + ) - ExternalProject_Add_Step(external_openexr after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib - #libs have moved between versions, just duplicate it for now. - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${LIBDIR}/ilmbase/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include - DEPENDEES install - ) + ExternalProject_Add_Step(external_openexr after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib + #libs have moved between versions, just duplicate it for now. + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${LIBDIR}/ilmbase/lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include + DEPENDEES install + ) else() - set(OPENEXR_PKG_CONFIG_PATH ${LIBDIR}/zlib/share/pkgconfig) - set(OPENEXR_EXTRA_ARGS - --enable-static - --disable-shared - --enable-cxxstd=11 - --with-ilmbase-prefix=${LIBDIR}/ilmbase - ) + set(OPENEXR_PKG_CONFIG_PATH ${LIBDIR}/zlib/share/pkgconfig) + set(OPENEXR_EXTRA_ARGS + --enable-static + --disable-shared + --enable-cxxstd=11 + --with-ilmbase-prefix=${LIBDIR}/ilmbase + ) - ExternalProject_Add(external_openexr - URL ${OPENEXR_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENEXR_HASH} - PREFIX ${BUILD_DIR}/openexr - CONFIGURE_COMMAND ${CONFIGURE_ENV} && export PKG_CONFIG_PATH=${OPENEXR_PKG_CONFIG_PATH} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/openexr ${OPENEXR_EXTRA_ARGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make install - INSTALL_DIR ${LIBDIR}/openexr - ) + ExternalProject_Add(external_openexr + URL ${OPENEXR_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENEXR_HASH} + PREFIX ${BUILD_DIR}/openexr + CONFIGURE_COMMAND ${CONFIGURE_ENV} && export PKG_CONFIG_PATH=${OPENEXR_PKG_CONFIG_PATH} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/openexr ${OPENEXR_EXTRA_ARGS} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openexr/src/external_openexr/ && make install + INSTALL_DIR ${LIBDIR}/openexr + ) endif() add_dependencies( - external_openexr - external_zlib - external_ilmbase + external_openexr + external_zlib + external_ilmbase ) diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake index 73d1f4a7871..920e9ee0273 100644 --- a/build_files/build_environment/cmake/openimageio.cmake +++ b/build_files/build_environment/cmake/openimageio.cmake @@ -17,136 +17,136 @@ # ***** END GPL LICENSE BLOCK ***** if(BUILD_MODE STREQUAL Release) - set(OIIO_TOOLS ON) + set(OIIO_TOOLS ON) else() - set(OIIO_TOOLS OFF) + set(OIIO_TOOLS OFF) endif() if(UNIX AND NOT APPLE) - # This causes linking to static pthread libraries which gives link errors. - # Since we manually specify library paths it should static link other libs. - set(OPENIMAGEIO_LINKSTATIC -DLINKSTATIC=OFF) + # This causes linking to static pthread libraries which gives link errors. + # Since we manually specify library paths it should static link other libs. + set(OPENIMAGEIO_LINKSTATIC -DLINKSTATIC=OFF) else() - set(OPENIMAGEIO_LINKSTATIC -DLINKSTATIC=ON) + set(OPENIMAGEIO_LINKSTATIC -DLINKSTATIC=ON) endif() if(WIN32) - set(PNG_LIBNAME libpng16_static${LIBEXT}) - set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2 -DOPJ_STATIC=1) - set(OPENJPEG_POSTFIX _msvc) + set(PNG_LIBNAME libpng16_static${LIBEXT}) + set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2 -DOPJ_STATIC=1) + set(OPENJPEG_POSTFIX _msvc) else() - set(PNG_LIBNAME libpng${LIBEXT}) - set(OIIO_SIMD_FLAGS) + set(PNG_LIBNAME libpng${LIBEXT}) + set(OIIO_SIMD_FLAGS) endif() if(WITH_WEBP) - set(WEBP_ARGS - -DWEBP_INCLUDE_DIR=${LIBDIR}/webp/include - -DWEBP_LIBRARY=${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT} - ) - set(WEBP_DEP external_webp) + set(WEBP_ARGS + -DWEBP_INCLUDE_DIR=${LIBDIR}/webp/include + -DWEBP_LIBRARY=${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT} + ) + set(WEBP_DEP external_webp) endif() if(MSVC) - set(OPENJPEG_FLAGS - -DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc - -DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION} - -DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT} - -DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT} - ) + set(OPENJPEG_FLAGS + -DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc + -DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION} + -DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT} + -DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT} + ) else() - set(OPENJPEG_FLAGS - -DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} - -DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg/lib/${OPENJPEG_LIBRARY} - ) + set(OPENJPEG_FLAGS + -DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} + -DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg/lib/${OPENJPEG_LIBRARY} + ) endif() set(OPENIMAGEIO_EXTRA_ARGS - -DBUILDSTATIC=ON - ${OPENIMAGEIO_LINKSTATIC} - -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/openexr/ - -DOPENEXR_ILMIMF_LIBRARIES=${LIBDIR}/openexr/lib/IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} - -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} - -DBoost_USE_MULTITHREADED=ON - -DBoost_USE_STATIC_LIBS=ON - -DBoost_USE_STATIC_RUNTIME=ON - -DBOOST_ROOT=${LIBDIR}/boost - -DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/ - -DBoost_NO_SYSTEM_PATHS=ON - -OIIO_BUILD_CPP11=ON - -DUSE_OPENGL=OFF - -DUSE_TBB=OFF - -DUSE_FIELD3D=OFF - -DUSE_QT=OFF - -DUSE_PYTHON=OFF - -DUSE_GIF=OFF - -DUSE_OPENCV=OFF - -DUSE_OPENSSL=OFF - -DUSE_OPENJPEG=ON - -DUSE_FFMPEG=OFF - -DUSE_PTEX=OFF - -DUSE_FREETYPE=OFF - -DUSE_LIBRAW=OFF - -DUSE_PYTHON=OFF - -DUSE_PYTHON3=OFF - -DUSE_OCIO=OFF - -DUSE_WEBP=${WITH_WEBP} - -DOIIO_BUILD_TOOLS=${OIIO_TOOLS} - -DOIIO_BUILD_TESTS=OFF - -DBUILD_TESTING=OFF - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include - -DPNG_LIBRARY=${LIBDIR}/png/lib/${PNG_LIBNAME} - -DPNG_PNG_INCLUDE_DIR=${LIBDIR}/png/include - -DTIFF_LIBRARY=${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT} - -DTIFF_INCLUDE_DIR=${LIBDIR}/tiff/include - -DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY} - -DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include - ${OPENJPEG_FLAGS} - -DOCIO_PATH=${LIBDIR}/opencolorio/ - -DOpenEXR_USE_STATIC_LIBS=On - -DOPENEXR_HOME=${LIBDIR}/openexr/ - -DILMBASE_INCLUDE_PATH=${LIBDIR}/ilmbase/ - -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase/ - -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/ - -DOPENEXR_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/ - -DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} - -DSTOP_ON_WARNING=OFF - ${WEBP_FLAGS} - ${OIIO_SIMD_FLAGS} + -DBUILDSTATIC=ON + ${OPENIMAGEIO_LINKSTATIC} + -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/openexr/ + -DOPENEXR_ILMIMF_LIBRARIES=${LIBDIR}/openexr/lib/IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} + -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} + -DBoost_USE_MULTITHREADED=ON + -DBoost_USE_STATIC_LIBS=ON + -DBoost_USE_STATIC_RUNTIME=ON + -DBOOST_ROOT=${LIBDIR}/boost + -DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/ + -DBoost_NO_SYSTEM_PATHS=ON + -OIIO_BUILD_CPP11=ON + -DUSE_OPENGL=OFF + -DUSE_TBB=OFF + -DUSE_FIELD3D=OFF + -DUSE_QT=OFF + -DUSE_PYTHON=OFF + -DUSE_GIF=OFF + -DUSE_OPENCV=OFF + -DUSE_OPENSSL=OFF + -DUSE_OPENJPEG=ON + -DUSE_FFMPEG=OFF + -DUSE_PTEX=OFF + -DUSE_FREETYPE=OFF + -DUSE_LIBRAW=OFF + -DUSE_PYTHON=OFF + -DUSE_PYTHON3=OFF + -DUSE_OCIO=OFF + -DUSE_WEBP=${WITH_WEBP} + -DOIIO_BUILD_TOOLS=${OIIO_TOOLS} + -DOIIO_BUILD_TESTS=OFF + -DBUILD_TESTING=OFF + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include + -DPNG_LIBRARY=${LIBDIR}/png/lib/${PNG_LIBNAME} + -DPNG_PNG_INCLUDE_DIR=${LIBDIR}/png/include + -DTIFF_LIBRARY=${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT} + -DTIFF_INCLUDE_DIR=${LIBDIR}/tiff/include + -DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY} + -DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include + ${OPENJPEG_FLAGS} + -DOCIO_PATH=${LIBDIR}/opencolorio/ + -DOpenEXR_USE_STATIC_LIBS=On + -DOPENEXR_HOME=${LIBDIR}/openexr/ + -DILMBASE_INCLUDE_PATH=${LIBDIR}/ilmbase/ + -DILMBASE_PACKAGE_PREFIX=${LIBDIR}/ilmbase/ + -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/ + -DOPENEXR_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/ + -DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} + -DSTOP_ON_WARNING=OFF + ${WEBP_FLAGS} + ${OIIO_SIMD_FLAGS} ) ExternalProject_Add(external_openimageio - URL ${OPENIMAGEIO_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENIMAGEIO_HASH} - PREFIX ${BUILD_DIR}/openimageio - PATCH_COMMAND - ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/src/include < ${PATCH_DIR}/openimageio_gdi.diff && - ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio_static_libs.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/openimageio + URL ${OPENIMAGEIO_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENIMAGEIO_HASH} + PREFIX ${BUILD_DIR}/openimageio + PATCH_COMMAND + ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/src/include < ${PATCH_DIR}/openimageio_gdi.diff && + ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio_static_libs.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/openimageio ) add_dependencies( - external_openimageio - external_png external_zlib - external_ilmbase - external_openexr - external_jpeg - external_boost - external_tiff - external_opencolorio - external_openjpeg${OPENJPEG_POSTFIX} - ${WEBP_DEP} + external_openimageio + external_png external_zlib + external_ilmbase + external_openexr + external_jpeg + external_boost + external_tiff + external_opencolorio + external_openjpeg${OPENJPEG_POSTFIX} + ${WEBP_DEP} ) if(NOT WIN32) - add_dependencies( - external_openimageio - external_opencolorio_extra - ) + add_dependencies( + external_openimageio + external_opencolorio_extra + ) endif() diff --git a/build_files/build_environment/cmake/openjpeg.cmake b/build_files/build_environment/cmake/openjpeg.cmake index ae320b78880..8cc52142ee0 100644 --- a/build_files/build_environment/cmake/openjpeg.cmake +++ b/build_files/build_environment/cmake/openjpeg.cmake @@ -22,43 +22,43 @@ set(OPENJPEG_EXTRA_ARGS -DBUILD_SHARED_LIBS=OFF) if(WIN32) - set(OPENJPEG_EXTRA_ARGS -G "MSYS Makefiles" -DBUILD_PKGCONFIG_FILES=On) + set(OPENJPEG_EXTRA_ARGS -G "MSYS Makefiles" -DBUILD_PKGCONFIG_FILES=On) else() - set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS}) + set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS}) endif() ExternalProject_Add(external_openjpeg - URL ${OPENJPEG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${OPENJPEG_HASH} - PREFIX ${BUILD_DIR}/openjpeg - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build && ${CMAKE_COMMAND} ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF ${BUILD_DIR}/openjpeg/src/external_openjpeg - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make install - INSTALL_DIR ${LIBDIR}/openjpeg + URL ${OPENJPEG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${OPENJPEG_HASH} + PREFIX ${BUILD_DIR}/openjpeg + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build && ${CMAKE_COMMAND} ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF ${BUILD_DIR}/openjpeg/src/external_openjpeg + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make install + INSTALL_DIR ${LIBDIR}/openjpeg ) #on windows ffmpeg wants a mingw build, while oiio needs a msvc build if(MSVC) - set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS}) - ExternalProject_Add(external_openjpeg_msvc - URL ${OPENJPEG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${OPENJPEG_HASH} - PREFIX ${BUILD_DIR}/openjpeg_msvc - CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF - INSTALL_DIR ${LIBDIR}/openjpeg_msvc - ) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_openjpeg_msvc after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/lib ${HARVEST_TARGET}/openjpeg/lib && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/include ${HARVEST_TARGET}/openjpeg/include - DEPENDEES install - ) - endif() + set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS}) + ExternalProject_Add(external_openjpeg_msvc + URL ${OPENJPEG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${OPENJPEG_HASH} + PREFIX ${BUILD_DIR}/openjpeg_msvc + CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF + INSTALL_DIR ${LIBDIR}/openjpeg_msvc + ) + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_openjpeg_msvc after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/lib ${HARVEST_TARGET}/openjpeg/lib && + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/include ${HARVEST_TARGET}/openjpeg/include + DEPENDEES install + ) + endif() endif() set(OPENJPEG_LIBRARY libopenjp2${LIBEXT}) if(MSVC) - set_target_properties(external_openjpeg PROPERTIES FOLDER Mingw) + set_target_properties(external_openjpeg PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/openmp.cmake b/build_files/build_environment/cmake/openmp.cmake index f9f5a5cfb63..05b590e4926 100644 --- a/build_files/build_environment/cmake/openmp.cmake +++ b/build_files/build_environment/cmake/openmp.cmake @@ -18,16 +18,16 @@ ExternalProject_Add(external_openmp - URL ${OPENMP_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENMP_HASH} - PREFIX ${BUILD_DIR}/openmp - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS} - INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @executable_path/../Resources/lib/libomp.dylib runtime/src/libomp.dylib && make install - INSTALL_DIR ${LIBDIR}/openmp + URL ${OPENMP_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENMP_HASH} + PREFIX ${BUILD_DIR}/openmp + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS} + INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @executable_path/../Resources/lib/libomp.dylib runtime/src/libomp.dylib && make install + INSTALL_DIR ${LIBDIR}/openmp ) add_dependencies( - external_openmp - external_clang + external_openmp + external_clang ) diff --git a/build_files/build_environment/cmake/opensubdiv.cmake b/build_files/build_environment/cmake/opensubdiv.cmake index 217274431d5..a5cf4efd128 100644 --- a/build_files/build_environment/cmake/opensubdiv.cmake +++ b/build_files/build_environment/cmake/opensubdiv.cmake @@ -17,86 +17,86 @@ # ***** END GPL LICENSE BLOCK ***** set(OPENSUBDIV_EXTRA_ARGS - -DNO_EXAMPLES=ON - -DNO_REGRESSION=ON - -DNO_PYTHON=ON - -DNO_MAYA=ON - -DNO_PTEX=ON - -DNO_DOC=ON - -DNO_CLEW=OFF - -DNO_OPENCL=OFF - -DNO_TUTORIALS=ON - -DGLEW_INCLUDE_DIR=${LIBDIR}/glew/include - -DGLEW_LIBRARY=${LIBDIR}/glew/lib/libGLEW${LIBEXT} - -DGLFW_INCLUDE_DIR=${LIBDIR}/glfw/include - -DGLFW_LIBRARIES=${LIBDIR}/glfw/lib/glfw3${LIBEXT} + -DNO_EXAMPLES=ON + -DNO_REGRESSION=ON + -DNO_PYTHON=ON + -DNO_MAYA=ON + -DNO_PTEX=ON + -DNO_DOC=ON + -DNO_CLEW=OFF + -DNO_OPENCL=OFF + -DNO_TUTORIALS=ON + -DGLEW_INCLUDE_DIR=${LIBDIR}/glew/include + -DGLEW_LIBRARY=${LIBDIR}/glew/lib/libGLEW${LIBEXT} + -DGLFW_INCLUDE_DIR=${LIBDIR}/glfw/include + -DGLFW_LIBRARIES=${LIBDIR}/glfw/lib/glfw3${LIBEXT} ) if(WIN32) - set(OPENSUBDIV_EXTRA_ARGS - ${OPENSUBDIV_EXTRA_ARGS} - -DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include - -DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb_static.lib - -DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL - -DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT} - -DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include - -DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT} - -DCMAKE_EXE_LINKER_FLAGS_RELEASE=libcmt.lib - ) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(OPENSUBDIV_EXTRA_ARGS - ${OPENSUBDIV_EXTRA_ARGS} - -DNO_CUDA=OFF - ) - else() - set(OPENSUBDIV_EXTRA_ARGS - ${OPENSUBDIV_EXTRA_ARGS} - -DNO_CUDA=ON - ) - endif() + set(OPENSUBDIV_EXTRA_ARGS + ${OPENSUBDIV_EXTRA_ARGS} + -DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include + -DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb_static.lib + -DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL + -DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT} + -DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include + -DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT} + -DCMAKE_EXE_LINKER_FLAGS_RELEASE=libcmt.lib + ) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(OPENSUBDIV_EXTRA_ARGS + ${OPENSUBDIV_EXTRA_ARGS} + -DNO_CUDA=OFF + ) + else() + set(OPENSUBDIV_EXTRA_ARGS + ${OPENSUBDIV_EXTRA_ARGS} + -DNO_CUDA=ON + ) + endif() else() - set(OPENSUBDIV_EXTRA_ARGS - ${OPENSUBDIV_EXTRA_ARGS} - -DNO_CUDA=ON - -DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include - -DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL - -DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT} - ) + set(OPENSUBDIV_EXTRA_ARGS + ${OPENSUBDIV_EXTRA_ARGS} + -DNO_CUDA=ON + -DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include + -DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL + -DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT} + ) endif() ExternalProject_Add(external_opensubdiv - URL ${OPENSUBDIV_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENSUBDIV_Hash} - PREFIX ${BUILD_DIR}/opensubdiv - PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/opensubdiv/src/external_opensubdiv < ${PATCH_DIR}/opensubdiv.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opensubdiv -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${OPENSUBDIV_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/opensubdiv + URL ${OPENSUBDIV_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENSUBDIV_Hash} + PREFIX ${BUILD_DIR}/opensubdiv + PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/opensubdiv/src/external_opensubdiv < ${PATCH_DIR}/opensubdiv.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opensubdiv -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${OPENSUBDIV_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/opensubdiv ) if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_opensubdiv after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv/lib ${HARVEST_TARGET}/opensubdiv/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv/include ${HARVEST_TARGET}/opensubdiv/include - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_opensubdiv after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opensubdiv/lib/osdCPU.lib ${HARVEST_TARGET}/opensubdiv/lib/osdCPU_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opensubdiv/lib/osdGPU.lib ${HARVEST_TARGET}/opensubdiv/lib/osdGPU_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_opensubdiv after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv/lib ${HARVEST_TARGET}/opensubdiv/lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv/include ${HARVEST_TARGET}/opensubdiv/include + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_opensubdiv after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opensubdiv/lib/osdCPU.lib ${HARVEST_TARGET}/opensubdiv/lib/osdCPU_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opensubdiv/lib/osdGPU.lib ${HARVEST_TARGET}/opensubdiv/lib/osdGPU_d.lib + DEPENDEES install + ) + endif() endif() add_dependencies( - external_opensubdiv - external_glew - external_glfw - external_clew - external_cuew - external_tbb + external_opensubdiv + external_glew + external_glfw + external_clew + external_cuew + external_tbb ) diff --git a/build_files/build_environment/cmake/openvdb.cmake b/build_files/build_environment/cmake/openvdb.cmake index 11456facbb2..215b3e8f2fe 100644 --- a/build_files/build_environment/cmake/openvdb.cmake +++ b/build_files/build_environment/cmake/openvdb.cmake @@ -17,86 +17,86 @@ # ***** END GPL LICENSE BLOCK ***** if(BUILD_MODE STREQUAL Debug) - set(BLOSC_POST _d) + set(BLOSC_POST _d) endif() set(OPENVDB_EXTRA_ARGS - -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} - -DBoost_USE_MULTITHREADED=ON - -DBoost_USE_STATIC_LIBS=ON - -DBoost_USE_STATIC_RUNTIME=ON - -DBOOST_ROOT=${LIBDIR}/boost - -DBoost_NO_SYSTEM_PATHS=ON - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - -DBLOSC_INCLUDE_DIR=${LIBDIR}/blosc/include/ - -DBLOSC_blosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT} - -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF - -DOPENVDB_BUILD_UNITTESTS=Off - -DOPENVDB_BUILD_PYTHON_MODULE=Off - -DGLEW_LOCATION=${LIBDIR}/glew/ - -DBLOSC_LOCATION=${LIBDIR}/blosc/ - -DTBB_LOCATION=${LIBDIR}/tbb/ - -DTBB_ROOT=${LIBDIR}/tbb/ - -DOPENEXR_LOCATION=${LIBDIR}/openexr - -DILMBASE_LOCATION=${LIBDIR}/ilmbase - -DIlmbase_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DIlmbase_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DIlmbase_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOpenexr_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} - -DTBB_LIBRARYDIR=${LIBDIR}/tbb/lib - -DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT} - -DTBB_LIBRARY_PATH=${LIBDIR}/tbb/lib + -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} + -DBoost_USE_MULTITHREADED=ON + -DBoost_USE_STATIC_LIBS=ON + -DBoost_USE_STATIC_RUNTIME=ON + -DBOOST_ROOT=${LIBDIR}/boost + -DBoost_NO_SYSTEM_PATHS=ON + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + -DBLOSC_INCLUDE_DIR=${LIBDIR}/blosc/include/ + -DBLOSC_blosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT} + -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF + -DOPENVDB_BUILD_UNITTESTS=Off + -DOPENVDB_BUILD_PYTHON_MODULE=Off + -DGLEW_LOCATION=${LIBDIR}/glew/ + -DBLOSC_LOCATION=${LIBDIR}/blosc/ + -DTBB_LOCATION=${LIBDIR}/tbb/ + -DTBB_ROOT=${LIBDIR}/tbb/ + -DOPENEXR_LOCATION=${LIBDIR}/openexr + -DILMBASE_LOCATION=${LIBDIR}/ilmbase + -DIlmbase_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DIlmbase_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DIlmbase_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOpenexr_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} + -DTBB_LIBRARYDIR=${LIBDIR}/tbb/lib + -DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT} + -DTBB_LIBRARY_PATH=${LIBDIR}/tbb/lib ) if(WIN32) - # Namespaces seem to be buggy and cause linker errors due to things not - # being in the correct namespace - # needs to link pthreads due to it being a blosc dependency - set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS} - -DOPENEXR_NAMESPACE_VERSIONING=OFF - -DEXTRA_LIBS:FILEPATH=${LIBDIR}/pthreads/lib/pthreadVC3.lib - ) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") - set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS} - -DCMAKE_SHARED_LINKER_FLAGS="/safeseh:no" - -DCMAKE_EXE_LINKER_FLAGS="/safeseh:no" - ) - endif() + # Namespaces seem to be buggy and cause linker errors due to things not + # being in the correct namespace + # needs to link pthreads due to it being a blosc dependency + set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS} + -DOPENEXR_NAMESPACE_VERSIONING=OFF + -DEXTRA_LIBS:FILEPATH=${LIBDIR}/pthreads/lib/pthreadVC3.lib + ) + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") + set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS} + -DCMAKE_SHARED_LINKER_FLAGS="/safeseh:no" + -DCMAKE_EXE_LINKER_FLAGS="/safeseh:no" + ) + endif() endif() ExternalProject_Add(openvdb - URL ${OPENVDB_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${OPENVDB_HASH} - PREFIX ${BUILD_DIR}/openvdb - PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openvdb ${DEFAULT_CMAKE_FLAGS} ${OPENVDB_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/openvdb + URL ${OPENVDB_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${OPENVDB_HASH} + PREFIX ${BUILD_DIR}/openvdb + PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openvdb ${DEFAULT_CMAKE_FLAGS} ${OPENVDB_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/openvdb ) add_dependencies( - openvdb - external_tbb - external_boost - external_ilmbase - external_openexr - external_zlib - external_blosc + openvdb + external_tbb + external_boost + external_ilmbase + external_openexr + external_zlib + external_blosc ) if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(openvdb after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include ${HARVEST_TARGET}/openvdb/include - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/libopenvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(openvdb after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/libopenvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(openvdb after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include ${HARVEST_TARGET}/openvdb/include + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/libopenvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(openvdb after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/libopenvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake index ac36c891976..d7acf25ba58 100644 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@ -17,22 +17,22 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/lapack/fftw3 by installing mingw64" ON) + option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/lapack/fftw3 by installing mingw64" ON) endif() option(WITH_WEBP "Enable building of oiio with webp support" OFF) option(WITH_EMBREE "Enable building of Embree" OFF) set(MAKE_THREADS 1 CACHE STRING "Number of threads to run make with") if(NOT BUILD_MODE) - set(BUILD_MODE "Release") - message(STATUS "Build type not specified: defaulting to a release build.") + set(BUILD_MODE "Release") + message(STATUS "Build type not specified: defaulting to a release build.") endif() message("BuildMode = ${BUILD_MODE}") if(BUILD_MODE STREQUAL "Debug") - set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Debug) + set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Debug) else(BUILD_MODE STREQUAL "Debug") - set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Release) + set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Release) endif() option(DOWNLOAD_DIR "Path for downloaded files" ${CMAKE_CURRENT_SOURCE_DIR}/downloads) @@ -46,173 +46,173 @@ message("PATCH_DIR = ${PATCH_DIR}") message("BUILD_DIR = ${BUILD_DIR}") if(WIN32) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe) - else() - set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/patch.exe) - endif() - set(LIBEXT ".lib") - set(LIBPREFIX "") + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe) + else() + set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/patch.exe) + endif() + set(LIBEXT ".lib") + set(LIBPREFIX "") - # For OIIO and OSL - set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS) + # For OIIO and OSL + set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS) - if(MSVC_VERSION GREATER 1909) - set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings. - endif() - set(COMMON_MSVC_FLAGS "${COMMON_MSVC_FLAGS} /bigobj") - if(WITH_OPTIMIZED_DEBUG) - set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - else() - set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - endif() - set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + if(MSVC_VERSION GREATER 1909) + set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings. + endif() + set(COMMON_MSVC_FLAGS "${COMMON_MSVC_FLAGS} /bigobj") + if(WITH_OPTIMIZED_DEBUG) + set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + else() + set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + endif() + set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - if(WITH_OPTIMIZED_DEBUG) - set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - else() - set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - endif() - set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + if(WITH_OPTIMIZED_DEBUG) + set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + else() + set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + endif() + set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") + set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS") - set(PLATFORM_FLAGS) - set(PLATFORM_CXX_FLAGS) - set(PLATFORM_CMAKE_FLAGS) + set(PLATFORM_FLAGS) + set(PLATFORM_CXX_FLAGS) + set(PLATFORM_CMAKE_FLAGS) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64) - set(MINGW_SHELL ming64sh.cmd) - set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat) - set(MINGW_HOST x86_64-w64-mingw32) - else() - set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw32) - set(MINGW_SHELL ming32sh.cmd) - set(PERL_SHELL ${DOWNLOAD_DIR}/perl32/portableshell.bat) - set(MINGW_HOST i686-w64-mingw32) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64) + set(MINGW_SHELL ming64sh.cmd) + set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat) + set(MINGW_HOST x86_64-w64-mingw32) + else() + set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw32) + set(MINGW_SHELL ming32sh.cmd) + set(PERL_SHELL ${DOWNLOAD_DIR}/perl32/portableshell.bat) + set(MINGW_HOST i686-w64-mingw32) + endif() - set(CONFIGURE_ENV - cd ${MINGW_PATH} && - call ${MINGW_SHELL} && - call ${PERL_SHELL} && - set path && - set CFLAGS=-g && - set LDFLAGS=-Wl,--as-needed -static-libgcc - ) + set(CONFIGURE_ENV + cd ${MINGW_PATH} && + call ${MINGW_SHELL} && + call ${PERL_SHELL} && + set path && + set CFLAGS=-g && + set LDFLAGS=-Wl,--as-needed -static-libgcc + ) - set(CONFIGURE_ENV_NO_PERL - cd ${MINGW_PATH} && - call ${MINGW_SHELL} && - set path && - set CFLAGS=-g && - set LDFLAGS=-Wl,--as-needed -static-libgcc - ) + set(CONFIGURE_ENV_NO_PERL + cd ${MINGW_PATH} && + call ${MINGW_SHELL} && + set path && + set CFLAGS=-g && + set LDFLAGS=-Wl,--as-needed -static-libgcc + ) - set(CONFIGURE_COMMAND sh ./configure) - set(CONFIGURE_COMMAND_NO_TARGET ${CONFIGURE_COMMAND}) + set(CONFIGURE_COMMAND sh ./configure) + set(CONFIGURE_COMMAND_NO_TARGET ${CONFIGURE_COMMAND}) else() - set(PATCH_CMD patch) - set(LIBEXT ".a") - set(LIBPREFIX "lib") + set(PATCH_CMD patch) + set(LIBEXT ".a") + set(LIBPREFIX "lib") - if(APPLE) - # Let's get the current Xcode dir, to support xcode-select - execute_process( - COMMAND xcode-select --print-path - OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE - ) - set(OSX_ARCHITECTURES x86_64) - set(OSX_DEPLOYMENT_TARGET 10.9) - set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk) + if(APPLE) + # Let's get the current Xcode dir, to support xcode-select + execute_process( + COMMAND xcode-select --print-path + OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE + ) + set(OSX_ARCHITECTURES x86_64) + set(OSX_DEPLOYMENT_TARGET 10.9) + set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk) - set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}") - set(PLATFORM_CXXFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++") - set(PLATFORM_LDFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}") - set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin13.0.0) # OS X 10.9 - set(PLATFORM_CMAKE_FLAGS - -DCMAKE_OSX_ARCHITECTURES:STRING=${OSX_ARCHITECTURES} - -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET} - -DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT} - ) - else() - set(PLATFORM_CFLAGS "-fPIC") - set(PLATFORM_CXXFLAGS "-std=c++11 -fPIC") - set(PLATFORM_LDFLAGS) - set(PLATFORM_BUILD_TARGET) - set(PLATFORM_CMAKE_FLAGS -DCMAKE_INSTALL_LIBDIR=lib) - endif() + set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}") + set(PLATFORM_CXXFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++") + set(PLATFORM_LDFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET}") + set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin13.0.0) # OS X 10.9 + set(PLATFORM_CMAKE_FLAGS + -DCMAKE_OSX_ARCHITECTURES:STRING=${OSX_ARCHITECTURES} + -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET} + -DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT} + ) + else() + set(PLATFORM_CFLAGS "-fPIC") + set(PLATFORM_CXXFLAGS "-std=c++11 -fPIC") + set(PLATFORM_LDFLAGS) + set(PLATFORM_BUILD_TARGET) + set(PLATFORM_CMAKE_FLAGS -DCMAKE_INSTALL_LIBDIR=lib) + endif() - if(WITH_OPTIMIZED_DEBUG) - set(BLENDER_CMAKE_C_FLAGS_DEBUG "-O2 -DNDEBUG ${PLATFORM_CFLAGS}") - else() - set(BLENDER_CMAKE_C_FLAGS_DEBUG "-g ${PLATFORM_CFLAGS}") - endif() - set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG ${PLATFORM_CFLAGS}") - set(BLENDER_CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${PLATFORM_CFLAGS}") - set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CFLAGS}") + if(WITH_OPTIMIZED_DEBUG) + set(BLENDER_CMAKE_C_FLAGS_DEBUG "-O2 -DNDEBUG ${PLATFORM_CFLAGS}") + else() + set(BLENDER_CMAKE_C_FLAGS_DEBUG "-g ${PLATFORM_CFLAGS}") + endif() + set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG ${PLATFORM_CFLAGS}") + set(BLENDER_CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${PLATFORM_CFLAGS}") + set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CFLAGS}") - if(WITH_OPTIMIZED_DEBUG) - set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "-O2 -DNDEBUG ${PLATFORM_CXXFLAGS}") - else() - set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "-g ${PLATFORM_CXXFLAGS}") - endif() + if(WITH_OPTIMIZED_DEBUG) + set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "-O2 -DNDEBUG ${PLATFORM_CXXFLAGS}") + else() + set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "-g ${PLATFORM_CXXFLAGS}") + endif() - set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG ${PLATFORM_CXXFLAGS}") - set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${PLATFORM_CXXFLAGS}") - set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CXXFLAGS}") + set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG ${PLATFORM_CXXFLAGS}") + set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${PLATFORM_CXXFLAGS}") + set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CXXFLAGS}") - set(CONFIGURE_ENV - export MACOSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} && - export CFLAGS=${PLATFORM_CFLAGS} && - export CXXFLAGS=${PLATFORM_CXXFLAGS} && - export LDFLAGS=${PLATFORM_LDFLAGS} - ) - set(CONFIGURE_ENV_NO_PERL ${CONFIGURE_ENV}) - set(CONFIGURE_COMMAND ./configure ${PLATFORM_BUILD_TARGET}) - set(CONFIGURE_COMMAND_NO_TARGET ./configure) + set(CONFIGURE_ENV + export MACOSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} && + export CFLAGS=${PLATFORM_CFLAGS} && + export CXXFLAGS=${PLATFORM_CXXFLAGS} && + export LDFLAGS=${PLATFORM_LDFLAGS} + ) + set(CONFIGURE_ENV_NO_PERL ${CONFIGURE_ENV}) + set(CONFIGURE_COMMAND ./configure ${PLATFORM_BUILD_TARGET}) + set(CONFIGURE_COMMAND_NO_TARGET ./configure) endif() set(DEFAULT_CMAKE_FLAGS - -DCMAKE_BUILD_TYPE=${BUILD_MODE} - -DCMAKE_C_FLAGS_DEBUG=${BLENDER_CMAKE_C_FLAGS_DEBUG} - -DCMAKE_C_FLAGS_MINSIZEREL=${BLENDER_CMAKE_C_FLAGS_MINSIZEREL} - -DCMAKE_C_FLAGS_RELEASE=${BLENDER_CMAKE_C_FLAGS_RELEASE} - -DCMAKE_C_FLAGS_RELWITHDEBINFO=${BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO} - -DCMAKE_CXX_FLAGS_DEBUG=${BLENDER_CMAKE_CXX_FLAGS_DEBUG} - -DCMAKE_CXX_FLAGS_MINSIZEREL=${BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL} - -DCMAKE_CXX_FLAGS_RELEASE=${BLENDER_CMAKE_CXX_FLAGS_RELEASE} - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} - ${PLATFORM_CMAKE_FLAGS} + -DCMAKE_BUILD_TYPE=${BUILD_MODE} + -DCMAKE_C_FLAGS_DEBUG=${BLENDER_CMAKE_C_FLAGS_DEBUG} + -DCMAKE_C_FLAGS_MINSIZEREL=${BLENDER_CMAKE_C_FLAGS_MINSIZEREL} + -DCMAKE_C_FLAGS_RELEASE=${BLENDER_CMAKE_C_FLAGS_RELEASE} + -DCMAKE_C_FLAGS_RELWITHDEBINFO=${BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO} + -DCMAKE_CXX_FLAGS_DEBUG=${BLENDER_CMAKE_CXX_FLAGS_DEBUG} + -DCMAKE_CXX_FLAGS_MINSIZEREL=${BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL} + -DCMAKE_CXX_FLAGS_RELEASE=${BLENDER_CMAKE_CXX_FLAGS_RELEASE} + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} + ${PLATFORM_CMAKE_FLAGS} ) if(WIN32) - #we need both flavors to build the thumbnail dlls - if(MSVC12) - set(GENERATOR_32 "Visual Studio 12 2013") - set(GENERATOR_64 "Visual Studio 12 2013 Win64") - elseif(MSVC14) - set(GENERATOR_32 "Visual Studio 14 2015") - set(GENERATOR_64 "Visual Studio 14 2015 Win64") - endif() + #we need both flavors to build the thumbnail dlls + if(MSVC12) + set(GENERATOR_32 "Visual Studio 12 2013") + set(GENERATOR_64 "Visual Studio 12 2013 Win64") + elseif(MSVC14) + set(GENERATOR_32 "Visual Studio 14 2015") + set(GENERATOR_64 "Visual Studio 14 2015 Win64") + endif() endif() if(WIN32) - if(BUILD_MODE STREQUAL Debug) - set(ZLIB_LIBRARY zlibstaticd${LIBEXT}) - else() - set(ZLIB_LIBRARY zlibstatic${LIBEXT}) - endif() + if(BUILD_MODE STREQUAL Debug) + set(ZLIB_LIBRARY zlibstaticd${LIBEXT}) + else() + set(ZLIB_LIBRARY zlibstatic${LIBEXT}) + endif() else() - set(ZLIB_LIBRARY libz${LIBEXT}) + set(ZLIB_LIBRARY libz${LIBEXT}) endif() if(MSVC) - set_property(GLOBAL PROPERTY USE_FOLDERS ON) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif() set(CMAKE_INSTALL_MESSAGE LAZY) diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake index 795892f29e2..7479a0f1efb 100644 --- a/build_files/build_environment/cmake/osl.cmake +++ b/build_files/build_environment/cmake/osl.cmake @@ -17,116 +17,116 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") - set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DFLEX_EXTRA_OPTIONS="--wincompat" -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe) - set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/libpng16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}") - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") - set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=0) - else() - set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=sse2) - endif() - SET(OSL_PLATFORM_FLAGS -DLINKSTATIC=ON) + set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") + set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DFLEX_EXTRA_OPTIONS="--wincompat" -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe) + set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/libpng16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}") + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") + set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=0) + else() + set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=sse2) + endif() + SET(OSL_PLATFORM_FLAGS -DLINKSTATIC=ON) else() - set(OSL_CMAKE_CXX_STANDARD_LIBRARIES) - set(OSL_FLEX_BISON) - set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}") - SET(OSL_PLATFORM_FLAGS) + set(OSL_CMAKE_CXX_STANDARD_LIBRARIES) + set(OSL_FLEX_BISON) + set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}") + SET(OSL_PLATFORM_FLAGS) endif() set(OSL_ILMBASE_CUSTOM_LIBRARIES "${LIBDIR}/ilmbase/lib/Imath${ILMBASE_VERSION_POSTFIX}.lib^^${LIBDIR}/ilmbase/lib/Half{ILMBASE_VERSION_POSTFIX}.lib^^${LIBDIR}/ilmbase/lib/IlmThread${ILMBASE_VERSION_POSTFIX}.lib^^${LIBDIR}/ilmbase/lib/Iex${ILMBASE_VERSION_POSTFIX}.lib") set(OSL_LLVM_LIBRARY "${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMAnalysis${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMAsmParser${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMAsmPrinter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMBitReader${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMBitWriter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMCodeGen${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMCore${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMDebugInfo${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMExecutionEngine${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMInstCombine${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMInstrumentation${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMInterpreter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMJIT${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMLinker${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMC${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMCDisassembler${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMCJIT${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMMCParser${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMObject${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMRuntimeDyld${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMScalarOpts${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMSelectionDAG${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMSupport${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMTableGen${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMTarget${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMTransformUtils${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMVectorize${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86AsmParser${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86AsmPrinter${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86CodeGen${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Desc${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Disassembler${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Info${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMX86Utils${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMipa${LIBEXT};${LIBDIR}/llvm/lib/${LIBPREFIX}LLVMipo${LIBEXT}") set(OSL_EXTRA_ARGS - -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} - -DBoost_USE_MULTITHREADED=ON - -DBoost_USE_STATIC_LIBS=ON - -DBoost_USE_STATIC_RUNTIME=ON - -DBOOST_ROOT=${LIBDIR}/boost - -DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/ - -DBoost_NO_SYSTEM_PATHS=ON - -DLLVM_DIRECTORY=${LIBDIR}/llvm - -DLLVM_INCLUDES=${LIBDIR}/llvm/include - -DLLVM_LIB_DIR=${LIBDIR}/llvm/lib - -DLLVM_VERSION=3.4 - -DLLVM_LIBRARY=${OSL_LLVM_LIBRARY} - -DOPENEXR_HOME=${LIBDIR}/openexr/ - -DILMBASE_HOME=${LIBDIR}/ilmbase/ - -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/ - -DOPENEXR_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} - -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/ - -DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} - -DOSL_BUILD_TESTS=OFF - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - -DOPENIMAGEIOHOME=${LIBDIR}/openimageio/ - -DOPENIMAGEIO_LIBRARY=${OSL_OPENIMAGEIO_LIBRARY} - -DOPENIMAGEIO_INCLUDES=${LIBDIR}/openimageio/include - ${OSL_FLEX_BISON} - -DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES} - -DBUILDSTATIC=ON - ${OSL_PLATFORM_FLAGS} - -DOSL_BUILD_PLUGINS=Off - -DSTOP_ON_WARNING=OFF - -DUSE_LLVM_BITCODE=OFF - -DUSE_PARTIO=OFF - ${OSL_SIMD_FLAGS} - -DPARTIO_LIBRARIES= + -DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING} + -DBoost_USE_MULTITHREADED=ON + -DBoost_USE_STATIC_LIBS=ON + -DBoost_USE_STATIC_RUNTIME=ON + -DBOOST_ROOT=${LIBDIR}/boost + -DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/ + -DBoost_NO_SYSTEM_PATHS=ON + -DLLVM_DIRECTORY=${LIBDIR}/llvm + -DLLVM_INCLUDES=${LIBDIR}/llvm/include + -DLLVM_LIB_DIR=${LIBDIR}/llvm/lib + -DLLVM_VERSION=3.4 + -DLLVM_LIBRARY=${OSL_LLVM_LIBRARY} + -DOPENEXR_HOME=${LIBDIR}/openexr/ + -DILMBASE_HOME=${LIBDIR}/ilmbase/ + -DILMBASE_INCLUDE_DIR=${LIBDIR}/ilmbase/include/ + -DOPENEXR_HALF_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Half${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_IMATH_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Imath${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}IlmThread${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_IEX_LIBRARY=${LIBDIR}/ilmbase/lib/${LIBPREFIX}Iex${ILMBASE_VERSION_POSTFIX}${LIBEXT} + -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/ + -DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} + -DOSL_BUILD_TESTS=OFF + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + -DOPENIMAGEIOHOME=${LIBDIR}/openimageio/ + -DOPENIMAGEIO_LIBRARY=${OSL_OPENIMAGEIO_LIBRARY} + -DOPENIMAGEIO_INCLUDES=${LIBDIR}/openimageio/include + ${OSL_FLEX_BISON} + -DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES} + -DBUILDSTATIC=ON + ${OSL_PLATFORM_FLAGS} + -DOSL_BUILD_PLUGINS=Off + -DSTOP_ON_WARNING=OFF + -DUSE_LLVM_BITCODE=OFF + -DUSE_PARTIO=OFF + ${OSL_SIMD_FLAGS} + -DPARTIO_LIBRARIES= ) if(WIN32) - set(OSL_EXTRA_ARGS - ${OSL_EXTRA_ARGS} - -DPUGIXML_HOME=${LIBDIR}/pugixml - ) + set(OSL_EXTRA_ARGS + ${OSL_EXTRA_ARGS} + -DPUGIXML_HOME=${LIBDIR}/pugixml + ) elseif(APPLE) - # Make symbol hiding consistent with OIIO which defaults to OFF, - # avoids linker warnings on macOS - set(OSL_EXTRA_ARGS - ${OSL_EXTRA_ARGS} - -DHIDE_SYMBOLS=OFF - ) + # Make symbol hiding consistent with OIIO which defaults to OFF, + # avoids linker warnings on macOS + set(OSL_EXTRA_ARGS + ${OSL_EXTRA_ARGS} + -DHIDE_SYMBOLS=OFF + ) endif() ExternalProject_Add(external_osl - URL ${OSL_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - LIST_SEPARATOR ^^ - URL_HASH MD5=${OSL_HASH} - PREFIX ${BUILD_DIR}/osl - PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/osl -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${DEFAULT_CMAKE_FLAGS} ${OSL_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/osl + URL ${OSL_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + LIST_SEPARATOR ^^ + URL_HASH MD5=${OSL_HASH} + PREFIX ${BUILD_DIR}/osl + PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/osl -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${DEFAULT_CMAKE_FLAGS} ${OSL_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/osl ) add_dependencies( - external_osl - external_boost - ll - external_clang - external_ilmbase - external_openexr - external_zlib - external_flexbison - external_openimageio - external_pugixml + external_osl + external_boost + ll + external_clang + external_ilmbase + external_openexr + external_zlib + external_flexbison + external_openimageio + external_pugixml ) if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_osl after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/osl/ ${HARVEST_TARGET}/osl - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_osl after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslcomp.lib ${HARVEST_TARGET}/osl/lib/oslcomp_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslexec.lib ${HARVEST_TARGET}/osl/lib/oslexec_d.lib - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslquery.lib ${HARVEST_TARGET}/osl/lib/oslquery_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_osl after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/osl/ ${HARVEST_TARGET}/osl + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_osl after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslcomp.lib ${HARVEST_TARGET}/osl/lib/oslcomp_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslexec.lib ${HARVEST_TARGET}/osl/lib/oslexec_d.lib + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslquery.lib ${HARVEST_TARGET}/osl/lib/oslquery_d.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/png.cmake b/build_files/build_environment/cmake/png.cmake index 6e51fb9ebe4..2bf32b77ce9 100644 --- a/build_files/build_environment/cmake/png.cmake +++ b/build_files/build_environment/cmake/png.cmake @@ -17,28 +17,28 @@ # ***** END GPL LICENSE BLOCK ***** set(PNG_EXTRA_ARGS - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ - -DPNG_STATIC=ON + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ + -DPNG_STATIC=ON ) ExternalProject_Add(external_png - URL ${PNG_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${PNG_HASH} - PREFIX ${BUILD_DIR}/png - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/png + URL ${PNG_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${PNG_HASH} + PREFIX ${BUILD_DIR}/png + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/png ) add_dependencies( - external_png - external_zlib + external_png + external_zlib ) if(WIN32 AND BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_png after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT} - DEPENDEES install - ) + ExternalProject_Add_Step(external_png after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT} + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/pthreads.cmake b/build_files/build_environment/cmake/pthreads.cmake index 8d605973fa5..c5c331117fc 100644 --- a/build_files/build_environment/cmake/pthreads.cmake +++ b/build_files/build_environment/cmake/pthreads.cmake @@ -18,36 +18,36 @@ if(WIN32) - if(MSVC14) # vs2015 has timespec - set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H /D_TIMESPEC_DEFINED ") - else() # everything before doesn't - set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H ") - endif() + if(MSVC14) # vs2015 has timespec + set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H /D_TIMESPEC_DEFINED ") + else() # everything before doesn't + set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H ") + endif() - set(PTHREADS_BUILD cd ${BUILD_DIR}/pthreads/src/external_pthreads/ && cd && nmake VC-static /e CPPFLAGS=${PTHREAD_CPPFLAGS} /e XLIBS=/NODEFAULTLIB:msvcr) + set(PTHREADS_BUILD cd ${BUILD_DIR}/pthreads/src/external_pthreads/ && cd && nmake VC-static /e CPPFLAGS=${PTHREAD_CPPFLAGS} /e XLIBS=/NODEFAULTLIB:msvcr) - ExternalProject_Add(external_pthreads - URL ${PTHREADS_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${PTHREADS_HASH} - PREFIX ${BUILD_DIR}/pthreads - CONFIGURE_COMMAND echo . - BUILD_COMMAND ${PTHREADS_BUILD} - INSTALL_COMMAND COMMAND - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/libpthreadVC3${LIBEXT} ${LIBDIR}/pthreads/lib/pthreadVC3${LIBEXT} && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthread.h ${LIBDIR}/pthreads/inc/pthread.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/sched.h ${LIBDIR}/pthreads/inc/sched.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/semaphore.h ${LIBDIR}/pthreads/inc/semaphore.h && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/_ptw32.h ${LIBDIR}/pthreads/inc/_ptw32.h - INSTALL_DIR ${LIBDIR}/pthreads - ) + ExternalProject_Add(external_pthreads + URL ${PTHREADS_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${PTHREADS_HASH} + PREFIX ${BUILD_DIR}/pthreads + CONFIGURE_COMMAND echo . + BUILD_COMMAND ${PTHREADS_BUILD} + INSTALL_COMMAND COMMAND + ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/libpthreadVC3${LIBEXT} ${LIBDIR}/pthreads/lib/pthreadVC3${LIBEXT} && + ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthread.h ${LIBDIR}/pthreads/inc/pthread.h && + ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/sched.h ${LIBDIR}/pthreads/inc/sched.h && + ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/semaphore.h ${LIBDIR}/pthreads/inc/semaphore.h && + ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/_ptw32.h ${LIBDIR}/pthreads/inc/_ptw32.h + INSTALL_DIR ${LIBDIR}/pthreads + ) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_pthreads after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/inc/ ${HARVEST_TARGET}/pthreads/include/ - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/lib/ ${HARVEST_TARGET}/pthreads/lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_pthreads after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/inc/ ${HARVEST_TARGET}/pthreads/include/ + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/lib/ ${HARVEST_TARGET}/pthreads/lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/pugixml.cmake b/build_files/build_environment/cmake/pugixml.cmake index fe5a77efa33..8804ae74836 100644 --- a/build_files/build_environment/cmake/pugixml.cmake +++ b/build_files/build_environment/cmake/pugixml.cmake @@ -20,24 +20,24 @@ set(PUGIXML_EXTRA_ARGS ) ExternalProject_Add(external_pugixml - URL ${PUGIXML_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${PUGIXML_HASH} - PREFIX ${BUILD_DIR}/pugixml - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/pugixml ${DEFAULT_CMAKE_FLAGS} ${PUGIXML_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/pugixml + URL ${PUGIXML_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${PUGIXML_HASH} + PREFIX ${BUILD_DIR}/pugixml + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/pugixml ${DEFAULT_CMAKE_FLAGS} ${PUGIXML_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/pugixml ) if(WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_pugixml after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pugixml/lib/pugixml.lib ${HARVEST_TARGET}/osl/lib/pugixml.lib - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_pugixml after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pugixml/lib/pugixml.lib ${HARVEST_TARGET}/osl/lib/pugixml_d.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_pugixml after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pugixml/lib/pugixml.lib ${HARVEST_TARGET}/osl/lib/pugixml.lib + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_pugixml after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pugixml/lib/pugixml.lib ${HARVEST_TARGET}/osl/lib/pugixml_d.lib + DEPENDEES install + ) + endif() endif() \ No newline at end of file diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index 29eb99288e9..cb3aefa3a9d 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -18,164 +18,164 @@ set(PYTHON_POSTFIX) if(BUILD_MODE STREQUAL Debug) - set(PYTHON_POSTFIX _d) + set(PYTHON_POSTFIX _d) endif() if(WIN32) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(SSL_POSTFIX -x64) - else() - set(SSL_POSTFIX) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(SSL_POSTFIX -x64) + else() + set(SSL_POSTFIX) + endif() - set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe) + set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe) - macro(cmake_to_dos_path MsysPath ResultingPath) - string(REPLACE "/" "\\" ${ResultingPath} "${MsysPath}") - endmacro() + macro(cmake_to_dos_path MsysPath ResultingPath) + string(REPLACE "/" "\\" ${ResultingPath} "${MsysPath}") + endmacro() - set(PYTHON_EXTERNALS_FOLDER ${BUILD_DIR}/python/src/external_python/externals) - set(DOWNLOADS_EXTERNALS_FOLDER ${DOWNLOAD_DIR}/externals) + set(PYTHON_EXTERNALS_FOLDER ${BUILD_DIR}/python/src/external_python/externals) + set(DOWNLOADS_EXTERNALS_FOLDER ${DOWNLOAD_DIR}/externals) - cmake_to_dos_path(${PYTHON_EXTERNALS_FOLDER} PYTHON_EXTERNALS_FOLDER_DOS) - cmake_to_dos_path(${DOWNLOADS_EXTERNALS_FOLDER} DOWNLOADS_EXTERNALS_FOLDER_DOS) + cmake_to_dos_path(${PYTHON_EXTERNALS_FOLDER} PYTHON_EXTERNALS_FOLDER_DOS) + cmake_to_dos_path(${DOWNLOADS_EXTERNALS_FOLDER} DOWNLOADS_EXTERNALS_FOLDER_DOS) - message("Python externals = ${PYTHON_EXTERNALS_FOLDER}") - message("Python externals_dos = ${PYTHON_EXTERNALS_FOLDER_DOS}") - message("Python DOWNLOADS_EXTERNALS_FOLDER = ${DOWNLOADS_EXTERNALS_FOLDER}") - message("Python DOWNLOADS_EXTERNALS_FOLDER_DOS = ${DOWNLOADS_EXTERNALS_FOLDER_DOS}") + message("Python externals = ${PYTHON_EXTERNALS_FOLDER}") + message("Python externals_dos = ${PYTHON_EXTERNALS_FOLDER_DOS}") + message("Python DOWNLOADS_EXTERNALS_FOLDER = ${DOWNLOADS_EXTERNALS_FOLDER}") + message("Python DOWNLOADS_EXTERNALS_FOLDER_DOS = ${DOWNLOADS_EXTERNALS_FOLDER_DOS}") - ExternalProject_Add(external_python - URL ${PYTHON_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${PYTHON_HASH} - PREFIX ${BUILD_DIR}/python - PATCH_COMMAND - echo mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" && - mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" - CONFIGURE_COMMAND "" - BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p ${PYTHON_ARCH} -c ${BUILD_MODE} - INSTALL_COMMAND COMMAND - ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll && - ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb && - ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib && - ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp && - ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION} && - ${CMAKE_COMMAND} -E copy "${BUILD_DIR}/python/src/external_python/PC/pyconfig.h" ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION}/pyconfig.h - ) - message("PythinRedist = ${BUILD_DIR}/python/src/external_python/redist") - message("POutput = ${PYTHON_OUTPUTDIR}") + ExternalProject_Add(external_python + URL ${PYTHON_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${PYTHON_HASH} + PREFIX ${BUILD_DIR}/python + PATCH_COMMAND + echo mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" && + mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" + CONFIGURE_COMMAND "" + BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p ${PYTHON_ARCH} -c ${BUILD_MODE} + INSTALL_COMMAND COMMAND + ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll && + ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb && + ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib && + ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp && + ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION} && + ${CMAKE_COMMAND} -E copy "${BUILD_DIR}/python/src/external_python/PC/pyconfig.h" ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION}/pyconfig.h + ) + message("PythinRedist = ${BUILD_DIR}/python/src/external_python/redist") + message("POutput = ${PYTHON_OUTPUTDIR}") else() - if(APPLE) - # disable functions that can be in 10.13 sdk but aren't available on 10.9 target - set(PYTHON_FUNC_CONFIGS - export ac_cv_func_futimens=no && - export ac_cv_func_utimensat=no && - export ac_cv_func_basename_r=no && - export ac_cv_func_clock_getres=no && - export ac_cv_func_clock_gettime=no && - export ac_cv_func_clock_settime=no && - export ac_cv_func_dirname_r=no && - export ac_cv_func_getentropy=no && - export ac_cv_func_mkostemp=no && - export ac_cv_func_mkostemps=no && - export ac_cv_func_timingsafe_bcmp=no) - set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS}) - set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe) - else() - set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV}) - set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python) - endif() + if(APPLE) + # disable functions that can be in 10.13 sdk but aren't available on 10.9 target + set(PYTHON_FUNC_CONFIGS + export ac_cv_func_futimens=no && + export ac_cv_func_utimensat=no && + export ac_cv_func_basename_r=no && + export ac_cv_func_clock_getres=no && + export ac_cv_func_clock_gettime=no && + export ac_cv_func_clock_settime=no && + export ac_cv_func_dirname_r=no && + export ac_cv_func_getentropy=no && + export ac_cv_func_mkostemp=no && + export ac_cv_func_mkostemps=no && + export ac_cv_func_timingsafe_bcmp=no) + set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS}) + set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe) + else() + set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV}) + set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python) + endif() - set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl") - set(PYTHON_CFLAGS "-I${LIBDIR}/sqlite/include -I${LIBDIR}/bzip2/include -I${LIBDIR}/lzma/include -I${LIBDIR}/zlib/include") - set(PYTHON_LDFLAGS "-L${LIBDIR}/ffi/lib -L${LIBDIR}/sqlite/lib -L${LIBDIR}/bzip2/lib -L${LIBDIR}/lzma/lib -L${LIBDIR}/zlib/lib") - set(PYTHON_CONFIGURE_EXTRA_ENV - export CFLAGS=${PYTHON_CFLAGS} && - export CPPFLAGS=${PYTHON_CFLAGS} && - export LDFLAGS=${PYTHON_LDFLAGS} && - export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig) - set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_linux.diff) + set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl") + set(PYTHON_CFLAGS "-I${LIBDIR}/sqlite/include -I${LIBDIR}/bzip2/include -I${LIBDIR}/lzma/include -I${LIBDIR}/zlib/include") + set(PYTHON_LDFLAGS "-L${LIBDIR}/ffi/lib -L${LIBDIR}/sqlite/lib -L${LIBDIR}/bzip2/lib -L${LIBDIR}/lzma/lib -L${LIBDIR}/zlib/lib") + set(PYTHON_CONFIGURE_EXTRA_ENV + export CFLAGS=${PYTHON_CFLAGS} && + export CPPFLAGS=${PYTHON_CFLAGS} && + export LDFLAGS=${PYTHON_LDFLAGS} && + export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig) + set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_linux.diff) - ExternalProject_Add(external_python - URL ${PYTHON_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${PYTHON_HASH} - PREFIX ${BUILD_DIR}/python - PATCH_COMMAND ${PYTHON_PATCH} - CONFIGURE_COMMAND ${PYTHON_CONFIGURE_ENV} && ${PYTHON_CONFIGURE_EXTRA_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/python ${PYTHON_CONFIGURE_EXTRA_ARGS} - BUILD_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make install - INSTALL_DIR ${LIBDIR}/python) + ExternalProject_Add(external_python + URL ${PYTHON_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${PYTHON_HASH} + PREFIX ${BUILD_DIR}/python + PATCH_COMMAND ${PYTHON_PATCH} + CONFIGURE_COMMAND ${PYTHON_CONFIGURE_ENV} && ${PYTHON_CONFIGURE_EXTRA_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/python ${PYTHON_CONFIGURE_EXTRA_ARGS} + BUILD_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make install + INSTALL_DIR ${LIBDIR}/python) - add_custom_target(Make_Python_Environment ALL DEPENDS external_python) + add_custom_target(Make_Python_Environment ALL DEPENDS external_python) endif() if(MSVC) - add_custom_command( - OUTPUT ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz - OUTPUT ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe - COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/lib ${BUILD_DIR}/python/src/external_python/redist/lib - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_asyncio${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_asyncio${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_bz2${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_bz2${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_contextvars${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_contextvars${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ctypes${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ctypes${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ctypes_test${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ctypes_test${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_decimal${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_decimal${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_distutils_findvs${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_distutils_findvs${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_elementtree${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_elementtree${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_hashlib${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_hashlib${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_lzma${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_lzma${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_msi${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_msi${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_multiprocessing${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_multiprocessing${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_overlapped${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_overlapped${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_queue${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_queue${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_socket${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_socket${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_sqlite3${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_sqlite3${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ssl${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ssl${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testbuffer${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testbuffer${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testcapi${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testcapi${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testimportmultiple${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testimportmultiple${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testmultiphase${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testmultiphase${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/pyexpat${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/pyexpat${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/select${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/select${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/unicodedata${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/unicodedata${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/winsound${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/winsound${PYTHON_POSTFIX}.pyd - #xxlimited is an example extension module, we don't need to ship it and debug doesn't build it - #leaving it commented out, so I won't get confused again with the next update. - #COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/xxlimited${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/xxlimited${PYTHON_POSTFIX}.pyd - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/libssl-1_1${SSL_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/redist/lib/libssl-1_1${SSL_POSTFIX}.dll - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/libcrypto-1_1${SSL_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/redist/lib/libcrypto-1_1${SSL_POSTFIX}.dll - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/sqlite3${PYTHON_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/redist/lib/sqlite3${PYTHON_POSTFIX}.dll - COMMAND ${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/python/src/external_python/redist" ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz" "." - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz - ) + add_custom_command( + OUTPUT ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz + OUTPUT ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe + COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/lib ${BUILD_DIR}/python/src/external_python/redist/lib + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_asyncio${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_asyncio${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_bz2${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_bz2${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_contextvars${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_contextvars${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ctypes${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ctypes${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ctypes_test${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ctypes_test${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_decimal${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_decimal${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_distutils_findvs${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_distutils_findvs${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_elementtree${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_elementtree${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_hashlib${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_hashlib${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_lzma${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_lzma${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_msi${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_msi${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_multiprocessing${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_multiprocessing${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_overlapped${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_overlapped${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_queue${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_queue${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_socket${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_socket${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_sqlite3${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_sqlite3${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_ssl${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_ssl${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testbuffer${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testbuffer${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testcapi${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testcapi${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testimportmultiple${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testimportmultiple${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/_testmultiphase${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/_testmultiphase${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/pyexpat${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/pyexpat${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/select${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/select${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/unicodedata${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/unicodedata${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/winsound${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/winsound${PYTHON_POSTFIX}.pyd + #xxlimited is an example extension module, we don't need to ship it and debug doesn't build it + #leaving it commented out, so I won't get confused again with the next update. + #COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/xxlimited${PYTHON_POSTFIX}.pyd" ${BUILD_DIR}/python/src/external_python/redist/lib/xxlimited${PYTHON_POSTFIX}.pyd + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/libssl-1_1${SSL_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/redist/lib/libssl-1_1${SSL_POSTFIX}.dll + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/libcrypto-1_1${SSL_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/redist/lib/libcrypto-1_1${SSL_POSTFIX}.dll + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/sqlite3${PYTHON_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/redist/lib/sqlite3${PYTHON_POSTFIX}.dll + COMMAND ${CMAKE_COMMAND} -E chdir "${BUILD_DIR}/python/src/external_python/redist" ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz" "." + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz + ) - add_custom_target(Package_Python ALL DEPENDS external_python ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe) + add_custom_target(Package_Python ALL DEPENDS external_python ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.tar.gz ${BUILD_DIR}/python/src/external_python/redist/bin/python${PYTHON_POSTFIX}.exe) - add_custom_command(OUTPUT ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe - COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/redist ${BUILD_DIR}/python/src/external_python/run - COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${BUILD_DIR}/python/src/external_python/run/include - COMMAND ${CMAKE_COMMAND} -E copy "${BUILD_DIR}/python/src/external_python/PC/pyconfig.h" ${BUILD_DIR}/python/src/external_python/run/include/pyconfig.h - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib" ${BUILD_DIR}/python/src/external_python/run/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib #missing postfix on purpose, distutils is not expecting it - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib" ${BUILD_DIR}/python/src/external_python/run/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib #other things like numpy still want it though. - COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe - COMMAND ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe -m ensurepip --upgrade - ) - add_custom_target(Make_Python_Environment ALL DEPENDS ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe Package_Python) + add_custom_command(OUTPUT ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe + COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/redist ${BUILD_DIR}/python/src/external_python/run + COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${BUILD_DIR}/python/src/external_python/run/include + COMMAND ${CMAKE_COMMAND} -E copy "${BUILD_DIR}/python/src/external_python/PC/pyconfig.h" ${BUILD_DIR}/python/src/external_python/run/include/pyconfig.h + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll" ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib" ${BUILD_DIR}/python/src/external_python/run/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib #missing postfix on purpose, distutils is not expecting it + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib" ${BUILD_DIR}/python/src/external_python/run/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib #other things like numpy still want it though. + COMMAND ${CMAKE_COMMAND} -E copy "${PYTHON_OUTPUTDIR}/python${PYTHON_POSTFIX}.exe" ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe + COMMAND ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe -m ensurepip --upgrade + ) + add_custom_target(Make_Python_Environment ALL DEPENDS ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe Package_Python) endif() if(UNIX) - add_dependencies( - external_python - external_bzip2 - external_ffi - external_lzma - external_ssl - external_sqlite - external_zlib - ) + add_dependencies( + external_python + external_bzip2 + external_ffi + external_lzma + external_ssl + external_sqlite + external_zlib + ) endif() diff --git a/build_files/build_environment/cmake/python_site_packages.cmake b/build_files/build_environment/cmake/python_site_packages.cmake index 0619bc3f887..3a2901cadb7 100644 --- a/build_files/build_environment/cmake/python_site_packages.cmake +++ b/build_files/build_environment/cmake/python_site_packages.cmake @@ -16,26 +16,26 @@ # # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(HARVEST_CMD cmd /C FOR /d /r ${BUILD_DIR}/python/src/external_python/run/lib/site-packages %d IN (__pycache__) DO @IF EXIST "%d" rd /s /q "%d" && - ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/idna ${HARVEST_TARGET}/Release/site-packages/idna && - ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/chardet ${HARVEST_TARGET}/Release/site-packages/chardet && - ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/urllib3 ${HARVEST_TARGET}/Release/site-packages/urllib3 && - ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/certifi ${HARVEST_TARGET}/Release/site-packages/certifi && - ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/requests ${HARVEST_TARGET}/Release/site-packages/requests - ) + set(HARVEST_CMD cmd /C FOR /d /r ${BUILD_DIR}/python/src/external_python/run/lib/site-packages %d IN (__pycache__) DO @IF EXIST "%d" rd /s /q "%d" && + ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/idna ${HARVEST_TARGET}/Release/site-packages/idna && + ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/chardet ${HARVEST_TARGET}/Release/site-packages/chardet && + ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/urllib3 ${HARVEST_TARGET}/Release/site-packages/urllib3 && + ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/certifi ${HARVEST_TARGET}/Release/site-packages/certifi && + ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/run/lib/site-packages/requests ${HARVEST_TARGET}/Release/site-packages/requests + ) else() - set(HARVEST_CMD echo .) + set(HARVEST_CMD echo .) endif() ExternalProject_Add(external_python_site_packages - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - PREFIX ${BUILD_DIR}/site_packages - INSTALL_COMMAND ${PYTHON_BINARY} -m pip install idna==${IDNA_VERSION} chardet==${CHARDET_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} --no-binary :all: && ${HARVEST_CMD} + DOWNLOAD_COMMAND "" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + PREFIX ${BUILD_DIR}/site_packages + INSTALL_COMMAND ${PYTHON_BINARY} -m pip install idna==${IDNA_VERSION} chardet==${CHARDET_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} --no-binary :all: && ${HARVEST_CMD} ) add_dependencies( - external_python_site_packages - Make_Python_Environment + external_python_site_packages + Make_Python_Environment ) diff --git a/build_files/build_environment/cmake/sdl.cmake b/build_files/build_environment/cmake/sdl.cmake index ab81ad130e8..5dfe78601ff 100644 --- a/build_files/build_environment/cmake/sdl.cmake +++ b/build_files/build_environment/cmake/sdl.cmake @@ -17,33 +17,33 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(SDL_EXTRA_ARGS - -DSDL_STATIC=Off - ) + set(SDL_EXTRA_ARGS + -DSDL_STATIC=Off + ) else() - set(SDL_EXTRA_ARGS - -DSDL_STATIC=ON - -DSDL_SHARED=OFF - -DSDL_VIDEO=OFF - -DSNDIO=OFF - ) + set(SDL_EXTRA_ARGS + -DSDL_STATIC=ON + -DSDL_SHARED=OFF + -DSDL_VIDEO=OFF + -DSNDIO=OFF + ) endif() ExternalProject_Add(external_sdl - URL ${SDL_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${SDL_HASH} - PREFIX ${BUILD_DIR}/sdl - PATCH_COMMAND ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/sdl/src/external_sdl < ${PATCH_DIR}/sdl.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/sdl ${DEFAULT_CMAKE_FLAGS} ${SDL_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/sdl + URL ${SDL_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${SDL_HASH} + PREFIX ${BUILD_DIR}/sdl + PATCH_COMMAND ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/sdl/src/external_sdl < ${PATCH_DIR}/sdl.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/sdl ${DEFAULT_CMAKE_FLAGS} ${SDL_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/sdl ) if(BUILD_MODE STREQUAL Release AND WIN32) - ExternalProject_Add_Step(external_sdl after_install - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/include/sdl2 ${HARVEST_TARGET}/sdl/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/lib ${HARVEST_TARGET}/sdl/lib - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/bin ${HARVEST_TARGET}/sdl/lib - DEPENDEES install - ) + ExternalProject_Add_Step(external_sdl after_install + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/include/sdl2 ${HARVEST_TARGET}/sdl/include + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/lib ${HARVEST_TARGET}/sdl/lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/bin ${HARVEST_TARGET}/sdl/lib + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/setup_mingw32.cmake b/build_files/build_environment/cmake/setup_mingw32.cmake index afb44e8e88d..c9fbe301ac7 100644 --- a/build_files/build_environment/cmake/setup_mingw32.cmake +++ b/build_files/build_environment/cmake/setup_mingw32.cmake @@ -24,11 +24,11 @@ message("LIBDIR = ${LIBDIR}") macro(cmake_to_msys_path MsysPath ResultingPath) - string(REPLACE ":" "" TmpPath "${MsysPath}") - string(SUBSTRING ${TmpPath} 0 1 Drive) - string(SUBSTRING ${TmpPath} 1 255 PathPart) - string(TOLOWER ${Drive} LowerDrive) - string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart}) + string(REPLACE ":" "" TmpPath "${MsysPath}") + string(SUBSTRING ${TmpPath} 0 1 Drive) + string(SUBSTRING ${TmpPath} 1 255 PathPart) + string(TOLOWER ${Drive} LowerDrive) + string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart}) endmacro() cmake_to_msys_path(${LIBDIR} mingw_LIBDIR) message("mingw_LIBDIR = ${mingw_LIBDIR}") @@ -36,192 +36,192 @@ message("mingw_LIBDIR = ${mingw_LIBDIR}") message("Checking for mingw32") # download mingw32 if(NOT EXISTS "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z") - message("Downloading mingw32") - file(DOWNLOAD "https://astuteinternet.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.4/threads-win32/sjlj/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z") + message("Downloading mingw32") + file(DOWNLOAD "https://astuteinternet.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.4/threads-win32/sjlj/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z") endif() # make mingw root directory if(NOT EXISTS "${DOWNLOAD_DIR}/mingw") - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw - WORKING_DIRECTORY ${DOWNLOAD_DIR} - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw + WORKING_DIRECTORY ${DOWNLOAD_DIR} + ) endif() # extract mingw32 if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd") AND (EXISTS "${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z")) - message("Extracting mingw32") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw - ) + message("Extracting mingw32") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/i686-4.9.4-release-win32-sjlj-rt_v5-rev0.7z + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw + ) endif() message("Checking for pkg-config") if(NOT EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip") - message("Downloading pkg-config") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip") + message("Downloading pkg-config") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip") endif() # extract pkgconfig if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe") AND (EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")) - message("Extracting pkg-config") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/ - ) + message("Extracting pkg-config") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/ + ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe" - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/pkg-config.exe" + ) endif() message("Checking for nasm") if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip") - message("Downloading nasm") - file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win32/nasm-2.13.02-win32.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip") + message("Downloading nasm") + file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win32/nasm-2.13.02-win32.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip") endif() # extract nasm if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip")) - message("Extracting nasm") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/ - ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe" - ) + message("Extracting nasm") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win32.zip" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/ + ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe" + ) endif() SET(NASM_PATH ${DOWNLOAD_DIR}/mingw/mingw32/bin/nasm.exe) message("Checking for mingwGet") if(NOT EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") - message("Downloading mingw-get") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") + message("Downloading mingw-get") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") endif() # extract mingw_get if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")) - message("Extracting mingw-get") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/ - ) + message("Extracting mingw-get") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/ + ) endif() if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/make.exe")) - message("Installing MSYS") - execute_process( - COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-patch - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/ - ) + message("Installing MSYS") + execute_process( + COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-patch + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/ + ) endif() if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/mktemp.exe")) - message("Installing mktemp") - execute_process( - COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-mktemp - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/ - ) + message("Installing mktemp") + execute_process( + COMMAND ${DOWNLOAD_DIR}/mingw/mingw32/bin/mingw-get install msys msys-mktemp + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw32/bin/ + ) endif() message("Checking for CoreUtils") # download old core_utils for pr.exe (ffmpeg needs it to build) if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") - message("Downloading CoreUtils 5.97") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") + message("Downloading CoreUtils 5.97") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") endif() if((EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe")) - message("Installing pr from CoreUtils 5.97") - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils - WORKING_DIRECTORY ${DOWNLOAD_DIR} - ) + message("Installing pr from CoreUtils 5.97") + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils + WORKING_DIRECTORY ${DOWNLOAD_DIR} + ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 - WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 + WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ + ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw32/msys/1.0/bin/pr.exe" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ + ) endif() if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd") - message("Installing ming32sh.cmd") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming32sh.cmd ${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd - ) + message("Installing ming32sh.cmd") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming32sh.cmd ${DOWNLOAD_DIR}/mingw/mingw32/ming32sh.cmd + ) endif() message("Checking for perl") # download perl for libvpx if(NOT EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip") - message("Downloading perl") - file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-32bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip") + message("Downloading perl") + file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-32bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip") endif() # make perl root directory if(NOT EXISTS "${DOWNLOAD_DIR}/perl32") - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl32 - WORKING_DIRECTORY ${DOWNLOAD_DIR} - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl32 + WORKING_DIRECTORY ${DOWNLOAD_DIR} + ) endif() # extract perl if((NOT EXISTS "${DOWNLOAD_DIR}/perl32/portable.perl") AND (EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip")) - message("Extracting perl") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip - WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl32 - ) + message("Extracting perl") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-32bit-portable.zip + WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl32 + ) endif() # get yasm for vpx if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe") - message("Downloading yasm") - file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe") + message("Downloading yasm") + file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/yasm.exe") endif() message("checking i686-w64-mingw32-strings") # copy strings.exe to i686-w64-mingw32-strings for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe") - message("fixing i686-w64-mingw32-strings.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe" - ) + message("fixing i686-w64-mingw32-strings.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strings.exe" + ) endif() message("checking i686-w64-mingw32-ar.exe") # copy ar.exe to i686-w64-mingw32-ar.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe") - message("fixing i686-w64-mingw32-ar.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe" - ) + message("fixing i686-w64-mingw32-ar.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ar.exe" + ) endif() message("checking i686-w64-mingw32-strip.exe") # copy strip.exe to i686-w64-mingw32-strip.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe") - message("fixing i686-w64-mingw32-strip.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe" - ) + message("fixing i686-w64-mingw32-strip.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-strip.exe" + ) endif() message("checking i686-w64-mingw32-ranlib.exe") # copy ranlib.exe to i686-w64-mingw32-ranlib.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe") - message("fixing i686-w64-mingw32-ranlib.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe" - ) + message("fixing i686-w64-mingw32-ranlib.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe" + ) endif() diff --git a/build_files/build_environment/cmake/setup_mingw64.cmake b/build_files/build_environment/cmake/setup_mingw64.cmake index 3ed020d373b..5ac9722d23d 100644 --- a/build_files/build_environment/cmake/setup_mingw64.cmake +++ b/build_files/build_environment/cmake/setup_mingw64.cmake @@ -24,11 +24,11 @@ message("LIBDIR = ${LIBDIR}") macro(cmake_to_msys_path MsysPath ResultingPath) - string(REPLACE ":" "" TmpPath "${MsysPath}") - string(SUBSTRING ${TmpPath} 0 1 Drive) - string(SUBSTRING ${TmpPath} 1 255 PathPart) - string(TOLOWER ${Drive} LowerDrive) - string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart}) + string(REPLACE ":" "" TmpPath "${MsysPath}") + string(SUBSTRING ${TmpPath} 0 1 Drive) + string(SUBSTRING ${TmpPath} 1 255 PathPart) + string(TOLOWER ${Drive} LowerDrive) + string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart}) endmacro() cmake_to_msys_path(${LIBDIR} mingw_LIBDIR) message("mingw_LIBDIR = ${mingw_LIBDIR}") @@ -36,192 +36,192 @@ message("mingw_LIBDIR = ${mingw_LIBDIR}") message("Checking for mingw64") # download ming64 if(NOT EXISTS "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z") - message("Downloading mingw64") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.4/threads-win32/seh/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z") + message("Downloading mingw64") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.4/threads-win32/seh/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z") endif() # make mingw root directory if(NOT EXISTS "${DOWNLOAD_DIR}/mingw") - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw - WORKING_DIRECTORY ${DOWNLOAD_DIR} - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw + WORKING_DIRECTORY ${DOWNLOAD_DIR} + ) endif() # extract mingw64 if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd") AND (EXISTS "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z")) - message("Extracting mingw64") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw - ) + message("Extracting mingw64") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw + ) endif() message("Checking for pkg-config") if(NOT EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip") - message("Downloading pkg-config") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip") + message("Downloading pkg-config") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip") endif() # extract pkgconfig if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/pkg-config.exe") AND (EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")) - message("Extracting pkg-config") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/ - ) + message("Extracting pkg-config") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/ + ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/pkg-config.exe" - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/pkg-config.exe" + ) endif() message("Checking for nasm") if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip") - message("Downloading nasm") - file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win64/nasm-2.13.02-win64.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip") + message("Downloading nasm") + file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win64/nasm-2.13.02-win64.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip") endif() # extract nasm if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip")) - message("Extracting nasm") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/ - ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe" - ) + message("Extracting nasm") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/ + ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe" + ) endif() SET(NASM_PATH ${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe) message("Checking for mingwGet") if(NOT EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") - message("Downloading mingw-get") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") + message("Downloading mingw-get") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip") endif() # extract mingw_get if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")) - message("Extracting mingw-get") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/ - ) + message("Extracting mingw-get") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/ + ) endif() if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/make.exe")) - message("Installing MSYS") - execute_process( - COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-patch - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/ - ) + message("Installing MSYS") + execute_process( + COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-patch + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/ + ) endif() if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/mktemp.exe")) - message("Installing mktemp") - execute_process( - COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-mktemp - WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/ - ) + message("Installing mktemp") + execute_process( + COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-mktemp + WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/ + ) endif() message("Checking for CoreUtils") # download old core_utils for pr.exe (ffmpeg needs it to build) if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") - message("Downloading CoreUtils 5.97") - file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") + message("Downloading CoreUtils 5.97") + file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") endif() if((EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/pr.exe")) - message("Installing pr from CoreUtils 5.97") - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils - WORKING_DIRECTORY ${DOWNLOAD_DIR} - ) + message("Installing pr from CoreUtils 5.97") + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils + WORKING_DIRECTORY ${DOWNLOAD_DIR} + ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 - WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 + WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ + ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/pr.exe" - WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/pr.exe" + WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/ + ) endif() if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd") - message("Installing ming64sh.cmd") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming64sh.cmd ${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd - ) + message("Installing ming64sh.cmd") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming64sh.cmd ${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd + ) endif() message("Checking for perl") # download perl for libvpx if(NOT EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip") - message("Downloading perl") - file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-64bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip") + message("Downloading perl") + file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-64bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip") endif() # make perl root directory if(NOT EXISTS "${DOWNLOAD_DIR}/perl") - execute_process( - COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl - WORKING_DIRECTORY ${DOWNLOAD_DIR} - ) + execute_process( + COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl + WORKING_DIRECTORY ${DOWNLOAD_DIR} + ) endif() # extract perl if((NOT EXISTS "${DOWNLOAD_DIR}/perl/portable.perl") AND (EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip")) - message("Extracting perl") - execute_process( - COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip - WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl - ) + message("Extracting perl") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip + WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl + ) endif() # get yasm for vpx if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/yasm.exe") - message("Downloading yasm") - file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/yasm.exe") + message("Downloading yasm") + file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/yasm.exe") endif() message("checking x86_64-w64-mingw32-strings.exe") # copy strings.exe to x86_64-w64-mingw32-strings.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strings.exe") - message("fixing x86_64-w64-mingw32-strings.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strings.exe" - ) + message("fixing x86_64-w64-mingw32-strings.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strings.exe" + ) endif() message("checking x86_64-w64-mingw32-ar.exe") # copy ar.exe to x86_64-w64-mingw32-ar.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ar.exe") - message("fixing x86_64-w64-mingw32-ar.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ar.exe" - ) + message("fixing x86_64-w64-mingw32-ar.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ar.exe" + ) endif() message("checking x86_64-w64-mingw32-strip.exe") # copy strip.exe to x86_64-w64-mingw32-strip.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strip.exe") - message("fixing x86_64-w64-mingw32-strip.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strip.exe" - ) + message("fixing x86_64-w64-mingw32-strip.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strip.exe" + ) endif() message("checking x86_64-w64-mingw32-ranlib.exe") # copy ranlib.exe to x86_64-w64-mingw32-ranlib.exe for x264 if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe") - message("fixing x86_64-w64-mingw32-ranlib.exe") - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe" - ) + message("fixing x86_64-w64-mingw32-ranlib.exe") + execute_process( + COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe" + ) endif() diff --git a/build_files/build_environment/cmake/sndfile.cmake b/build_files/build_environment/cmake/sndfile.cmake index 2c4da159280..87d421a3764 100644 --- a/build_files/build_environment/cmake/sndfile.cmake +++ b/build_files/build_environment/cmake/sndfile.cmake @@ -20,43 +20,43 @@ set(SNDFILE_EXTRA_ARGS) set(SNDFILE_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/flac/lib/pkgconfig:${mingw_LIBDIR}) if(WIN32) - set(SNDFILE_ENV set ${SNDFILE_ENV} &&) - #shared for windows because static libs will drag in a libgcc dependency. - set(SNDFILE_OPTIONS --disable-static --enable-shared ) + set(SNDFILE_ENV set ${SNDFILE_ENV} &&) + #shared for windows because static libs will drag in a libgcc dependency. + set(SNDFILE_OPTIONS --disable-static --enable-shared ) else() - set(SNDFILE_OPTIONS --enable-static --disable-shared ) + set(SNDFILE_OPTIONS --enable-static --disable-shared ) endif() if(UNIX) - set(SNDFILE_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/sndfile/src/external_sndfile < ${PATCH_DIR}/sndfile.diff) + set(SNDFILE_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/sndfile/src/external_sndfile < ${PATCH_DIR}/sndfile.diff) else() - set(SNDFILE_PATCH_CMD) + set(SNDFILE_PATCH_CMD) endif() ExternalProject_Add(external_sndfile - URL ${SNDFILE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${SNDFILE_HASH} - PREFIX ${BUILD_DIR}/sndfile - PATCH_COMMAND ${SNDFILE_PATCH_CMD} - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && ${SNDFILE_ENV} ${CONFIGURE_COMMAND} ${SNDFILE_OPTIONS} --prefix=${mingw_LIBDIR}/sndfile - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make install - INSTALL_DIR ${LIBDIR}/sndfile + URL ${SNDFILE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${SNDFILE_HASH} + PREFIX ${BUILD_DIR}/sndfile + PATCH_COMMAND ${SNDFILE_PATCH_CMD} + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && ${SNDFILE_ENV} ${CONFIGURE_COMMAND} ${SNDFILE_OPTIONS} --prefix=${mingw_LIBDIR}/sndfile + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make install + INSTALL_DIR ${LIBDIR}/sndfile ) if(MSVC) - set_target_properties(external_sndfile PROPERTIES FOLDER Mingw) + set_target_properties(external_sndfile PROPERTIES FOLDER Mingw) endif() add_dependencies( - external_sndfile - external_ogg - external_vorbis + external_sndfile + external_ogg + external_vorbis ) if(UNIX) - add_dependencies( - external_sndfile - external_flac - ) + add_dependencies( + external_sndfile + external_flac + ) endif() diff --git a/build_files/build_environment/cmake/spnav.cmake b/build_files/build_environment/cmake/spnav.cmake index 0dec9799715..5e67dbc5746 100644 --- a/build_files/build_environment/cmake/spnav.cmake +++ b/build_files/build_environment/cmake/spnav.cmake @@ -17,12 +17,12 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_spnav - URL ${SPNAV_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${SPNAV_HASH} - PREFIX ${BUILD_DIR}/spnav - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/spnav --disable-shared --enable-static --with-pic - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make install - INSTALL_DIR ${LIBDIR}/spnav + URL ${SPNAV_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${SPNAV_HASH} + PREFIX ${BUILD_DIR}/spnav + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/spnav --disable-shared --enable-static --with-pic + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make install + INSTALL_DIR ${LIBDIR}/spnav ) diff --git a/build_files/build_environment/cmake/sqlite.cmake b/build_files/build_environment/cmake/sqlite.cmake index e5aa124a414..647e50b315a 100644 --- a/build_files/build_environment/cmake/sqlite.cmake +++ b/build_files/build_environment/cmake/sqlite.cmake @@ -20,38 +20,38 @@ set(SQLITE_CONFIGURE_ENV echo .) set(SQLITE_CONFIGURATION_ARGS) if(UNIX AND NOT APPLE) - set(SQLITE_LDFLAGS -Wl,--as-needed) - set(SQLITE_CFLAGS - "-DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_COLUMN_METADATA \ - -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \ - -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SOUNDEX=1 \ - -DSQLITE_ENABLE_UNLOCK_NOTIFY \ - -DSQLITE_OMIT_LOOKASIDE=1 -DSQLITE_ENABLE_DBSTAT_VTAB \ - -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \ - -DSQLITE_ENABLE_LOAD_EXTENSION \ - -DSQLITE_ENABLE_JSON1 \ - -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ - -DSQLITE_THREADSAFE=1 \ - -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \ - -DSQLITE_MAX_SCHEMA_RETRY=25 \ - -DSQLITE_ENABLE_PREUPDATE_HOOK \ - -DSQLITE_ENABLE_SESSION \ - -DSQLITE_ENABLE_STMTVTAB \ - -DSQLITE_MAX_VARIABLE_NUMBER=250000 \ - -fPIC") - set(SQLITE_CONFIGURE_ENV ${SQLITE_CONFIGURE_ENV} && export LDFLAGS=${SQLITE_LDFLAGS} && export CFLAGS=${SQLITE_CFLAGS}) - set(SQLITE_CONFIGURATION_ARGS ${SQLITE_CONFIGURATION_ARGS} --enable-threadsafe --enable-load-extension --enable-json1 --enable-fts4 --enable-fts5 - --enable-shared=no) + set(SQLITE_LDFLAGS -Wl,--as-needed) + set(SQLITE_CFLAGS + "-DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_COLUMN_METADATA \ + -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \ + -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SOUNDEX=1 \ + -DSQLITE_ENABLE_UNLOCK_NOTIFY \ + -DSQLITE_OMIT_LOOKASIDE=1 -DSQLITE_ENABLE_DBSTAT_VTAB \ + -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \ + -DSQLITE_ENABLE_LOAD_EXTENSION \ + -DSQLITE_ENABLE_JSON1 \ + -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ + -DSQLITE_THREADSAFE=1 \ + -DSQLITE_ENABLE_FTS3_TOKENIZER=1 \ + -DSQLITE_MAX_SCHEMA_RETRY=25 \ + -DSQLITE_ENABLE_PREUPDATE_HOOK \ + -DSQLITE_ENABLE_SESSION \ + -DSQLITE_ENABLE_STMTVTAB \ + -DSQLITE_MAX_VARIABLE_NUMBER=250000 \ + -fPIC") + set(SQLITE_CONFIGURE_ENV ${SQLITE_CONFIGURE_ENV} && export LDFLAGS=${SQLITE_LDFLAGS} && export CFLAGS=${SQLITE_CFLAGS}) + set(SQLITE_CONFIGURATION_ARGS ${SQLITE_CONFIGURATION_ARGS} --enable-threadsafe --enable-load-extension --enable-json1 --enable-fts4 --enable-fts5 + --enable-shared=no) endif() ExternalProject_Add(external_sqlite - URL ${SQLITE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA1=${SQLITE_HASH} - PREFIX ${BUILD_DIR}/sqlite - PATCH_COMMAND ${SQLITE_PATCH_CMD} - CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install - INSTALL_DIR ${LIBDIR}/sqlite + URL ${SQLITE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA1=${SQLITE_HASH} + PREFIX ${BUILD_DIR}/sqlite + PATCH_COMMAND ${SQLITE_PATCH_CMD} + CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install + INSTALL_DIR ${LIBDIR}/sqlite ) diff --git a/build_files/build_environment/cmake/ssl.cmake b/build_files/build_environment/cmake/ssl.cmake index 993e6f3ff6a..3ee59aa9c04 100644 --- a/build_files/build_environment/cmake/ssl.cmake +++ b/build_files/build_environment/cmake/ssl.cmake @@ -20,29 +20,29 @@ set(SSL_CONFIGURE_COMMAND ./Configure) set(SSL_PATCH_CMD echo .) if (APPLE) - set(SSL_OS_COMPILER "blender-darwin-x86_64") + set(SSL_OS_COMPILER "blender-darwin-x86_64") else() - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(SSL_EXTRA_ARGS enable-ec_nistp_64_gcc_128) - set(SSL_OS_COMPILER "blender-linux-x86_64") - else() - set(SSL_OS_COMPILER "blender-linux-x86") - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(SSL_EXTRA_ARGS enable-ec_nistp_64_gcc_128) + set(SSL_OS_COMPILER "blender-linux-x86_64") + else() + set(SSL_OS_COMPILER "blender-linux-x86") + endif() endif() ExternalProject_Add(external_ssl - URL ${SSL_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${SSL_HASH} - PREFIX ${BUILD_DIR}/ssl - PATCH_COMMAND ${SSL_PATCH_CMD} - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && ${SSL_CONFIGURE_COMMAND} --prefix=${LIBDIR}/ssl - --openssldir=${LIBDIR}/ssl - no-shared - no-idea no-mdc2 no-rc5 no-zlib no-ssl3 enable-unit-test no-ssl3-method enable-rfc3779 enable-cms - --config=${CMAKE_CURRENT_SOURCE_DIR}/cmake/ssl.conf - ${SSL_OS_COMPILER} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make install - INSTALL_DIR ${LIBDIR}/ssl + URL ${SSL_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${SSL_HASH} + PREFIX ${BUILD_DIR}/ssl + PATCH_COMMAND ${SSL_PATCH_CMD} + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && ${SSL_CONFIGURE_COMMAND} --prefix=${LIBDIR}/ssl + --openssldir=${LIBDIR}/ssl + no-shared + no-idea no-mdc2 no-rc5 no-zlib no-ssl3 enable-unit-test no-ssl3-method enable-rfc3779 enable-cms + --config=${CMAKE_CURRENT_SOURCE_DIR}/cmake/ssl.conf + ${SSL_OS_COMPILER} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make install + INSTALL_DIR ${LIBDIR}/ssl ) diff --git a/build_files/build_environment/cmake/tbb.cmake b/build_files/build_environment/cmake/tbb.cmake index 4e0357da8bb..30efaeef8a9 100644 --- a/build_files/build_environment/cmake/tbb.cmake +++ b/build_files/build_environment/cmake/tbb.cmake @@ -17,36 +17,36 @@ # ***** END GPL LICENSE BLOCK ***** set(TBB_EXTRA_ARGS - -DTBB_BUILD_SHARED=Off - -DTBB_BUILD_TBBMALLOC=Off - -DTBB_BUILD_TBBMALLOC_PROXY=Off - -DTBB_BUILD_STATIC=On + -DTBB_BUILD_SHARED=Off + -DTBB_BUILD_TBBMALLOC=Off + -DTBB_BUILD_TBBMALLOC_PROXY=Off + -DTBB_BUILD_STATIC=On ) # CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt ExternalProject_Add(external_tbb - URL ${TBB_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${TBB_HASH} - PREFIX ${BUILD_DIR}/tbb - PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_tbb.txt ${BUILD_DIR}/tbb/src/external_tbb/CMakeLists.txt && - ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/tbb/src/external_tbb/build/vs2013/version_string.ver ${BUILD_DIR}/tbb/src/external_tbb/src/tbb/version_string.ver - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tbb ${DEFAULT_CMAKE_FLAGS} ${TBB_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/tbb + URL ${TBB_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${TBB_HASH} + PREFIX ${BUILD_DIR}/tbb + PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_tbb.txt ${BUILD_DIR}/tbb/src/external_tbb/CMakeLists.txt && + ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/tbb/src/external_tbb/build/vs2013/version_string.ver ${BUILD_DIR}/tbb/src/external_tbb/src/tbb/version_string.ver + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tbb ${DEFAULT_CMAKE_FLAGS} ${TBB_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/tbb ) if (WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_tbb after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_static.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tbb/include/ ${HARVEST_TARGET}/tbb/include/ - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_tbb after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_static.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_tbb after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_static.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tbb/include/ ${HARVEST_TARGET}/tbb/include/ + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_tbb after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_static.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib + DEPENDEES install + ) + endif() endif() diff --git a/build_files/build_environment/cmake/theora.cmake b/build_files/build_environment/cmake/theora.cmake index 4fa2f4815fa..e5f94b15b02 100644 --- a/build_files/build_environment/cmake/theora.cmake +++ b/build_files/build_environment/cmake/theora.cmake @@ -17,28 +17,28 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_theora - URL ${THEORA_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${THEORA_HASH} - PREFIX ${BUILD_DIR}/theora - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/theora - --disable-shared - --enable-static - --with-pic - --with-ogg=${LIBDIR}/ogg - --with-vorbis=${LIBDIR}/vorbis - --disable-examples - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && make install - INSTALL_DIR ${LIBDIR}/theora + URL ${THEORA_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${THEORA_HASH} + PREFIX ${BUILD_DIR}/theora + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/theora + --disable-shared + --enable-static + --with-pic + --with-ogg=${LIBDIR}/ogg + --with-vorbis=${LIBDIR}/vorbis + --disable-examples + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && make install + INSTALL_DIR ${LIBDIR}/theora ) add_dependencies( - external_theora - external_vorbis - external_ogg + external_theora + external_vorbis + external_ogg ) if(MSVC) - set_target_properties(external_theora PROPERTIES FOLDER Mingw) + set_target_properties(external_theora PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/tiff.cmake b/build_files/build_environment/cmake/tiff.cmake index 498145463cf..fa5a1423603 100644 --- a/build_files/build_environment/cmake/tiff.cmake +++ b/build_files/build_environment/cmake/tiff.cmake @@ -17,31 +17,31 @@ # ***** END GPL LICENSE BLOCK ***** set(TIFF_EXTRA_ARGS - -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} - -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include - -DPNG_STATIC=ON - -DBUILD_SHARED_LIBS=OFF - -Dlzma=OFF - -Djbig=OFF + -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} + -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include + -DPNG_STATIC=ON + -DBUILD_SHARED_LIBS=OFF + -Dlzma=OFF + -Djbig=OFF ) ExternalProject_Add(external_tiff - URL ${TIFF_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${TIFF_HASH} - PREFIX ${BUILD_DIR}/tiff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tiff ${DEFAULT_CMAKE_FLAGS} ${TIFF_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/tiff + URL ${TIFF_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${TIFF_HASH} + PREFIX ${BUILD_DIR}/tiff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tiff ${DEFAULT_CMAKE_FLAGS} ${TIFF_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/tiff ) add_dependencies( - external_tiff - external_zlib + external_tiff + external_zlib ) if(WIN32 AND BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_tiff after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiffd${LIBEXT} ${LIBDIR}/tiff/lib/tiff${LIBEXT} - DEPENDEES install - ) + ExternalProject_Add_Step(external_tiff after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiffd${LIBEXT} ${LIBDIR}/tiff/lib/tiff${LIBEXT} + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/tinyxml.cmake b/build_files/build_environment/cmake/tinyxml.cmake index 9c7d0397c78..cbbbb0a0a49 100644 --- a/build_files/build_environment/cmake/tinyxml.cmake +++ b/build_files/build_environment/cmake/tinyxml.cmake @@ -20,12 +20,12 @@ set(TINYXML_EXTRA_ARGS ) ExternalProject_Add(external_tinyxml - URL ${TINYXML_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${TINYXML_HASH} - PREFIX ${BUILD_DIR}/tinyxml - #patch taken from ocio - PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/tinyxml/src/external_tinyxml < ${PATCH_DIR}/tinyxml.diff - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tinyxml ${DEFAULT_CMAKE_FLAGS} ${TINYXML_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/tinyxml + URL ${TINYXML_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${TINYXML_HASH} + PREFIX ${BUILD_DIR}/tinyxml + #patch taken from ocio + PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/tinyxml/src/external_tinyxml < ${PATCH_DIR}/tinyxml.diff + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tinyxml ${DEFAULT_CMAKE_FLAGS} ${TINYXML_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/tinyxml ) diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index d3e3f7bea6a..0a3c279f7e2 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -47,27 +47,27 @@ set(PTHREADS_HASH f3bf81bb395840b3446197bcf4ecd653) set(ILMBASE_VERSION 2.3.0) if (WIN32) - if(BUILD_MODE STREQUAL Release) - set(ILMBASE_VERSION_POSTFIX _s) - set(OPENEXR_VERSION_POSTFIX _s) - else() - set(ILMBASE_VERSION_POSTFIX _s_d) - set(OPENEXR_VERSION_POSTFIX _s_d) - endif() + if(BUILD_MODE STREQUAL Release) + set(ILMBASE_VERSION_POSTFIX _s) + set(OPENEXR_VERSION_POSTFIX _s) + else() + set(ILMBASE_VERSION_POSTFIX _s_d) + set(OPENEXR_VERSION_POSTFIX _s_d) + endif() else() - set(ILMBASE_VERSION_POSTFIX) + set(ILMBASE_VERSION_POSTFIX) endif() set(ILMBASE_URI https://github.com/openexr/openexr/releases/download/v${ILMBASE_VERSION}/ilmbase-${ILMBASE_VERSION}.tar.gz) set(ILMBASE_HASH 354bf86de3b930ab87ac63619d60c860) set(OPENEXR_VERSION 2.3.0) if (WIN32) #release 2.3.0 tarball has broken cmake support - set(OPENEXR_URI https://github.com/openexr/openexr/archive/0ac2ea34c8f3134148a5df4052e40f155b76f6fb.tar.gz) - set(OPENEXR_HASH ed159435d508240712fbaaa21d94bafb) + set(OPENEXR_URI https://github.com/openexr/openexr/archive/0ac2ea34c8f3134148a5df4052e40f155b76f6fb.tar.gz) + set(OPENEXR_HASH ed159435d508240712fbaaa21d94bafb) else() - set(OPENEXR_VERSION_POSTFIX) - set(OPENEXR_URI https://github.com/openexr/openexr/releases/download/v${OPENEXR_VERSION}/openexr-${OPENEXR_VERSION}.tar.gz) - set(OPENEXR_HASH a157e8a46596bc185f2472a5a4682174) + set(OPENEXR_VERSION_POSTFIX) + set(OPENEXR_URI https://github.com/openexr/openexr/releases/download/v${OPENEXR_VERSION}/openexr-${OPENEXR_VERSION}.tar.gz) + set(OPENEXR_HASH a157e8a46596bc185f2472a5a4682174) endif() set(FREETYPE_VERSION 2.9.1) diff --git a/build_files/build_environment/cmake/vorbis.cmake b/build_files/build_environment/cmake/vorbis.cmake index ee3c5a9c87f..9ef62787e86 100644 --- a/build_files/build_environment/cmake/vorbis.cmake +++ b/build_files/build_environment/cmake/vorbis.cmake @@ -17,25 +17,25 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_vorbis - URL ${VORBIS_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${VORBIS_HASH} - PREFIX ${BUILD_DIR}/vorbis - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/vorbis - --disable-shared - --enable-static - --with-pic - --with-ogg=${LIBDIR}/ogg - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && make install - INSTALL_DIR ${LIBDIR}/vorbis + URL ${VORBIS_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${VORBIS_HASH} + PREFIX ${BUILD_DIR}/vorbis + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/vorbis + --disable-shared + --enable-static + --with-pic + --with-ogg=${LIBDIR}/ogg + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && make install + INSTALL_DIR ${LIBDIR}/vorbis ) add_dependencies( - external_vorbis - external_ogg + external_vorbis + external_ogg ) if(MSVC) - set_target_properties(external_vorbis PROPERTIES FOLDER Mingw) + set_target_properties(external_vorbis PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/vpx.cmake b/build_files/build_environment/cmake/vpx.cmake index 8989262135b..1c3a7081b59 100644 --- a/build_files/build_environment/cmake/vpx.cmake +++ b/build_files/build_environment/cmake/vpx.cmake @@ -17,44 +17,44 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(VPX_EXTRA_FLAGS --target=x86_64-win64-gcc --disable-multithread) - else() - set(VPX_EXTRA_FLAGS --target=x86-win32-gcc --disable-multithread) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(VPX_EXTRA_FLAGS --target=x86_64-win64-gcc --disable-multithread) + else() + set(VPX_EXTRA_FLAGS --target=x86-win32-gcc --disable-multithread) + endif() else() - if(APPLE) - set(VPX_EXTRA_FLAGS --target=x86_64-darwin13-gcc) - else() - set(VPX_EXTRA_FLAGS --target=generic-gnu) - endif() + if(APPLE) + set(VPX_EXTRA_FLAGS --target=x86_64-darwin13-gcc) + else() + set(VPX_EXTRA_FLAGS --target=generic-gnu) + endif() endif() ExternalProject_Add(external_vpx - URL ${VPX_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${VPX_HASH} - PREFIX ${BUILD_DIR}/vpx - CONFIGURE_COMMAND ${CONFIGURE_ENV} && - cd ${BUILD_DIR}/vpx/src/external_vpx/ && - ${CONFIGURE_COMMAND_NO_TARGET} --prefix=${LIBDIR}/vpx - --disable-shared - --enable-static - --disable-install-bins - --disable-install-srcs - --disable-sse4_1 - --disable-sse3 - --disable-ssse3 - --disable-avx - --disable-avx2 - --disable-unit-tests - --disable-examples - ${VPX_EXTRA_FLAGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make install - INSTALL_DIR ${LIBDIR}/vpx + URL ${VPX_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${VPX_HASH} + PREFIX ${BUILD_DIR}/vpx + CONFIGURE_COMMAND ${CONFIGURE_ENV} && + cd ${BUILD_DIR}/vpx/src/external_vpx/ && + ${CONFIGURE_COMMAND_NO_TARGET} --prefix=${LIBDIR}/vpx + --disable-shared + --enable-static + --disable-install-bins + --disable-install-srcs + --disable-sse4_1 + --disable-sse3 + --disable-ssse3 + --disable-avx + --disable-avx2 + --disable-unit-tests + --disable-examples + ${VPX_EXTRA_FLAGS} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make install + INSTALL_DIR ${LIBDIR}/vpx ) if(MSVC) - set_target_properties(external_vpx PROPERTIES FOLDER Mingw) + set_target_properties(external_vpx PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/webp.cmake b/build_files/build_environment/cmake/webp.cmake index 92cd41b96ff..73557859ae6 100644 --- a/build_files/build_environment/cmake/webp.cmake +++ b/build_files/build_environment/cmake/webp.cmake @@ -20,22 +20,22 @@ # library itself does not depend on them, so should give no problems. set(WEBP_EXTRA_ARGS - -DWEBP_HAVE_SSE2=ON - -DWEBP_HAVE_SSE41=OFF - -DWEBP_HAVE_AVX2=OFF + -DWEBP_HAVE_SSE2=ON + -DWEBP_HAVE_SSE41=OFF + -DWEBP_HAVE_AVX2=OFF ) if(WIN32) - set(WEBP_BUILD_DIR ${BUILD_MODE}/) + set(WEBP_BUILD_DIR ${BUILD_MODE}/) else() - set(WEBP_BUILD_DIR) + set(WEBP_BUILD_DIR) endif() ExternalProject_Add(external_webp - URL ${WEBP_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${WEBP_HASH} - PREFIX ${BUILD_DIR}/webp - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/webp -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${WEBP_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/webp + URL ${WEBP_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${WEBP_HASH} + PREFIX ${BUILD_DIR}/webp + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/webp -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${WEBP_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/webp ) diff --git a/build_files/build_environment/cmake/x264.cmake b/build_files/build_environment/cmake/x264.cmake index 7d7b0758aaf..eba0709e196 100644 --- a/build_files/build_environment/cmake/x264.cmake +++ b/build_files/build_environment/cmake/x264.cmake @@ -17,29 +17,29 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST}) - set(X264_PATCH_CMD ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/x264/src/external_x264 < ${PATCH_DIR}/x264.diff) + set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST}) + set(X264_PATCH_CMD ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/x264/src/external_x264 < ${PATCH_DIR}/x264.diff) else() - set(X264_PATCH_CMD echo .) + set(X264_PATCH_CMD echo .) endif() ExternalProject_Add(external_x264 - URL ${X264_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${X264_HASH} - PREFIX ${BUILD_DIR}/x264 - PATCH_COMMAND ${X264_PATCH_CMD} - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264 - --enable-static - --enable-pic - --disable-lavf - ${X264_EXTRA_ARGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make install - INSTALL_DIR ${LIBDIR}/x264 + URL ${X264_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${X264_HASH} + PREFIX ${BUILD_DIR}/x264 + PATCH_COMMAND ${X264_PATCH_CMD} + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264 + --enable-static + --enable-pic + --disable-lavf + ${X264_EXTRA_ARGS} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make install + INSTALL_DIR ${LIBDIR}/x264 ) if(MSVC) - set_target_properties(external_x264 PROPERTIES FOLDER Mingw) + set_target_properties(external_x264 PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/xml2.cmake b/build_files/build_environment/cmake/xml2.cmake index a8f87a67ad4..e4af71ef7c7 100644 --- a/build_files/build_environment/cmake/xml2.cmake +++ b/build_files/build_environment/cmake/xml2.cmake @@ -17,20 +17,20 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_xml2 - URL ${XML2_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${XML2_HASH} - PREFIX ${BUILD_DIR}/xml2 - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && ${CONFIGURE_COMMAND} - --prefix=${LIBDIR}/xml2 - --disable-shared - --enable-static - --with-pic - --with-python=no - --with-lzma=no - --with-zlib=no - --with-iconv=no - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make install - INSTALL_DIR ${LIBDIR}/xml2 + URL ${XML2_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${XML2_HASH} + PREFIX ${BUILD_DIR}/xml2 + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && ${CONFIGURE_COMMAND} + --prefix=${LIBDIR}/xml2 + --disable-shared + --enable-static + --with-pic + --with-python=no + --with-lzma=no + --with-zlib=no + --with-iconv=no + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make install + INSTALL_DIR ${LIBDIR}/xml2 ) diff --git a/build_files/build_environment/cmake/xvidcore.cmake b/build_files/build_environment/cmake/xvidcore.cmake index a341275ea47..5ff897fcc6f 100644 --- a/build_files/build_environment/cmake/xvidcore.cmake +++ b/build_files/build_environment/cmake/xvidcore.cmake @@ -17,28 +17,28 @@ # ***** END GPL LICENSE BLOCK ***** if(WIN32) - set(XVIDCORE_EXTRA_ARGS --host=${MINGW_HOST}) + set(XVIDCORE_EXTRA_ARGS --host=${MINGW_HOST}) endif() ExternalProject_Add(external_xvidcore - URL ${XVIDCORE_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH SHA256=${XVIDCORE_HASH} - PREFIX ${BUILD_DIR}/xvidcore - CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/xvidcore ${XVIDCORE_EXTRA_ARGS} - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make -j${MAKE_THREADS} - INSTALL_COMMAND ${CONFIGURE_ENV} && - ${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/* && # clean because re-installing fails otherwise - cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make install - INSTALL_DIR ${LIBDIR}/xvidcore + URL ${XVIDCORE_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH SHA256=${XVIDCORE_HASH} + PREFIX ${BUILD_DIR}/xvidcore + CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/xvidcore ${XVIDCORE_EXTRA_ARGS} + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make -j${MAKE_THREADS} + INSTALL_COMMAND ${CONFIGURE_ENV} && + ${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/* && # clean because re-installing fails otherwise + cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make install + INSTALL_DIR ${LIBDIR}/xvidcore ) ExternalProject_Add_Step(external_xvidcore after_install - COMMAND ${CMAKE_COMMAND} -E rename ${LIBDIR}/xvidcore/lib/xvidcore.a ${LIBDIR}/xvidcore/lib/libxvidcore.a || true - COMMAND ${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/xvidcore.dll.a - DEPENDEES install + COMMAND ${CMAKE_COMMAND} -E rename ${LIBDIR}/xvidcore/lib/xvidcore.a ${LIBDIR}/xvidcore/lib/libxvidcore.a || true + COMMAND ${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/xvidcore.dll.a + DEPENDEES install ) if(MSVC) - set_target_properties(external_xvidcore PROPERTIES FOLDER Mingw) + set_target_properties(external_xvidcore PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/build_environment/cmake/yamlcpp.cmake b/build_files/build_environment/cmake/yamlcpp.cmake index 617158ff40a..b0ce77d079f 100644 --- a/build_files/build_environment/cmake/yamlcpp.cmake +++ b/build_files/build_environment/cmake/yamlcpp.cmake @@ -17,18 +17,18 @@ # ***** END GPL LICENSE BLOCK ***** set(YAMLCPP_EXTRA_ARGS - -DBUILD_GMOCK=OFF - -DYAML_CPP_BUILD_TESTS=OFF - -DYAML_CPP_BUILD_TOOLS=OFF - -DYAML_CPP_BUILD_CONTRIB=OFF - -DMSVC_SHARED_RT=OFF + -DBUILD_GMOCK=OFF + -DYAML_CPP_BUILD_TESTS=OFF + -DYAML_CPP_BUILD_TOOLS=OFF + -DYAML_CPP_BUILD_CONTRIB=OFF + -DMSVC_SHARED_RT=OFF ) ExternalProject_Add(external_yamlcpp - URL ${YAMLCPP_URI} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - URL_HASH MD5=${YAMLCPP_HASH} - PREFIX ${BUILD_DIR}/yamlcpp - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/yamlcpp ${DEFAULT_CMAKE_FLAGS} ${YAMLCPP_EXTRA_ARGS} - INSTALL_DIR ${LIBDIR}/yamlcpp + URL ${YAMLCPP_URI} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + URL_HASH MD5=${YAMLCPP_HASH} + PREFIX ${BUILD_DIR}/yamlcpp + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/yamlcpp ${DEFAULT_CMAKE_FLAGS} ${YAMLCPP_EXTRA_ARGS} + INSTALL_DIR ${LIBDIR}/yamlcpp ) diff --git a/build_files/build_environment/cmake/zlib.cmake b/build_files/build_environment/cmake/zlib.cmake index 3c07fb3c08a..f8594bd037c 100644 --- a/build_files/build_environment/cmake/zlib.cmake +++ b/build_files/build_environment/cmake/zlib.cmake @@ -17,31 +17,31 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_zlib - URL ${ZLIB_URI} - URL_HASH MD5=${ZLIB_HASH} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - PREFIX ${BUILD_DIR}/zlib - CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib ${DEFAULT_CMAKE_FLAGS} - INSTALL_DIR ${LIBDIR}/zlib + URL ${ZLIB_URI} + URL_HASH MD5=${ZLIB_HASH} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + PREFIX ${BUILD_DIR}/zlib + CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib ${DEFAULT_CMAKE_FLAGS} + INSTALL_DIR ${LIBDIR}/zlib ) if (WIN32) - if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_zlib after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/zlibstatic${LIBEXT} ${HARVEST_TARGET}/zlib/lib/libz_st${LIBEXT} - COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/zlib/include/ ${HARVEST_TARGET}/zlib/include/ - DEPENDEES install - ) - endif() - if(BUILD_MODE STREQUAL Debug) - ExternalProject_Add_Step(external_zlib after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/zlibstaticd${LIBEXT} ${HARVEST_TARGET}/zlib/lib/libz_st_d${LIBEXT} - DEPENDEES install - ) - endif() + if(BUILD_MODE STREQUAL Release) + ExternalProject_Add_Step(external_zlib after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/zlibstatic${LIBEXT} ${HARVEST_TARGET}/zlib/lib/libz_st${LIBEXT} + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/zlib/include/ ${HARVEST_TARGET}/zlib/include/ + DEPENDEES install + ) + endif() + if(BUILD_MODE STREQUAL Debug) + ExternalProject_Add_Step(external_zlib after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/zlibstaticd${LIBEXT} ${HARVEST_TARGET}/zlib/lib/libz_st_d${LIBEXT} + DEPENDEES install + ) + endif() else() - ExternalProject_Add_Step(external_zlib after_install - COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/libz.a ${LIBDIR}/zlib/lib/libz_pic.a - DEPENDEES install - ) + ExternalProject_Add_Step(external_zlib after_install + COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/libz.a ${LIBDIR}/zlib/lib/libz_pic.a + DEPENDEES install + ) endif() diff --git a/build_files/build_environment/cmake/zlib_mingw.cmake b/build_files/build_environment/cmake/zlib_mingw.cmake index 56578857a47..1a7bc1dc51b 100644 --- a/build_files/build_environment/cmake/zlib_mingw.cmake +++ b/build_files/build_environment/cmake/zlib_mingw.cmake @@ -17,23 +17,23 @@ # ***** END GPL LICENSE BLOCK ***** ExternalProject_Add(external_zlib_mingw - URL ${ZLIB_URI} - URL_HASH MD5=${ZLIB_HASH} - DOWNLOAD_DIR ${DOWNLOAD_DIR} - PREFIX ${BUILD_DIR}/zlib_mingw - CONFIGURE_COMMAND echo . - BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/zlib_mingw/src/external_zlib_mingw/ && make -f win32/makefile.gcc -j${MAKE_THREADS} - INSTALL_COMMAND echo . - INSTALL_DIR ${LIBDIR}/zlib_mingw + URL ${ZLIB_URI} + URL_HASH MD5=${ZLIB_HASH} + DOWNLOAD_DIR ${DOWNLOAD_DIR} + PREFIX ${BUILD_DIR}/zlib_mingw + CONFIGURE_COMMAND echo . + BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/zlib_mingw/src/external_zlib_mingw/ && make -f win32/makefile.gcc -j${MAKE_THREADS} + INSTALL_COMMAND echo . + INSTALL_DIR ${LIBDIR}/zlib_mingw ) if(BUILD_MODE STREQUAL Release) - ExternalProject_Add_Step(external_zlib_mingw after_install - COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/zlib_mingw/src/external_zlib_mingw/libz.a ${LIBDIR}/zlib/lib/z.lib - DEPENDEES install - ) + ExternalProject_Add_Step(external_zlib_mingw after_install + COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/zlib_mingw/src/external_zlib_mingw/libz.a ${LIBDIR}/zlib/lib/z.lib + DEPENDEES install + ) endif() if(MSVC) - set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw) + set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw) endif() diff --git a/build_files/buildbot/config/blender_linux.cmake b/build_files/buildbot/config/blender_linux.cmake index 44048f70135..52d4b864576 100644 --- a/build_files/buildbot/config/blender_linux.cmake +++ b/build_files/buildbot/config/blender_linux.cmake @@ -6,29 +6,29 @@ include("${CMAKE_CURRENT_LIST_DIR}/../../cmake/config/blender_release.cmake") # Some of the paths will depend on this if(EXISTS "/lib/x86_64-linux-gnu/libc-2.24.so") - message(STATUS "Building in GLibc-2.24 environment") - set(GLIBC "2.24") - set(MULTILIB "/x86_64-linux-gnu") - set(LIBDIR_NAME "linux_x86_64") + message(STATUS "Building in GLibc-2.24 environment") + set(GLIBC "2.24") + set(MULTILIB "/x86_64-linux-gnu") + set(LIBDIR_NAME "linux_x86_64") elseif(EXISTS "/lib/i386-linux-gnu//libc-2.24.so") - message(STATUS "Building in GLibc-2.24 environment") - set(GLIBC "2.24") - set(MULTILIB "/i386-linux-gnu") - set(LIBDIR_NAME "linux_i686") + message(STATUS "Building in GLibc-2.24 environment") + set(GLIBC "2.24") + set(MULTILIB "/i386-linux-gnu") + set(LIBDIR_NAME "linux_i686") elseif(EXISTS "/lib/x86_64-linux-gnu/libc-2.19.so") - message(STATUS "Building in GLibc-2.19 environment") - set(GLIBC "2.19") - set(MULTILIB "/x86_64-linux-gnu") + message(STATUS "Building in GLibc-2.19 environment") + set(GLIBC "2.19") + set(MULTILIB "/x86_64-linux-gnu") elseif(EXISTS "/lib/i386-linux-gnu//libc-2.19.so") - message(STATUS "Building in GLibc-2.19 environment") - set(GLIBC "2.19") - set(MULTILIB "/i386-linux-gnu") + message(STATUS "Building in GLibc-2.19 environment") + set(GLIBC "2.19") + set(MULTILIB "/i386-linux-gnu") elseif(EXISTS "/lib/libc-2.11.3.so") - message(STATUS "Building in GLibc-2.11 environment") - set(GLIBC "2.11") - set(MULTILIB "") + message(STATUS "Building in GLibc-2.11 environment") + set(GLIBC "2.11") + set(MULTILIB "") else() - message(FATAL_ERROR "Unknown build environment") + message(FATAL_ERROR "Unknown build environment") endif() # Default to only build Blender @@ -67,18 +67,18 @@ set(Boost_USE_STATIC_LIBS ON CACHE BOOL "" FORCE) # FFmpeg libraries set(FFMPEG "/opt/lib/ffmpeg" CACHE STRING "" FORCE) set(FFMPEG_LIBRARIES - avdevice avformat avcodec avutil avfilter swscale swresample - /usr/lib${MULTILIB}/libxvidcore.a - /usr/lib${MULTILIB}/libx264.a - /usr/lib${MULTILIB}/libmp3lame.a - /usr/lib${MULTILIB}/libvpx.a - /usr/lib${MULTILIB}/libvorbis.a - /usr/lib${MULTILIB}/libogg.a - /usr/lib${MULTILIB}/libvorbisenc.a - /usr/lib${MULTILIB}/libtheora.a - /usr/lib${MULTILIB}/libschroedinger-1.0.a - /usr/lib${MULTILIB}/liborc-0.4.a - CACHE STRING "" FORCE + avdevice avformat avcodec avutil avfilter swscale swresample + /usr/lib${MULTILIB}/libxvidcore.a + /usr/lib${MULTILIB}/libx264.a + /usr/lib${MULTILIB}/libmp3lame.a + /usr/lib${MULTILIB}/libvpx.a + /usr/lib${MULTILIB}/libvorbis.a + /usr/lib${MULTILIB}/libogg.a + /usr/lib${MULTILIB}/libvorbisenc.a + /usr/lib${MULTILIB}/libtheora.a + /usr/lib${MULTILIB}/libschroedinger-1.0.a + /usr/lib${MULTILIB}/liborc-0.4.a + CACHE STRING "" FORCE ) # SndFile libraries @@ -88,9 +88,9 @@ set(SNDFILE_LIBRARY "/usr/lib${MULTILIB}/libsndfile.a;/usr/lib${MULTILI set(OPENAL_ROOT_DIR "/opt/lib/openal" CACHE STRING "" FORCE) set(OPENAL_INCLUDE_DIR "${OPENAL_ROOT_DIR}/include/AL" CACHE STRING "" FORCE) set(OPENAL_LIBRARY - ${OPENAL_ROOT_DIR}/lib/libopenal.a - ${OPENAL_ROOT_DIR}/lib/libcommon.a - CACHE STRING "" FORCE + ${OPENAL_ROOT_DIR}/lib/libopenal.a + ${OPENAL_ROOT_DIR}/lib/libcommon.a + CACHE STRING "" FORCE ) # OpenCollada libraries @@ -112,15 +112,15 @@ set(FREETYPE_LIBRARY "/usr/lib${MULTILIB}/libfreetype.a" CACHE STRING "" FORCE) # OpenImageIO if(GLIBC EQUAL "2.19") - set(OPENIMAGEIO_LIBRARY - /opt/lib/oiio/lib/libOpenImageIO.a - /opt/lib/oiio/lib/libOpenImageIO_Util.a - /usr/lib${MULTILIB}/libwebp.a - /usr/lib${MULTILIB}/liblzma.a - /usr/lib${MULTILIB}/libjbig.a - ${FREETYPE_LIBRARY} - CACHE STRING "" FORCE - ) + set(OPENIMAGEIO_LIBRARY + /opt/lib/oiio/lib/libOpenImageIO.a + /opt/lib/oiio/lib/libOpenImageIO_Util.a + /usr/lib${MULTILIB}/libwebp.a + /usr/lib${MULTILIB}/liblzma.a + /usr/lib${MULTILIB}/libjbig.a + ${FREETYPE_LIBRARY} + CACHE STRING "" FORCE + ) endif() # OpenSubdiv libraries @@ -151,13 +151,13 @@ set(ZLIB_LIBRARY "/usr/lib${MULTILIB}/libz.a" CACHE STRING "" FORCE) # OpenVDB set(OPENVDB_LIBRARY - /opt/lib/openvdb/lib/libopenvdb.a - CACHE BOOL "" FORCE + /opt/lib/openvdb/lib/libopenvdb.a + CACHE BOOL "" FORCE ) set(BLOSC_LIBRARY - /opt/lib/blosc/lib/libblosc.a - CACHE BOOL "" FORCE + /opt/lib/blosc/lib/libblosc.a + CACHE BOOL "" FORCE ) else() diff --git a/build_files/cmake/Modules/FindGLEW.cmake b/build_files/cmake/Modules/FindGLEW.cmake index b36a3272e3d..593b1693fd0 100644 --- a/build_files/cmake/Modules/FindGLEW.cmake +++ b/build_files/cmake/Modules/FindGLEW.cmake @@ -23,7 +23,7 @@ # If GLEW_ROOT_DIR was defined in the environment, use it. IF(NOT GLEW_ROOT_DIR AND NOT $ENV{GLEW_ROOT_DIR} STREQUAL "") - SET(GLEW_ROOT_DIR $ENV{GLEW_ROOT_DIR}) + SET(GLEW_ROOT_DIR $ENV{GLEW_ROOT_DIR}) ENDIF() SET(_glew_SEARCH_DIRS diff --git a/build_files/cmake/Modules/FindLLVM.cmake b/build_files/cmake/Modules/FindLLVM.cmake index a40a71cb58e..141a91c0508 100644 --- a/build_files/cmake/Modules/FindLLVM.cmake +++ b/build_files/cmake/Modules/FindLLVM.cmake @@ -22,65 +22,65 @@ #============================================================================= if(LLVM_ROOT_DIR) - if(DEFINED LLVM_VERSION) - find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION} HINTS ${LLVM_ROOT_DIR}/bin NO_CMAKE_PATH) - endif() - if(NOT LLVM_CONFIG) - find_program(LLVM_CONFIG llvm-config HINTS ${LLVM_ROOT_DIR}/bin NO_CMAKE_PATH) - endif() + if(DEFINED LLVM_VERSION) + find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION} HINTS ${LLVM_ROOT_DIR}/bin NO_CMAKE_PATH) + endif() + if(NOT LLVM_CONFIG) + find_program(LLVM_CONFIG llvm-config HINTS ${LLVM_ROOT_DIR}/bin NO_CMAKE_PATH) + endif() else() - if(DEFINED LLVM_VERSION) + if(DEFINED LLVM_VERSION) message(running llvm-config-${LLVM_VERSION}) - find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION}) - endif() - if(NOT LLVM_CONFIG) - find_program(LLVM_CONFIG llvm-config) - endif() + find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION}) + endif() + if(NOT LLVM_CONFIG) + find_program(LLVM_CONFIG llvm-config) + endif() endif() if(NOT DEFINED LLVM_VERSION) - execute_process(COMMAND ${LLVM_CONFIG} --version - OUTPUT_VARIABLE LLVM_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(LLVM_VERSION ${LLVM_VERSION} CACHE STRING "Version of LLVM to use") + execute_process(COMMAND ${LLVM_CONFIG} --version + OUTPUT_VARIABLE LLVM_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(LLVM_VERSION ${LLVM_VERSION} CACHE STRING "Version of LLVM to use") endif() if(NOT LLVM_ROOT_DIR) - execute_process(COMMAND ${LLVM_CONFIG} --prefix - OUTPUT_VARIABLE LLVM_ROOT_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(LLVM_ROOT_DIR ${LLVM_ROOT_DIR} CACHE PATH "Path to the LLVM installation") + execute_process(COMMAND ${LLVM_CONFIG} --prefix + OUTPUT_VARIABLE LLVM_ROOT_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(LLVM_ROOT_DIR ${LLVM_ROOT_DIR} CACHE PATH "Path to the LLVM installation") endif() if(NOT LLVM_LIBPATH) - execute_process(COMMAND ${LLVM_CONFIG} --libdir - OUTPUT_VARIABLE LLVM_LIBPATH - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(LLVM_LIBPATH ${LLVM_LIBPATH} CACHE PATH "Path to the LLVM library path") - mark_as_advanced(LLVM_LIBPATH) + execute_process(COMMAND ${LLVM_CONFIG} --libdir + OUTPUT_VARIABLE LLVM_LIBPATH + OUTPUT_STRIP_TRAILING_WHITESPACE) + set(LLVM_LIBPATH ${LLVM_LIBPATH} CACHE PATH "Path to the LLVM library path") + mark_as_advanced(LLVM_LIBPATH) endif() if(LLVM_STATIC) - find_library(LLVM_LIBRARY - NAMES LLVMAnalysis # first of a whole bunch of libs to get - PATHS ${LLVM_LIBPATH}) + find_library(LLVM_LIBRARY + NAMES LLVMAnalysis # first of a whole bunch of libs to get + PATHS ${LLVM_LIBPATH}) else() - find_library(LLVM_LIBRARY - NAMES - LLVM-${LLVM_VERSION} - LLVMAnalysis # check for the static library as a fall-back - PATHS ${LLVM_LIBPATH}) + find_library(LLVM_LIBRARY + NAMES + LLVM-${LLVM_VERSION} + LLVMAnalysis # check for the static library as a fall-back + PATHS ${LLVM_LIBPATH}) endif() if(LLVM_LIBRARY AND LLVM_ROOT_DIR AND LLVM_LIBPATH) - if(LLVM_STATIC) - # if static LLVM libraries were requested, use llvm-config to generate - # the list of what libraries we need, and substitute that in the right - # way for LLVM_LIBRARY. - execute_process(COMMAND ${LLVM_CONFIG} --libfiles - OUTPUT_VARIABLE LLVM_LIBRARY - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REPLACE " " ";" LLVM_LIBRARY "${LLVM_LIBRARY}") - endif() + if(LLVM_STATIC) + # if static LLVM libraries were requested, use llvm-config to generate + # the list of what libraries we need, and substitute that in the right + # way for LLVM_LIBRARY. + execute_process(COMMAND ${LLVM_CONFIG} --libfiles + OUTPUT_VARIABLE LLVM_LIBRARY + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE " " ";" LLVM_LIBRARY "${LLVM_LIBRARY}") + endif() endif() diff --git a/build_files/cmake/Modules/FindSndFile.cmake b/build_files/cmake/Modules/FindSndFile.cmake index ef6fb73598f..eabc08b0645 100644 --- a/build_files/cmake/Modules/FindSndFile.cmake +++ b/build_files/cmake/Modules/FindSndFile.cmake @@ -24,11 +24,11 @@ # If LIBSNDFILE_ROOT_DIR was defined in the environment, use it. IF(NOT LIBSNDFILE_ROOT_DIR AND NOT $ENV{LIBSNDFILE_ROOT_DIR} STREQUAL "") - SET(LIBSNDFILE_ROOT_DIR $ENV{LIBSNDFILE_ROOT_DIR}) + SET(LIBSNDFILE_ROOT_DIR $ENV{LIBSNDFILE_ROOT_DIR}) ENDIF() SET(_sndfile_SEARCH_DIRS - ${LIBSNDFILE_ROOT_DIR} + ${LIBSNDFILE_ROOT_DIR} /usr/local /sw # Fink /opt/local # DarwinPorts @@ -54,14 +54,14 @@ FIND_LIBRARY(LIBSNDFILE_LIBRARY # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG - LIBSNDFILE_LIBRARY LIBSNDFILE_INCLUDE_DIR) + LIBSNDFILE_LIBRARY LIBSNDFILE_INCLUDE_DIR) IF(LIBSNDFILE_FOUND) - SET(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBRARY}) - SET(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE_INCLUDE_DIR}) + SET(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBRARY}) + SET(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE_INCLUDE_DIR}) ENDIF(LIBSNDFILE_FOUND) MARK_AS_ADVANCED( - LIBSNDFILE_INCLUDE_DIR - LIBSNDFILE_LIBRARY + LIBSNDFILE_INCLUDE_DIR + LIBSNDFILE_LIBRARY ) diff --git a/build_files/cmake/Modules/GTestTesting.cmake b/build_files/cmake/Modules/GTestTesting.cmake index dd80013cb91..eb06e00bf9e 100644 --- a/build_files/cmake/Modules/GTestTesting.cmake +++ b/build_files/cmake/Modules/GTestTesting.cmake @@ -13,55 +13,55 @@ #============================================================================= macro(BLENDER_SRC_GTEST_EX NAME SRC EXTRA_LIBS DO_ADD_TEST) - if(WITH_GTESTS) - get_property(_current_include_directories - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - PROPERTY INCLUDE_DIRECTORIES) - set(TEST_INC - ${_current_include_directories} - ${CMAKE_SOURCE_DIR}/tests/gtests - ${GLOG_INCLUDE_DIRS} - ${GFLAGS_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/extern/gtest/include - ${CMAKE_SOURCE_DIR}/extern/gmock/include - ) - unset(_current_include_directories) + if(WITH_GTESTS) + get_property(_current_include_directories + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + PROPERTY INCLUDE_DIRECTORIES) + set(TEST_INC + ${_current_include_directories} + ${CMAKE_SOURCE_DIR}/tests/gtests + ${GLOG_INCLUDE_DIRS} + ${GFLAGS_INCLUDE_DIRS} + ${CMAKE_SOURCE_DIR}/extern/gtest/include + ${CMAKE_SOURCE_DIR}/extern/gmock/include + ) + unset(_current_include_directories) - add_executable(${NAME}_test ${SRC}) - target_link_libraries(${NAME}_test - ${EXTRA_LIBS} - ${PLATFORM_LINKLIBS} - bf_testing_main - bf_intern_eigen - bf_intern_guardedalloc - extern_gtest - extern_gmock - # needed for glog - ${PTHREADS_LIBRARIES} - ${GLOG_LIBRARIES} - ${GFLAGS_LIBRARIES}) - if(WITH_OPENMP_STATIC) - target_link_libraries(${NAME}_test ${OpenMP_LIBRARIES}) - endif() - set_target_properties(${NAME}_test PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}" - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${TESTS_OUTPUT_DIR}" - INCLUDE_DIRECTORIES "${TEST_INC}") - if(${DO_ADD_TEST}) - add_test(NAME ${NAME}_test COMMAND ${TESTS_OUTPUT_DIR}/${NAME}_test WORKING_DIRECTORY $) - endif() - endif() + add_executable(${NAME}_test ${SRC}) + target_link_libraries(${NAME}_test + ${EXTRA_LIBS} + ${PLATFORM_LINKLIBS} + bf_testing_main + bf_intern_eigen + bf_intern_guardedalloc + extern_gtest + extern_gmock + # needed for glog + ${PTHREADS_LIBRARIES} + ${GLOG_LIBRARIES} + ${GFLAGS_LIBRARIES}) + if(WITH_OPENMP_STATIC) + target_link_libraries(${NAME}_test ${OpenMP_LIBRARIES}) + endif() + set_target_properties(${NAME}_test PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${TESTS_OUTPUT_DIR}" + INCLUDE_DIRECTORIES "${TEST_INC}") + if(${DO_ADD_TEST}) + add_test(NAME ${NAME}_test COMMAND ${TESTS_OUTPUT_DIR}/${NAME}_test WORKING_DIRECTORY $) + endif() + endif() endmacro() macro(BLENDER_SRC_GTEST NAME SRC EXTRA_LIBS) - BLENDER_SRC_GTEST_EX("${NAME}" "${SRC}" "${EXTRA_LIBS}" "TRUE") + BLENDER_SRC_GTEST_EX("${NAME}" "${SRC}" "${EXTRA_LIBS}" "TRUE") endmacro() macro(BLENDER_TEST NAME EXTRA_LIBS) - BLENDER_SRC_GTEST_EX("${NAME}" "${NAME}_test.cc" "${EXTRA_LIBS}" "TRUE") + BLENDER_SRC_GTEST_EX("${NAME}" "${NAME}_test.cc" "${EXTRA_LIBS}" "TRUE") endmacro() macro(BLENDER_TEST_PERFORMANCE NAME EXTRA_LIBS) - BLENDER_SRC_GTEST_EX("${NAME}" "${NAME}_test.cc" "${EXTRA_LIBS}" "FALSE") + BLENDER_SRC_GTEST_EX("${NAME}" "${NAME}_test.cc" "${EXTRA_LIBS}" "FALSE") endmacro() diff --git a/build_files/cmake/RpmBuild.cmake b/build_files/cmake/RpmBuild.cmake index 4e3047b4c6c..2ece06bcad3 100644 --- a/build_files/cmake/RpmBuild.cmake +++ b/build_files/cmake/RpmBuild.cmake @@ -4,22 +4,22 @@ if(NOT DEFINED RPMBUILD) - find_program(RPMBUILD - NAMES rpmbuild - PATHS "/usr/bin") + find_program(RPMBUILD + NAMES rpmbuild + PATHS "/usr/bin") - mark_as_advanced(RPMBUILD) + mark_as_advanced(RPMBUILD) - if(RPMBUILD) - message(STATUS "RPM Build Found: ${RPMBUILD}") - else() - message(STATUS "RPM Build Not Found (rpmbuild). RPM generation will not be available") - endif() + if(RPMBUILD) + message(STATUS "RPM Build Found: ${RPMBUILD}") + else() + message(STATUS "RPM Build Not Found (rpmbuild). RPM generation will not be available") + endif() endif() if(RPMBUILD) - set(RPMBUILD_FOUND TRUE) + set(RPMBUILD_FOUND TRUE) else() - set(RPMBUILD_FOUND FALSE) + set(RPMBUILD_FOUND FALSE) endif() diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake index 12bbf49b747..ec43534528a 100644 --- a/build_files/cmake/buildinfo.cmake +++ b/build_files/cmake/buildinfo.cmake @@ -14,162 +14,162 @@ set(MY_WC_COMMIT_TIMESTAMP 0) # Guess if this is a git working copy and then look up the revision if(EXISTS ${SOURCE_DIR}/.git) - execute_process(COMMAND git rev-parse --abbrev-ref HEAD - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_BRANCH - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE) - if(MY_WC_BRANCH STREQUAL "HEAD") - # Detached HEAD, check whether commit hash is reachable - # in the master branch - execute_process(COMMAND git rev-parse --short=12 HEAD - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE) + if(MY_WC_BRANCH STREQUAL "HEAD") + # Detached HEAD, check whether commit hash is reachable + # in the master branch + execute_process(COMMAND git rev-parse --short=12 HEAD + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND git branch --list master blender-v* --contains ${MY_WC_HASH} - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_contains_check - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND git branch --list master blender-v* --contains ${MY_WC_HASH} + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_contains_check + OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT _git_contains_check STREQUAL "") - set(MY_WC_BRANCH "master") - else() - execute_process(COMMAND git show-ref --tags -d - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_tag_hashes - OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT _git_contains_check STREQUAL "") + set(MY_WC_BRANCH "master") + else() + execute_process(COMMAND git show-ref --tags -d + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_tag_hashes + OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND git rev-parse HEAD - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_head_hash - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND git rev-parse HEAD + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_head_hash + OUTPUT_STRIP_TRAILING_WHITESPACE) - if(_git_tag_hashes MATCHES "${_git_head_hash}") - set(MY_WC_BRANCH "master") - else() - execute_process(COMMAND git branch --contains ${MY_WC_HASH} - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_contains_branches - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REGEX REPLACE "^\\*[ \t]+" "" _git_contains_branches "${_git_contains_branches}") - string(REGEX REPLACE "[\r\n]+" ";" _git_contains_branches "${_git_contains_branches}") - string(REGEX REPLACE ";[ \t]+" ";" _git_contains_branches "${_git_contains_branches}") - foreach(_branch ${_git_contains_branches}) - if(NOT "${_branch}" MATCHES "\\(HEAD.*") - set(MY_WC_BRANCH "${_branch}") - break() - endif() - endforeach() - unset(_branch) - unset(_git_contains_branches) - endif() + if(_git_tag_hashes MATCHES "${_git_head_hash}") + set(MY_WC_BRANCH "master") + else() + execute_process(COMMAND git branch --contains ${MY_WC_HASH} + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_contains_branches + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "^\\*[ \t]+" "" _git_contains_branches "${_git_contains_branches}") + string(REGEX REPLACE "[\r\n]+" ";" _git_contains_branches "${_git_contains_branches}") + string(REGEX REPLACE ";[ \t]+" ";" _git_contains_branches "${_git_contains_branches}") + foreach(_branch ${_git_contains_branches}) + if(NOT "${_branch}" MATCHES "\\(HEAD.*") + set(MY_WC_BRANCH "${_branch}") + break() + endif() + endforeach() + unset(_branch) + unset(_git_contains_branches) + endif() - unset(_git_tag_hashes) - unset(_git_head_hashs) - endif() + unset(_git_tag_hashes) + unset(_git_head_hashs) + endif() - unset(_git_contains_check) - else() - execute_process(COMMAND git log HEAD..@{u} - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_below_check - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET) - if(NOT _git_below_check STREQUAL "") - # If there're commits between HEAD and upstream this means - # that we're reset-ed to older revision. Use it's hash then. - execute_process(COMMAND git rev-parse --short=12 HEAD - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE) - else() - execute_process(COMMAND git rev-parse --short=12 @{u} - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET) + unset(_git_contains_check) + else() + execute_process(COMMAND git log HEAD..@{u} + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_below_check + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET) + if(NOT _git_below_check STREQUAL "") + # If there're commits between HEAD and upstream this means + # that we're reset-ed to older revision. Use it's hash then. + execute_process(COMMAND git rev-parse --short=12 HEAD + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE) + else() + execute_process(COMMAND git rev-parse --short=12 @{u} + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET) - if(MY_WC_HASH STREQUAL "") - # Local branch, not set to upstream. - # Well, let's use HEAD for now - execute_process(COMMAND git rev-parse --short=12 HEAD - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE) - endif() - endif() + if(MY_WC_HASH STREQUAL "") + # Local branch, not set to upstream. + # Well, let's use HEAD for now + execute_process(COMMAND git rev-parse --short=12 HEAD + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() + endif() - if(MY_WC_BRANCH MATCHES "^blender-v") - set(MY_WC_BRANCH "master") - endif() + if(MY_WC_BRANCH MATCHES "^blender-v") + set(MY_WC_BRANCH "master") + endif() - unset(_git_below_check) - endif() + unset(_git_below_check) + endif() - execute_process(COMMAND git log -1 --format=%ct - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_COMMIT_TIMESTAMP - OUTPUT_STRIP_TRAILING_WHITESPACE) - # May fail in rare cases - if(MY_WC_COMMIT_TIMESTAMP STREQUAL "") - set(MY_WC_COMMIT_TIMESTAMP 0) - endif() + execute_process(COMMAND git log -1 --format=%ct + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_COMMIT_TIMESTAMP + OUTPUT_STRIP_TRAILING_WHITESPACE) + # May fail in rare cases + if(MY_WC_COMMIT_TIMESTAMP STREQUAL "") + set(MY_WC_COMMIT_TIMESTAMP 0) + endif() - # Update GIT index before getting dirty files - execute_process(COMMAND git update-index -q --refresh - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_STRIP_TRAILING_WHITESPACE) + # Update GIT index before getting dirty files + execute_process(COMMAND git update-index -q --refresh + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND git diff-index --name-only HEAD -- - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_changed_files - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND git diff-index --name-only HEAD -- + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_changed_files + OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT _git_changed_files STREQUAL "") - set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") - else() - # Unpushed commits are also considered local modifications - execute_process(COMMAND git log @{u}.. - WORKING_DIRECTORY ${SOURCE_DIR} - OUTPUT_VARIABLE _git_unpushed_log - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET) - if(NOT _git_unpushed_log STREQUAL "") - set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") - endif() - unset(_git_unpushed_log) - endif() + if(NOT _git_changed_files STREQUAL "") + set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") + else() + # Unpushed commits are also considered local modifications + execute_process(COMMAND git log @{u}.. + WORKING_DIRECTORY ${SOURCE_DIR} + OUTPUT_VARIABLE _git_unpushed_log + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET) + if(NOT _git_unpushed_log STREQUAL "") + set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)") + endif() + unset(_git_unpushed_log) + endif() - unset(_git_changed_files) + unset(_git_changed_files) endif() # BUILD_PLATFORM and BUILD_PLATFORM are taken from CMake # but BUILD_DATE and BUILD_TIME are platform dependent if(UNIX) - if(NOT BUILD_DATE) - execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) - endif() - if(NOT BUILD_TIME) - execute_process(COMMAND date "+%H:%M:%S" OUTPUT_VARIABLE BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE) - endif() + if(NOT BUILD_DATE) + execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() + if(NOT BUILD_TIME) + execute_process(COMMAND date "+%H:%M:%S" OUTPUT_VARIABLE BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() elseif(WIN32) - if(NOT BUILD_DATE) - execute_process(COMMAND cmd /c date /t OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) - endif() - if(NOT BUILD_TIME) - execute_process(COMMAND cmd /c time /t OUTPUT_VARIABLE BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE) - endif() + if(NOT BUILD_DATE) + execute_process(COMMAND cmd /c date /t OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() + if(NOT BUILD_TIME) + execute_process(COMMAND cmd /c time /t OUTPUT_VARIABLE BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() endif() # Write a file with the BUILD_HASH define file(WRITE buildinfo.h.txt - "#define BUILD_HASH \"${MY_WC_HASH}\"\n" - "#define BUILD_COMMIT_TIMESTAMP ${MY_WC_COMMIT_TIMESTAMP}\n" - "#define BUILD_BRANCH \"${MY_WC_BRANCH}\"\n" - "#define BUILD_DATE \"${BUILD_DATE}\"\n" - "#define BUILD_TIME \"${BUILD_TIME}\"\n" + "#define BUILD_HASH \"${MY_WC_HASH}\"\n" + "#define BUILD_COMMIT_TIMESTAMP ${MY_WC_COMMIT_TIMESTAMP}\n" + "#define BUILD_BRANCH \"${MY_WC_BRANCH}\"\n" + "#define BUILD_DATE \"${BUILD_DATE}\"\n" + "#define BUILD_TIME \"${BUILD_TIME}\"\n" ) # cleanup diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake index aed3381cbbe..6786cb5ce37 100644 --- a/build_files/cmake/config/blender_full.cmake +++ b/build_files/cmake/config/blender_full.cmake @@ -55,12 +55,12 @@ set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE) # platform dependent options if(UNIX AND NOT APPLE) - set(WITH_JACK ON CACHE BOOL "" FORCE) - set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) + set(WITH_JACK ON CACHE BOOL "" FORCE) + set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) elseif(WIN32) - set(WITH_JACK OFF CACHE BOOL "" FORCE) + set(WITH_JACK OFF CACHE BOOL "" FORCE) elseif(APPLE) - set(WITH_JACK ON CACHE BOOL "" FORCE) + set(WITH_JACK ON CACHE BOOL "" FORCE) -# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake") +# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake") endif() diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake index cf0be8d6b3f..24032b6aed6 100644 --- a/build_files/cmake/config/blender_release.cmake +++ b/build_files/cmake/config/blender_release.cmake @@ -58,12 +58,12 @@ set(CYCLES_CUDA_BINARIES_ARCH sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_70;sm # platform dependent options if(UNIX AND NOT APPLE) - set(WITH_JACK ON CACHE BOOL "" FORCE) - set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) + set(WITH_JACK ON CACHE BOOL "" FORCE) + set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) elseif(WIN32) - set(WITH_JACK OFF CACHE BOOL "" FORCE) + set(WITH_JACK OFF CACHE BOOL "" FORCE) elseif(APPLE) - set(WITH_JACK ON CACHE BOOL "" FORCE) + set(WITH_JACK ON CACHE BOOL "" FORCE) -# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake") +# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake") endif() diff --git a/build_files/cmake/config/bpy_module.cmake b/build_files/cmake/config/bpy_module.cmake index 1637bbf9506..46aee50135c 100644 --- a/build_files/cmake/config/bpy_module.cmake +++ b/build_files/cmake/config/bpy_module.cmake @@ -32,6 +32,6 @@ set(WITH_OPENVDB OFF CACHE BOOL "" FORCE) set(WITH_ALEMBIC OFF CACHE BOOL "" FORCE) if(CMAKE_SYSTEM_NAME MATCHES "Linux") - # jemalloc causes linking error on import, disable. - set(WITH_MEM_JEMALLOC OFF CACHE BOOL "" FORCE) + # jemalloc causes linking error on import, disable. + set(WITH_MEM_JEMALLOC OFF CACHE BOOL "" FORCE) endif() diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 22e53fecf50..699f9cb1a99 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -19,175 +19,175 @@ # ***** END GPL LICENSE BLOCK ***** macro(list_insert_after - list_id item_check item_add - ) - set(_index) - list(FIND "${list_id}" "${item_check}" _index) - if("${_index}" MATCHES "-1") - message(FATAL_ERROR "'${list_id}' doesn't contain '${item_check}'") - endif() - math(EXPR _index "${_index} + 1") - list(INSERT ${list_id} "${_index}" ${item_add}) - unset(_index) + list_id item_check item_add + ) + set(_index) + list(FIND "${list_id}" "${item_check}" _index) + if("${_index}" MATCHES "-1") + message(FATAL_ERROR "'${list_id}' doesn't contain '${item_check}'") + endif() + math(EXPR _index "${_index} + 1") + list(INSERT ${list_id} "${_index}" ${item_add}) + unset(_index) endmacro() macro(list_insert_before - list_id item_check item_add - ) - set(_index) - list(FIND "${list_id}" "${item_check}" _index) - if("${_index}" MATCHES "-1") - message(FATAL_ERROR "'${list_id}' doesn't contain '${item_check}'") - endif() - list(INSERT ${list_id} "${_index}" ${item_add}) - unset(_index) + list_id item_check item_add + ) + set(_index) + list(FIND "${list_id}" "${item_check}" _index) + if("${_index}" MATCHES "-1") + message(FATAL_ERROR "'${list_id}' doesn't contain '${item_check}'") + endif() + list(INSERT ${list_id} "${_index}" ${item_add}) + unset(_index) endmacro() function(list_assert_duplicates - list_id - ) + list_id + ) - # message(STATUS "list data: ${list_id}") + # message(STATUS "list data: ${list_id}") - list(LENGTH list_id _len_before) - list(REMOVE_DUPLICATES list_id) - list(LENGTH list_id _len_after) - # message(STATUS "list size ${_len_before} -> ${_len_after}") - if(NOT _len_before EQUAL _len_after) - message(FATAL_ERROR "duplicate found in list which should not contain duplicates: ${list_id}") - endif() - unset(_len_before) - unset(_len_after) + list(LENGTH list_id _len_before) + list(REMOVE_DUPLICATES list_id) + list(LENGTH list_id _len_after) + # message(STATUS "list size ${_len_before} -> ${_len_after}") + if(NOT _len_before EQUAL _len_after) + message(FATAL_ERROR "duplicate found in list which should not contain duplicates: ${list_id}") + endif() + unset(_len_before) + unset(_len_after) endfunction() # foo_bar.spam --> foo_barMySuffix.spam macro(file_suffix - file_name_new file_name file_suffix - ) + file_name_new file_name file_suffix + ) - get_filename_component(_file_name_PATH ${file_name} PATH) - get_filename_component(_file_name_NAME_WE ${file_name} NAME_WE) - get_filename_component(_file_name_EXT ${file_name} EXT) - set(${file_name_new} "${_file_name_PATH}/${_file_name_NAME_WE}${file_suffix}${_file_name_EXT}") + get_filename_component(_file_name_PATH ${file_name} PATH) + get_filename_component(_file_name_NAME_WE ${file_name} NAME_WE) + get_filename_component(_file_name_EXT ${file_name} EXT) + set(${file_name_new} "${_file_name_PATH}/${_file_name_NAME_WE}${file_suffix}${_file_name_EXT}") - unset(_file_name_PATH) - unset(_file_name_NAME_WE) - unset(_file_name_EXT) + unset(_file_name_PATH) + unset(_file_name_NAME_WE) + unset(_file_name_EXT) endmacro() # useful for adding debug suffix to library lists: # /somepath/foo.lib --> /somepath/foo_d.lib macro(file_list_suffix - fp_list_new fp_list fn_suffix - ) + fp_list_new fp_list fn_suffix + ) - # incase of empty list - set(_fp) - set(_fp_suffixed) + # incase of empty list + set(_fp) + set(_fp_suffixed) - set(fp_list_new) + set(fp_list_new) - foreach(_fp ${fp_list}) - file_suffix(_fp_suffixed "${_fp}" "${fn_suffix}") - list(APPEND "${fp_list_new}" "${_fp_suffixed}") - endforeach() + foreach(_fp ${fp_list}) + file_suffix(_fp_suffixed "${_fp}" "${fn_suffix}") + list(APPEND "${fp_list_new}" "${_fp_suffixed}") + endforeach() - unset(_fp) - unset(_fp_suffixed) + unset(_fp) + unset(_fp_suffixed) endmacro() if(UNIX AND NOT APPLE) - macro(find_package_static) - set(_cmake_find_library_suffixes_back ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) - find_package(${ARGV}) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${_cmake_find_library_suffixes_back}) - unset(_cmake_find_library_suffixes_back) - endmacro() + macro(find_package_static) + set(_cmake_find_library_suffixes_back ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + find_package(${ARGV}) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_cmake_find_library_suffixes_back}) + unset(_cmake_find_library_suffixes_back) + endmacro() - macro(find_library_static) - set(_cmake_find_library_suffixes_back ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) - find_library(${ARGV}) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${_cmake_find_library_suffixes_back}) - unset(_cmake_find_library_suffixes_back) - endmacro() + macro(find_library_static) + set(_cmake_find_library_suffixes_back ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + find_library(${ARGV}) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_cmake_find_library_suffixes_back}) + unset(_cmake_find_library_suffixes_back) + endmacro() endif() function(target_link_libraries_optimized - TARGET - LIBS - ) + TARGET + LIBS + ) - foreach(_LIB ${LIBS}) - target_link_libraries(${TARGET} optimized "${_LIB}") - endforeach() + foreach(_LIB ${LIBS}) + target_link_libraries(${TARGET} optimized "${_LIB}") + endforeach() endfunction() function(target_link_libraries_debug - TARGET - LIBS - ) + TARGET + LIBS + ) - foreach(_LIB ${LIBS}) - target_link_libraries(${TARGET} debug "${_LIB}") - endforeach() + foreach(_LIB ${LIBS}) + target_link_libraries(${TARGET} debug "${_LIB}") + endforeach() endfunction() # Nicer makefiles with -I/1/foo/ instead of -I/1/2/3/../../foo/ # use it instead of include_directories() function(blender_include_dirs - includes - ) + includes + ) - set(_ALL_INCS "") - foreach(_INC ${ARGV}) - get_filename_component(_ABS_INC ${_INC} ABSOLUTE) - list(APPEND _ALL_INCS ${_ABS_INC}) - # for checking for invalid includes, disable for regular use - ##if(NOT EXISTS "${_ABS_INC}/") - ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/") - ##endif() - endforeach() - include_directories(${_ALL_INCS}) + set(_ALL_INCS "") + foreach(_INC ${ARGV}) + get_filename_component(_ABS_INC ${_INC} ABSOLUTE) + list(APPEND _ALL_INCS ${_ABS_INC}) + # for checking for invalid includes, disable for regular use + ##if(NOT EXISTS "${_ABS_INC}/") + ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/") + ##endif() + endforeach() + include_directories(${_ALL_INCS}) endfunction() function(blender_include_dirs_sys - includes - ) + includes + ) - set(_ALL_INCS "") - foreach(_INC ${ARGV}) - get_filename_component(_ABS_INC ${_INC} ABSOLUTE) - list(APPEND _ALL_INCS ${_ABS_INC}) - ##if(NOT EXISTS "${_ABS_INC}/") - ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/") - ##endif() - endforeach() - include_directories(SYSTEM ${_ALL_INCS}) + set(_ALL_INCS "") + foreach(_INC ${ARGV}) + get_filename_component(_ABS_INC ${_INC} ABSOLUTE) + list(APPEND _ALL_INCS ${_ABS_INC}) + ##if(NOT EXISTS "${_ABS_INC}/") + ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/") + ##endif() + endforeach() + include_directories(SYSTEM ${_ALL_INCS}) endfunction() function(blender_source_group - sources - ) + sources + ) - # Group by location on disk - source_group("Source Files" FILES CMakeLists.txt) + # Group by location on disk + source_group("Source Files" FILES CMakeLists.txt) - foreach(_SRC ${sources}) - get_filename_component(_SRC_EXT ${_SRC} EXT) - if((${_SRC_EXT} MATCHES ".h") OR - (${_SRC_EXT} MATCHES ".hpp") OR - (${_SRC_EXT} MATCHES ".hh")) + foreach(_SRC ${sources}) + get_filename_component(_SRC_EXT ${_SRC} EXT) + if((${_SRC_EXT} MATCHES ".h") OR + (${_SRC_EXT} MATCHES ".hpp") OR + (${_SRC_EXT} MATCHES ".hh")) - set(GROUP_ID "Header Files") - else() - set(GROUP_ID "Source Files") - endif() - source_group("${GROUP_ID}" FILES ${_SRC}) - endforeach() + set(GROUP_ID "Header Files") + else() + set(GROUP_ID "Source Files") + endif() + source_group("${GROUP_ID}" FILES ${_SRC}) + endforeach() endfunction() @@ -199,412 +199,412 @@ endfunction() # # Optionally takes an arg passed to set(), eg PARENT_SCOPE. macro(add_cc_flags_custom_test - name - ) + name + ) - string(TOUPPER ${name} _name_upper) - if(DEFINED CMAKE_C_FLAGS_${_name_upper}) - message(STATUS "Using custom CFLAGS: CMAKE_C_FLAGS_${_name_upper} in \"${CMAKE_CURRENT_SOURCE_DIR}\"") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${_name_upper}}" ${ARGV1}) - endif() - if(DEFINED CMAKE_CXX_FLAGS_${_name_upper}) - message(STATUS "Using custom CXXFLAGS: CMAKE_CXX_FLAGS_${_name_upper} in \"${CMAKE_CURRENT_SOURCE_DIR}\"") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${_name_upper}}" ${ARGV1}) - endif() - unset(_name_upper) + string(TOUPPER ${name} _name_upper) + if(DEFINED CMAKE_C_FLAGS_${_name_upper}) + message(STATUS "Using custom CFLAGS: CMAKE_C_FLAGS_${_name_upper} in \"${CMAKE_CURRENT_SOURCE_DIR}\"") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${_name_upper}}" ${ARGV1}) + endif() + if(DEFINED CMAKE_CXX_FLAGS_${_name_upper}) + message(STATUS "Using custom CXXFLAGS: CMAKE_CXX_FLAGS_${_name_upper} in \"${CMAKE_CURRENT_SOURCE_DIR}\"") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${_name_upper}}" ${ARGV1}) + endif() + unset(_name_upper) endmacro() # only MSVC uses SOURCE_GROUP function(blender_add_lib__impl - name - sources - includes - includes_sys - library_deps - ) + name + sources + includes + includes_sys + library_deps + ) - # message(STATUS "Configuring library ${name}") + # message(STATUS "Configuring library ${name}") - # include_directories(${includes}) - # include_directories(SYSTEM ${includes_sys}) - blender_include_dirs("${includes}") - blender_include_dirs_sys("${includes_sys}") + # include_directories(${includes}) + # include_directories(SYSTEM ${includes_sys}) + blender_include_dirs("${includes}") + blender_include_dirs_sys("${includes_sys}") - add_library(${name} ${sources}) + add_library(${name} ${sources}) - if (NOT "${library_deps}" STREQUAL "") - target_link_libraries(${name} "${library_deps}") - endif() + if (NOT "${library_deps}" STREQUAL "") + target_link_libraries(${name} "${library_deps}") + endif() - # works fine without having the includes - # listed is helpful for IDE's (QtCreator/MSVC) - blender_source_group("${sources}") + # works fine without having the includes + # listed is helpful for IDE's (QtCreator/MSVC) + blender_source_group("${sources}") - #if enabled, set the FOLDER property for visual studio projects - if(WINDOWS_USE_VISUAL_STUDIO_FOLDERS) - get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) - string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir}) - set_target_properties(${name} PROPERTIES FOLDER ${FolderDir}) - endif() + #if enabled, set the FOLDER property for visual studio projects + if(WINDOWS_USE_VISUAL_STUDIO_FOLDERS) + get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) + string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir}) + set_target_properties(${name} PROPERTIES FOLDER ${FolderDir}) + endif() - list_assert_duplicates("${sources}") - list_assert_duplicates("${includes}") - # Not for system includes because they can resolve to the same path - # list_assert_duplicates("${includes_sys}") + list_assert_duplicates("${sources}") + list_assert_duplicates("${includes}") + # Not for system includes because they can resolve to the same path + # list_assert_duplicates("${includes_sys}") endfunction() function(blender_add_lib_nolist - name - sources - includes - includes_sys - library_deps - ) + name + sources + includes + includes_sys + library_deps + ) - add_cc_flags_custom_test(${name} PARENT_SCOPE) + add_cc_flags_custom_test(${name} PARENT_SCOPE) - blender_add_lib__impl(${name} "${sources}" "${includes}" "${includes_sys}" "${library_deps}") + blender_add_lib__impl(${name} "${sources}" "${includes}" "${includes_sys}" "${library_deps}") endfunction() function(blender_add_lib - name - sources - includes - includes_sys - library_deps - ) + name + sources + includes + includes_sys + library_deps + ) - add_cc_flags_custom_test(${name} PARENT_SCOPE) + add_cc_flags_custom_test(${name} PARENT_SCOPE) - blender_add_lib__impl(${name} "${sources}" "${includes}" "${includes_sys}" "${library_deps}") + blender_add_lib__impl(${name} "${sources}" "${includes}" "${includes_sys}" "${library_deps}") - set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name}) + set_property(GLOBAL APPEND PROPERTY BLENDER_LINK_LIBS ${name}) endfunction() function(SETUP_LIBDIRS) - # NOTE: For all new libraries, use absolute library paths. - # This should eventually be phased out. + # NOTE: For all new libraries, use absolute library paths. + # This should eventually be phased out. - if(NOT MSVC) - link_directories(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH}) + if(NOT MSVC) + link_directories(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH}) - if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs - link_directories(${PYTHON_LIBPATH}) - endif() - if(WITH_SDL AND NOT WITH_SDL_DYNLOAD) - link_directories(${SDL_LIBPATH}) - endif() - if(WITH_CODEC_FFMPEG) - link_directories(${FFMPEG_LIBPATH}) - endif() - if(WITH_IMAGE_OPENEXR) - link_directories(${OPENEXR_LIBPATH}) - endif() - if(WITH_IMAGE_TIFF) - link_directories(${TIFF_LIBPATH}) - endif() - if(WITH_BOOST) - link_directories(${BOOST_LIBPATH}) - endif() - if(WITH_OPENIMAGEIO) - link_directories(${OPENIMAGEIO_LIBPATH}) - endif() - if(WITH_OPENCOLORIO) - link_directories(${OPENCOLORIO_LIBPATH}) - endif() - if(WITH_OPENVDB) - link_directories(${OPENVDB_LIBPATH}) - endif() - if(WITH_OPENAL) - link_directories(${OPENAL_LIBPATH}) - endif() - if(WITH_JACK AND NOT WITH_JACK_DYNLOAD) - link_directories(${JACK_LIBPATH}) - endif() - if(WITH_CODEC_SNDFILE) - link_directories(${LIBSNDFILE_LIBPATH}) - endif() - if(WITH_FFTW3) - link_directories(${FFTW3_LIBPATH}) - endif() - if(WITH_OPENCOLLADA) - link_directories(${OPENCOLLADA_LIBPATH}) - ## Never set - # link_directories(${PCRE_LIBPATH}) - # link_directories(${EXPAT_LIBPATH}) - endif() - if(WITH_LLVM) - link_directories(${LLVM_LIBPATH}) - endif() + if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs + link_directories(${PYTHON_LIBPATH}) + endif() + if(WITH_SDL AND NOT WITH_SDL_DYNLOAD) + link_directories(${SDL_LIBPATH}) + endif() + if(WITH_CODEC_FFMPEG) + link_directories(${FFMPEG_LIBPATH}) + endif() + if(WITH_IMAGE_OPENEXR) + link_directories(${OPENEXR_LIBPATH}) + endif() + if(WITH_IMAGE_TIFF) + link_directories(${TIFF_LIBPATH}) + endif() + if(WITH_BOOST) + link_directories(${BOOST_LIBPATH}) + endif() + if(WITH_OPENIMAGEIO) + link_directories(${OPENIMAGEIO_LIBPATH}) + endif() + if(WITH_OPENCOLORIO) + link_directories(${OPENCOLORIO_LIBPATH}) + endif() + if(WITH_OPENVDB) + link_directories(${OPENVDB_LIBPATH}) + endif() + if(WITH_OPENAL) + link_directories(${OPENAL_LIBPATH}) + endif() + if(WITH_JACK AND NOT WITH_JACK_DYNLOAD) + link_directories(${JACK_LIBPATH}) + endif() + if(WITH_CODEC_SNDFILE) + link_directories(${LIBSNDFILE_LIBPATH}) + endif() + if(WITH_FFTW3) + link_directories(${FFTW3_LIBPATH}) + endif() + if(WITH_OPENCOLLADA) + link_directories(${OPENCOLLADA_LIBPATH}) + ## Never set + # link_directories(${PCRE_LIBPATH}) + # link_directories(${EXPAT_LIBPATH}) + endif() + if(WITH_LLVM) + link_directories(${LLVM_LIBPATH}) + endif() - if(WITH_ALEMBIC) - link_directories(${ALEMBIC_LIBPATH}) - link_directories(${HDF5_LIBPATH}) - endif() + if(WITH_ALEMBIC) + link_directories(${ALEMBIC_LIBPATH}) + link_directories(${HDF5_LIBPATH}) + endif() - if(WIN32 AND NOT UNIX) - link_directories(${PTHREADS_LIBPATH}) - endif() - endif() + if(WIN32 AND NOT UNIX) + link_directories(${PTHREADS_LIBPATH}) + endif() + endif() endfunction() macro(setup_platform_linker_flags) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}") - set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}") + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}") endmacro() function(setup_liblinks - target - ) + target + ) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) - set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) - set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) + set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) - set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE) + set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE) - # jemalloc must be early in the list, to be before pthread (see T57998) - if(WITH_MEM_JEMALLOC) - target_link_libraries(${target} ${JEMALLOC_LIBRARIES}) - endif() + # jemalloc must be early in the list, to be before pthread (see T57998) + if(WITH_MEM_JEMALLOC) + target_link_libraries(${target} ${JEMALLOC_LIBRARIES}) + endif() - target_link_libraries( - ${target} - ${PNG_LIBRARIES} - ${FREETYPE_LIBRARY} - ) + target_link_libraries( + ${target} + ${PNG_LIBRARIES} + ${FREETYPE_LIBRARY} + ) - # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions - if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs - target_link_libraries(${target} ${PYTHON_LINKFLAGS}) + # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions + if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs + target_link_libraries(${target} ${PYTHON_LINKFLAGS}) - if(WIN32 AND NOT UNIX) - file_list_suffix(PYTHON_LIBRARIES_DEBUG "${PYTHON_LIBRARIES}" "_d") - target_link_libraries_debug(${target} "${PYTHON_LIBRARIES_DEBUG}") - target_link_libraries_optimized(${target} "${PYTHON_LIBRARIES}") - unset(PYTHON_LIBRARIES_DEBUG) - else() - target_link_libraries(${target} ${PYTHON_LIBRARIES}) - endif() - endif() + if(WIN32 AND NOT UNIX) + file_list_suffix(PYTHON_LIBRARIES_DEBUG "${PYTHON_LIBRARIES}" "_d") + target_link_libraries_debug(${target} "${PYTHON_LIBRARIES_DEBUG}") + target_link_libraries_optimized(${target} "${PYTHON_LIBRARIES}") + unset(PYTHON_LIBRARIES_DEBUG) + else() + target_link_libraries(${target} ${PYTHON_LIBRARIES}) + endif() + endif() - if(WITH_LZO AND WITH_SYSTEM_LZO) - target_link_libraries(${target} ${LZO_LIBRARIES}) - endif() - if(WITH_SYSTEM_GLEW) - target_link_libraries(${target} ${BLENDER_GLEW_LIBRARIES}) - endif() - if(WITH_BULLET AND WITH_SYSTEM_BULLET) - target_link_libraries(${target} ${BULLET_LIBRARIES}) - endif() - if(WITH_AUDASPACE AND WITH_SYSTEM_AUDASPACE) - target_link_libraries(${target} ${AUDASPACE_C_LIBRARIES} ${AUDASPACE_PY_LIBRARIES}) - endif() - if(WITH_OPENAL) - target_link_libraries(${target} ${OPENAL_LIBRARY}) - endif() - if(WITH_FFTW3) - target_link_libraries(${target} ${FFTW3_LIBRARIES}) - endif() - if(WITH_JACK AND NOT WITH_JACK_DYNLOAD) - target_link_libraries(${target} ${JACK_LIBRARIES}) - endif() - if(WITH_CODEC_SNDFILE) - target_link_libraries(${target} ${LIBSNDFILE_LIBRARIES}) - endif() - if(WITH_SDL AND NOT WITH_SDL_DYNLOAD) - target_link_libraries(${target} ${SDL_LIBRARY}) - endif() - if(WITH_CYCLES_OSL) - target_link_libraries(${target} ${OSL_LIBRARIES}) - endif() - if(WITH_OPENVDB) - target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES}) - endif() - if(WITH_OPENIMAGEIO) - target_link_libraries(${target} ${OPENIMAGEIO_LIBRARIES}) - endif() - if(WITH_OPENCOLORIO) - target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES}) - endif() - if(WITH_OPENSUBDIV) - target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES}) - endif() - if(WITH_CYCLES_EMBREE) - target_link_libraries(${target} ${EMBREE_LIBRARIES}) - endif() - if(WITH_BOOST) - target_link_libraries(${target} ${BOOST_LIBRARIES}) - if(Boost_USE_STATIC_LIBS AND Boost_USE_ICU) - target_link_libraries(${target} ${ICU_LIBRARIES}) - endif() - endif() - target_link_libraries(${target} ${JPEG_LIBRARIES}) - if(WITH_ALEMBIC) - target_link_libraries(${target} ${ALEMBIC_LIBRARIES} ${HDF5_LIBRARIES}) - endif() - if(WITH_IMAGE_TIFF) - target_link_libraries(${target} ${TIFF_LIBRARY}) - endif() - if(WITH_IMAGE_OPENEXR) - target_link_libraries(${target} ${OPENEXR_LIBRARIES}) - endif() - if(WITH_IMAGE_OPENJPEG) - target_link_libraries(${target} ${OPENJPEG_LIBRARIES}) - endif() - if(WITH_CODEC_FFMPEG) - target_link_libraries(${target} ${FFMPEG_LIBRARIES}) - endif() - if(WITH_OPENCOLLADA) - if(WIN32 AND NOT UNIX) - file_list_suffix(OPENCOLLADA_LIBRARIES_DEBUG "${OPENCOLLADA_LIBRARIES}" "_d") - target_link_libraries_debug(${target} "${OPENCOLLADA_LIBRARIES_DEBUG}") - target_link_libraries_optimized(${target} "${OPENCOLLADA_LIBRARIES}") - unset(OPENCOLLADA_LIBRARIES_DEBUG) + if(WITH_LZO AND WITH_SYSTEM_LZO) + target_link_libraries(${target} ${LZO_LIBRARIES}) + endif() + if(WITH_SYSTEM_GLEW) + target_link_libraries(${target} ${BLENDER_GLEW_LIBRARIES}) + endif() + if(WITH_BULLET AND WITH_SYSTEM_BULLET) + target_link_libraries(${target} ${BULLET_LIBRARIES}) + endif() + if(WITH_AUDASPACE AND WITH_SYSTEM_AUDASPACE) + target_link_libraries(${target} ${AUDASPACE_C_LIBRARIES} ${AUDASPACE_PY_LIBRARIES}) + endif() + if(WITH_OPENAL) + target_link_libraries(${target} ${OPENAL_LIBRARY}) + endif() + if(WITH_FFTW3) + target_link_libraries(${target} ${FFTW3_LIBRARIES}) + endif() + if(WITH_JACK AND NOT WITH_JACK_DYNLOAD) + target_link_libraries(${target} ${JACK_LIBRARIES}) + endif() + if(WITH_CODEC_SNDFILE) + target_link_libraries(${target} ${LIBSNDFILE_LIBRARIES}) + endif() + if(WITH_SDL AND NOT WITH_SDL_DYNLOAD) + target_link_libraries(${target} ${SDL_LIBRARY}) + endif() + if(WITH_CYCLES_OSL) + target_link_libraries(${target} ${OSL_LIBRARIES}) + endif() + if(WITH_OPENVDB) + target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES}) + endif() + if(WITH_OPENIMAGEIO) + target_link_libraries(${target} ${OPENIMAGEIO_LIBRARIES}) + endif() + if(WITH_OPENCOLORIO) + target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES}) + endif() + if(WITH_OPENSUBDIV) + target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES}) + endif() + if(WITH_CYCLES_EMBREE) + target_link_libraries(${target} ${EMBREE_LIBRARIES}) + endif() + if(WITH_BOOST) + target_link_libraries(${target} ${BOOST_LIBRARIES}) + if(Boost_USE_STATIC_LIBS AND Boost_USE_ICU) + target_link_libraries(${target} ${ICU_LIBRARIES}) + endif() + endif() + target_link_libraries(${target} ${JPEG_LIBRARIES}) + if(WITH_ALEMBIC) + target_link_libraries(${target} ${ALEMBIC_LIBRARIES} ${HDF5_LIBRARIES}) + endif() + if(WITH_IMAGE_TIFF) + target_link_libraries(${target} ${TIFF_LIBRARY}) + endif() + if(WITH_IMAGE_OPENEXR) + target_link_libraries(${target} ${OPENEXR_LIBRARIES}) + endif() + if(WITH_IMAGE_OPENJPEG) + target_link_libraries(${target} ${OPENJPEG_LIBRARIES}) + endif() + if(WITH_CODEC_FFMPEG) + target_link_libraries(${target} ${FFMPEG_LIBRARIES}) + endif() + if(WITH_OPENCOLLADA) + if(WIN32 AND NOT UNIX) + file_list_suffix(OPENCOLLADA_LIBRARIES_DEBUG "${OPENCOLLADA_LIBRARIES}" "_d") + target_link_libraries_debug(${target} "${OPENCOLLADA_LIBRARIES_DEBUG}") + target_link_libraries_optimized(${target} "${OPENCOLLADA_LIBRARIES}") + unset(OPENCOLLADA_LIBRARIES_DEBUG) - file_list_suffix(PCRE_LIBRARIES_DEBUG "${PCRE_LIBRARIES}" "_d") - target_link_libraries_debug(${target} "${PCRE_LIBRARIES_DEBUG}") - target_link_libraries_optimized(${target} "${PCRE_LIBRARIES}") - unset(PCRE_LIBRARIES_DEBUG) + file_list_suffix(PCRE_LIBRARIES_DEBUG "${PCRE_LIBRARIES}" "_d") + target_link_libraries_debug(${target} "${PCRE_LIBRARIES_DEBUG}") + target_link_libraries_optimized(${target} "${PCRE_LIBRARIES}") + unset(PCRE_LIBRARIES_DEBUG) - if(EXPAT_LIB) - file_list_suffix(EXPAT_LIB_DEBUG "${EXPAT_LIB}" "_d") - target_link_libraries_debug(${target} "${EXPAT_LIB_DEBUG}") - target_link_libraries_optimized(${target} "${EXPAT_LIB}") - unset(EXPAT_LIB_DEBUG) - endif() - else() - target_link_libraries( - ${target} - ${OPENCOLLADA_LIBRARIES} - ${PCRE_LIBRARIES} - ${XML2_LIBRARIES} - ${EXPAT_LIB} - ) - endif() - endif() - if(WITH_MOD_CLOTH_ELTOPO) - target_link_libraries(${target} ${LAPACK_LIBRARIES}) - endif() - if(WITH_LLVM) - target_link_libraries(${target} ${LLVM_LIBRARY}) - endif() - if(WIN32 AND NOT UNIX) - target_link_libraries(${target} ${PTHREADS_LIBRARIES}) - endif() - if(UNIX AND NOT APPLE) - if(WITH_OPENMP_STATIC) - target_link_libraries(${target} ${OpenMP_LIBRARIES}) - endif() - if(WITH_INPUT_NDOF) - target_link_libraries(${target} ${NDOF_LIBRARIES}) - endif() - endif() - if(WITH_SYSTEM_GLOG) - target_link_libraries(${target} ${GLOG_LIBRARIES}) - endif() - if(WITH_SYSTEM_GFLAGS) - target_link_libraries(${target} ${GFLAGS_LIBRARIES}) - endif() + if(EXPAT_LIB) + file_list_suffix(EXPAT_LIB_DEBUG "${EXPAT_LIB}" "_d") + target_link_libraries_debug(${target} "${EXPAT_LIB_DEBUG}") + target_link_libraries_optimized(${target} "${EXPAT_LIB}") + unset(EXPAT_LIB_DEBUG) + endif() + else() + target_link_libraries( + ${target} + ${OPENCOLLADA_LIBRARIES} + ${PCRE_LIBRARIES} + ${XML2_LIBRARIES} + ${EXPAT_LIB} + ) + endif() + endif() + if(WITH_MOD_CLOTH_ELTOPO) + target_link_libraries(${target} ${LAPACK_LIBRARIES}) + endif() + if(WITH_LLVM) + target_link_libraries(${target} ${LLVM_LIBRARY}) + endif() + if(WIN32 AND NOT UNIX) + target_link_libraries(${target} ${PTHREADS_LIBRARIES}) + endif() + if(UNIX AND NOT APPLE) + if(WITH_OPENMP_STATIC) + target_link_libraries(${target} ${OpenMP_LIBRARIES}) + endif() + if(WITH_INPUT_NDOF) + target_link_libraries(${target} ${NDOF_LIBRARIES}) + endif() + endif() + if(WITH_SYSTEM_GLOG) + target_link_libraries(${target} ${GLOG_LIBRARIES}) + endif() + if(WITH_SYSTEM_GFLAGS) + target_link_libraries(${target} ${GFLAGS_LIBRARIES}) + endif() - # We put CLEW and CUEW here because OPENSUBDIV_LIBRARIES depends on them.. - if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV) - target_link_libraries(${target} "extern_clew") - if(WITH_CUDA_DYNLOAD) - target_link_libraries(${target} "extern_cuew") - else() - target_link_libraries(${target} ${CUDA_CUDA_LIBRARY}) - endif() - endif() + # We put CLEW and CUEW here because OPENSUBDIV_LIBRARIES depends on them.. + if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV) + target_link_libraries(${target} "extern_clew") + if(WITH_CUDA_DYNLOAD) + target_link_libraries(${target} "extern_cuew") + else() + target_link_libraries(${target} ${CUDA_CUDA_LIBRARY}) + endif() + endif() - target_link_libraries( - ${target} - ${ZLIB_LIBRARIES} - ) + target_link_libraries( + ${target} + ${ZLIB_LIBRARIES} + ) - #system libraries with no dependencies such as platform link libs or opengl should go last - target_link_libraries(${target} - ${BLENDER_GL_LIBRARIES}) + #system libraries with no dependencies such as platform link libs or opengl should go last + target_link_libraries(${target} + ${BLENDER_GL_LIBRARIES}) - #target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS}) - target_link_libraries(${target} ${PLATFORM_LINKLIBS}) + #target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS}) + target_link_libraries(${target} ${PLATFORM_LINKLIBS}) endfunction() macro(TEST_SSE_SUPPORT - _sse_flags - _sse2_flags) + _sse_flags + _sse2_flags) - include(CheckCSourceRuns) + include(CheckCSourceRuns) - # message(STATUS "Detecting SSE support") - if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang")) - set(${_sse_flags} "-msse") - set(${_sse2_flags} "-msse2") - elseif(MSVC) - # x86_64 has this auto enabled - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(${_sse_flags} "") - set(${_sse2_flags} "") - else() - set(${_sse_flags} "/arch:SSE") - set(${_sse2_flags} "/arch:SSE2") - endif() - elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") - set(${_sse_flags} "") # icc defaults to -msse - set(${_sse2_flags} "") # icc defaults to -msse2 - else() - message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known") - set(${_sse_flags}) - set(${_sse2_flags}) - endif() + # message(STATUS "Detecting SSE support") + if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang")) + set(${_sse_flags} "-msse") + set(${_sse2_flags} "-msse2") + elseif(MSVC) + # x86_64 has this auto enabled + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(${_sse_flags} "") + set(${_sse2_flags} "") + else() + set(${_sse_flags} "/arch:SSE") + set(${_sse2_flags} "/arch:SSE2") + endif() + elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") + set(${_sse_flags} "") # icc defaults to -msse + set(${_sse2_flags} "") # icc defaults to -msse2 + else() + message(WARNING "SSE flags for this compiler: '${CMAKE_C_COMPILER_ID}' not known") + set(${_sse_flags}) + set(${_sse2_flags}) + endif() - set(CMAKE_REQUIRED_FLAGS "${${_sse_flags}} ${${_sse2_flags}}") + set(CMAKE_REQUIRED_FLAGS "${${_sse_flags}} ${${_sse2_flags}}") - if(NOT DEFINED SUPPORT_SSE_BUILD) - # result cached - check_c_source_runs(" - #include - int main(void) { __m128 v = _mm_setzero_ps(); return 0; }" - SUPPORT_SSE_BUILD) + if(NOT DEFINED SUPPORT_SSE_BUILD) + # result cached + check_c_source_runs(" + #include + int main(void) { __m128 v = _mm_setzero_ps(); return 0; }" + SUPPORT_SSE_BUILD) - if(SUPPORT_SSE_BUILD) - message(STATUS "SSE Support: detected.") - else() - message(STATUS "SSE Support: missing.") - endif() - endif() + if(SUPPORT_SSE_BUILD) + message(STATUS "SSE Support: detected.") + else() + message(STATUS "SSE Support: missing.") + endif() + endif() - if(NOT DEFINED SUPPORT_SSE2_BUILD) - # result cached - check_c_source_runs(" - #include - int main(void) { __m128d v = _mm_setzero_pd(); return 0; }" - SUPPORT_SSE2_BUILD) + if(NOT DEFINED SUPPORT_SSE2_BUILD) + # result cached + check_c_source_runs(" + #include + int main(void) { __m128d v = _mm_setzero_pd(); return 0; }" + SUPPORT_SSE2_BUILD) - if(SUPPORT_SSE2_BUILD) - message(STATUS "SSE2 Support: detected.") - else() - message(STATUS "SSE2 Support: missing.") - endif() - endif() + if(SUPPORT_SSE2_BUILD) + message(STATUS "SSE2 Support: detected.") + else() + message(STATUS "SSE2 Support: missing.") + endif() + endif() - unset(CMAKE_REQUIRED_FLAGS) + unset(CMAKE_REQUIRED_FLAGS) endmacro() # Only print message if running CMake first time macro(message_first_run) - if(FIRST_RUN) - message(${ARGV}) - endif() + if(FIRST_RUN) + message(${ARGV}) + endif() endmacro() # when we have warnings as errors applied globally this @@ -612,252 +612,252 @@ endmacro() # utility macro macro(remove_cc_flag - _flag) + _flag) - foreach(flag ${ARGV}) - string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") - string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") - string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") - string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") + foreach(flag ${ARGV}) + string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") + string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") + string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") - string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") - string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") - string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") - string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") - endforeach() - unset(flag) + string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") + string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") + endforeach() + unset(flag) endmacro() macro(add_c_flag - flag) + flag) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") endmacro() macro(add_cxx_flag - flag) + flag) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") endmacro() macro(remove_strict_flags) - if(CMAKE_COMPILER_IS_GNUCC) - remove_cc_flag( - "-Wstrict-prototypes" - "-Wmissing-prototypes" - "-Wmissing-declarations" - "-Wmissing-format-attribute" - "-Wunused-local-typedefs" - "-Wunused-macros" - "-Wunused-parameter" - "-Wwrite-strings" - "-Wredundant-decls" - "-Wundef" - "-Wshadow" - "-Wdouble-promotion" - "-Wold-style-definition" - "-Werror=[^ ]+" - "-Werror" - ) + if(CMAKE_COMPILER_IS_GNUCC) + remove_cc_flag( + "-Wstrict-prototypes" + "-Wmissing-prototypes" + "-Wmissing-declarations" + "-Wmissing-format-attribute" + "-Wunused-local-typedefs" + "-Wunused-macros" + "-Wunused-parameter" + "-Wwrite-strings" + "-Wredundant-decls" + "-Wundef" + "-Wshadow" + "-Wdouble-promotion" + "-Wold-style-definition" + "-Werror=[^ ]+" + "-Werror" + ) - # negate flags implied by '-Wall' - add_c_flag("${C_REMOVE_STRICT_FLAGS}") - add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}") - endif() + # negate flags implied by '-Wall' + add_c_flag("${C_REMOVE_STRICT_FLAGS}") + add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}") + endif() - if(CMAKE_C_COMPILER_ID MATCHES "Clang") - remove_cc_flag( - "-Wunused-parameter" - "-Wunused-variable" - "-Werror=[^ ]+" - "-Werror" - ) + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + remove_cc_flag( + "-Wunused-parameter" + "-Wunused-variable" + "-Werror=[^ ]+" + "-Werror" + ) - # negate flags implied by '-Wall' - add_c_flag("${C_REMOVE_STRICT_FLAGS}") - add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}") - endif() + # negate flags implied by '-Wall' + add_c_flag("${C_REMOVE_STRICT_FLAGS}") + add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}") + endif() - if(MSVC) - # TODO - endif() + if(MSVC) + # TODO + endif() endmacro() macro(remove_extra_strict_flags) - if(CMAKE_COMPILER_IS_GNUCC) - remove_cc_flag( - "-Wunused-parameter" - ) - endif() + if(CMAKE_COMPILER_IS_GNUCC) + remove_cc_flag( + "-Wunused-parameter" + ) + endif() - if(CMAKE_C_COMPILER_ID MATCHES "Clang") - remove_cc_flag( - "-Wunused-parameter" - ) - endif() + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + remove_cc_flag( + "-Wunused-parameter" + ) + endif() - if(MSVC) - # TODO - endif() + if(MSVC) + # TODO + endif() endmacro() # note, we can only append flags on a single file so we need to negate the options. # at the moment we cant shut up ffmpeg deprecations, so use this, but will # probably add more removals here. macro(remove_strict_c_flags_file - filenames) - foreach(_SOURCE ${ARGV}) - if(CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_C_COMPILER_ID MATCHES "Clang")) - set_source_files_properties(${_SOURCE} - PROPERTIES - COMPILE_FLAGS "${C_REMOVE_STRICT_FLAGS}" - ) - endif() - if(MSVC) - # TODO - endif() - endforeach() - unset(_SOURCE) + filenames) + foreach(_SOURCE ${ARGV}) + if(CMAKE_COMPILER_IS_GNUCC OR + (CMAKE_C_COMPILER_ID MATCHES "Clang")) + set_source_files_properties(${_SOURCE} + PROPERTIES + COMPILE_FLAGS "${C_REMOVE_STRICT_FLAGS}" + ) + endif() + if(MSVC) + # TODO + endif() + endforeach() + unset(_SOURCE) endmacro() macro(remove_strict_cxx_flags_file - filenames) - remove_strict_c_flags_file(${filenames} ${ARHV}) - foreach(_SOURCE ${ARGV}) - if(CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) - set_source_files_properties(${_SOURCE} - PROPERTIES - COMPILE_FLAGS "${CXX_REMOVE_STRICT_FLAGS}" - ) - endif() - if(MSVC) - # TODO - endif() - endforeach() - unset(_SOURCE) + filenames) + remove_strict_c_flags_file(${filenames} ${ARHV}) + foreach(_SOURCE ${ARGV}) + if(CMAKE_COMPILER_IS_GNUCC OR + (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) + set_source_files_properties(${_SOURCE} + PROPERTIES + COMPILE_FLAGS "${CXX_REMOVE_STRICT_FLAGS}" + ) + endif() + if(MSVC) + # TODO + endif() + endforeach() + unset(_SOURCE) endmacro() # External libs may need 'signed char' to be default. macro(remove_cc_flag_unsigned_char) - if(CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_C_COMPILER_ID MATCHES "Clang") OR - (CMAKE_C_COMPILER_ID MATCHES "Intel")) - remove_cc_flag("-funsigned-char") - elseif(MSVC) - remove_cc_flag("/J") - else() - message(WARNING - "Compiler '${CMAKE_C_COMPILER_ID}' failed to disable 'unsigned char' flag." - "Build files need updating." - ) - endif() + if(CMAKE_COMPILER_IS_GNUCC OR + (CMAKE_C_COMPILER_ID MATCHES "Clang") OR + (CMAKE_C_COMPILER_ID MATCHES "Intel")) + remove_cc_flag("-funsigned-char") + elseif(MSVC) + remove_cc_flag("/J") + else() + message(WARNING + "Compiler '${CMAKE_C_COMPILER_ID}' failed to disable 'unsigned char' flag." + "Build files need updating." + ) + endif() endmacro() function(ADD_CHECK_C_COMPILER_FLAG - _CFLAGS - _CACHE_VAR - _FLAG - ) + _CFLAGS + _CACHE_VAR + _FLAG + ) - include(CheckCCompilerFlag) + include(CheckCCompilerFlag) - CHECK_C_COMPILER_FLAG("${_FLAG}" "${_CACHE_VAR}") - if(${_CACHE_VAR}) - # message(STATUS "Using CFLAG: ${_FLAG}") - set(${_CFLAGS} "${${_CFLAGS}} ${_FLAG}" PARENT_SCOPE) - else() - message(STATUS "Unsupported CFLAG: ${_FLAG}") - endif() + CHECK_C_COMPILER_FLAG("${_FLAG}" "${_CACHE_VAR}") + if(${_CACHE_VAR}) + # message(STATUS "Using CFLAG: ${_FLAG}") + set(${_CFLAGS} "${${_CFLAGS}} ${_FLAG}" PARENT_SCOPE) + else() + message(STATUS "Unsupported CFLAG: ${_FLAG}") + endif() endfunction() function(ADD_CHECK_CXX_COMPILER_FLAG - _CXXFLAGS - _CACHE_VAR - _FLAG - ) + _CXXFLAGS + _CACHE_VAR + _FLAG + ) - include(CheckCXXCompilerFlag) + include(CheckCXXCompilerFlag) - CHECK_CXX_COMPILER_FLAG("${_FLAG}" "${_CACHE_VAR}") - if(${_CACHE_VAR}) - # message(STATUS "Using CXXFLAG: ${_FLAG}") - set(${_CXXFLAGS} "${${_CXXFLAGS}} ${_FLAG}" PARENT_SCOPE) - else() - message(STATUS "Unsupported CXXFLAG: ${_FLAG}") - endif() + CHECK_CXX_COMPILER_FLAG("${_FLAG}" "${_CACHE_VAR}") + if(${_CACHE_VAR}) + # message(STATUS "Using CXXFLAG: ${_FLAG}") + set(${_CXXFLAGS} "${${_CXXFLAGS}} ${_FLAG}" PARENT_SCOPE) + else() + message(STATUS "Unsupported CXXFLAG: ${_FLAG}") + endif() endfunction() function(get_blender_version) - # extracts header vars and defines them in the parent scope: - # - # - BLENDER_VERSION (major.minor) - # - BLENDER_VERSION_MAJOR - # - BLENDER_VERSION_MINOR - # - BLENDER_SUBVERSION (used for internal versioning mainly) - # - BLENDER_VERSION_CHAR (a, b, c, ...or empty string) - # - BLENDER_VERSION_CYCLE (alpha, beta, rc, release) + # extracts header vars and defines them in the parent scope: + # + # - BLENDER_VERSION (major.minor) + # - BLENDER_VERSION_MAJOR + # - BLENDER_VERSION_MINOR + # - BLENDER_SUBVERSION (used for internal versioning mainly) + # - BLENDER_VERSION_CHAR (a, b, c, ...or empty string) + # - BLENDER_VERSION_CYCLE (alpha, beta, rc, release) - # So cmake depends on BKE_blender.h, beware of inf-loops! - CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h - ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender_version.h.done) + # So cmake depends on BKE_blender.h, beware of inf-loops! + CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h + ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender_version.h.done) - file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$") + file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$") - string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}") - string(REGEX REPLACE ".*#define[ \t]+BLENDER_SUBVERSION[ \t]+([0-9]+).*" "\\1" _out_subversion "${_contents}") - string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CHAR[ \t]+([a-z]+).*" "\\1" _out_version_char "${_contents}") - string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CYCLE[ \t]+([a-z]+).*" "\\1" _out_version_cycle "${_contents}") + string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}") + string(REGEX REPLACE ".*#define[ \t]+BLENDER_SUBVERSION[ \t]+([0-9]+).*" "\\1" _out_subversion "${_contents}") + string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CHAR[ \t]+([a-z]+).*" "\\1" _out_version_char "${_contents}") + string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CYCLE[ \t]+([a-z]+).*" "\\1" _out_version_cycle "${_contents}") - if(NOT ${_out_version} MATCHES "[0-9]+") - message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION") - endif() + if(NOT ${_out_version} MATCHES "[0-9]+") + message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION") + endif() - if(NOT ${_out_subversion} MATCHES "[0-9]+") - message(FATAL_ERROR "Version parsing failed for BLENDER_SUBVERSION") - endif() + if(NOT ${_out_subversion} MATCHES "[0-9]+") + message(FATAL_ERROR "Version parsing failed for BLENDER_SUBVERSION") + endif() - # clumsy regex, only single char are ok but it could be unset + # clumsy regex, only single char are ok but it could be unset - string(LENGTH "${_out_version_char}" _out_version_char_len) - if(NOT _out_version_char_len EQUAL 1) - set(_out_version_char "") - elseif(NOT ${_out_version_char} MATCHES "[a-z]+") - message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CHAR") - endif() + string(LENGTH "${_out_version_char}" _out_version_char_len) + if(NOT _out_version_char_len EQUAL 1) + set(_out_version_char "") + elseif(NOT ${_out_version_char} MATCHES "[a-z]+") + message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CHAR") + endif() - if(NOT ${_out_version_cycle} MATCHES "[a-z]+") - message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CYCLE") - endif() + if(NOT ${_out_version_cycle} MATCHES "[a-z]+") + message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CYCLE") + endif() - math(EXPR _out_version_major "${_out_version} / 100") - math(EXPR _out_version_minor "${_out_version} % 100") + math(EXPR _out_version_major "${_out_version} / 100") + math(EXPR _out_version_minor "${_out_version} % 100") - # for packaging, alpha to numbers - string(COMPARE EQUAL "${_out_version_char}" "" _out_version_char_empty) - if(${_out_version_char_empty}) - set(_out_version_char_index "0") - else() - set(_char_ls a b c d e f g h i j k l m n o p q r s t u v w x y z) - list(FIND _char_ls ${_out_version_char} _out_version_char_index) - math(EXPR _out_version_char_index "${_out_version_char_index} + 1") - endif() + # for packaging, alpha to numbers + string(COMPARE EQUAL "${_out_version_char}" "" _out_version_char_empty) + if(${_out_version_char_empty}) + set(_out_version_char_index "0") + else() + set(_char_ls a b c d e f g h i j k l m n o p q r s t u v w x y z) + list(FIND _char_ls ${_out_version_char} _out_version_char_index) + math(EXPR _out_version_char_index "${_out_version_char_index} + 1") + endif() - # output vars - set(BLENDER_VERSION "${_out_version_major}.${_out_version_minor}" PARENT_SCOPE) - set(BLENDER_VERSION_MAJOR "${_out_version_major}" PARENT_SCOPE) - set(BLENDER_VERSION_MINOR "${_out_version_minor}" PARENT_SCOPE) - set(BLENDER_SUBVERSION "${_out_subversion}" PARENT_SCOPE) - set(BLENDER_VERSION_CHAR "${_out_version_char}" PARENT_SCOPE) - set(BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index}" PARENT_SCOPE) - set(BLENDER_VERSION_CYCLE "${_out_version_cycle}" PARENT_SCOPE) + # output vars + set(BLENDER_VERSION "${_out_version_major}.${_out_version_minor}" PARENT_SCOPE) + set(BLENDER_VERSION_MAJOR "${_out_version_major}" PARENT_SCOPE) + set(BLENDER_VERSION_MINOR "${_out_version_minor}" PARENT_SCOPE) + set(BLENDER_SUBVERSION "${_out_subversion}" PARENT_SCOPE) + set(BLENDER_VERSION_CHAR "${_out_version_char}" PARENT_SCOPE) + set(BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index}" PARENT_SCOPE) + set(BLENDER_VERSION_CYCLE "${_out_version_cycle}" PARENT_SCOPE) endfunction() @@ -865,48 +865,48 @@ endfunction() # hacks to override initial project settings # these macros must be called directly before/after project(Blender) macro(blender_project_hack_pre) - # ------------------ - # GCC -O3 HACK START - # needed because O3 can cause problems but - # allow the builder to set O3 manually after. - if(DEFINED CMAKE_C_FLAGS_RELEASE) - set(_reset_standard_cflags_rel OFF) - else() - set(_reset_standard_cflags_rel ON) - endif() - if(DEFINED CMAKE_CXX_FLAGS_RELEASE) - set(_reset_standard_cxxflags_rel OFF) - else() - set(_reset_standard_cxxflags_rel ON) - endif() + # ------------------ + # GCC -O3 HACK START + # needed because O3 can cause problems but + # allow the builder to set O3 manually after. + if(DEFINED CMAKE_C_FLAGS_RELEASE) + set(_reset_standard_cflags_rel OFF) + else() + set(_reset_standard_cflags_rel ON) + endif() + if(DEFINED CMAKE_CXX_FLAGS_RELEASE) + set(_reset_standard_cxxflags_rel OFF) + else() + set(_reset_standard_cxxflags_rel ON) + endif() endmacro() macro(blender_project_hack_post) - # ---------------- - # GCC -O3 HACK END - if(_reset_standard_cflags_rel) - string(REGEX REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "" FORCE) - mark_as_advanced(CMAKE_C_FLAGS_RELEASE) - endif() + # ---------------- + # GCC -O3 HACK END + if(_reset_standard_cflags_rel) + string(REGEX REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "" FORCE) + mark_as_advanced(CMAKE_C_FLAGS_RELEASE) + endif() - if(_reset_standard_cxxflags_rel) - string(REGEX REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "" FORCE) - mark_as_advanced(CMAKE_CXX_FLAGS_RELEASE) - endif() + if(_reset_standard_cxxflags_rel) + string(REGEX REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "" FORCE) + mark_as_advanced(CMAKE_CXX_FLAGS_RELEASE) + endif() - unset(_reset_standard_cflags_rel) - unset(_reset_standard_cxxflags_rel) + unset(_reset_standard_cflags_rel) + unset(_reset_standard_cxxflags_rel) - # ------------------------------------------------------------------ - # workaround for omission in cmake 2.8.4's GNU.cmake, fixed in 2.8.5 - if(CMAKE_COMPILER_IS_GNUCC) - if(NOT DARWIN) - set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ") - endif() - endif() + # ------------------------------------------------------------------ + # workaround for omission in cmake 2.8.4's GNU.cmake, fixed in 2.8.5 + if(CMAKE_COMPILER_IS_GNUCC) + if(NOT DARWIN) + set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ") + endif() + endif() endmacro() @@ -914,297 +914,297 @@ endmacro() # only install them at the end so the directories don't get cleared with # the files in them. used by cycles to install addon. function(delayed_install - base - files - destination) + base + files + destination) - foreach(f ${files}) - if(IS_ABSOLUTE ${f}) - set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${f}) - else() - set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${base}/${f}) - endif() - set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_DESTINATIONS ${destination}) - endforeach() + foreach(f ${files}) + if(IS_ABSOLUTE ${f}) + set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${f}) + else() + set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${base}/${f}) + endif() + set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_DESTINATIONS ${destination}) + endforeach() endfunction() # note this is a function instead of a macro so that ${BUILD_TYPE} in targetdir # does not get expanded in calling but is preserved function(delayed_do_install - targetdir) + targetdir) - get_property(files GLOBAL PROPERTY DELAYED_INSTALL_FILES) - get_property(destinations GLOBAL PROPERTY DELAYED_INSTALL_DESTINATIONS) + get_property(files GLOBAL PROPERTY DELAYED_INSTALL_FILES) + get_property(destinations GLOBAL PROPERTY DELAYED_INSTALL_DESTINATIONS) - if(files) - list(LENGTH files n) - math(EXPR n "${n}-1") + if(files) + list(LENGTH files n) + math(EXPR n "${n}-1") - foreach(i RANGE ${n}) - list(GET files ${i} f) - list(GET destinations ${i} d) - if(NOT IS_ABSOLUTE ${d}) - install(FILES ${f} DESTINATION ${targetdir}/${d}) - else() - install(FILES ${f} DESTINATION ${d}) - endif() - endforeach() - endif() + foreach(i RANGE ${n}) + list(GET files ${i} f) + list(GET destinations ${i} d) + if(NOT IS_ABSOLUTE ${d}) + install(FILES ${f} DESTINATION ${targetdir}/${d}) + else() + install(FILES ${f} DESTINATION ${d}) + endif() + endforeach() + endif() endfunction() function(data_to_c - file_from file_to - list_to_add - ) + file_from file_to + list_to_add + ) - list(APPEND ${list_to_add} ${file_to}) - set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) + list(APPEND ${list_to_add} ${file_to}) + set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) - get_filename_component(_file_to_path ${file_to} PATH) + get_filename_component(_file_to_path ${file_to} PATH) - add_custom_command( - OUTPUT ${file_to} - COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} - COMMAND "$" ${file_from} ${file_to} - DEPENDS ${file_from} datatoc) + add_custom_command( + OUTPUT ${file_to} + COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} + COMMAND "$" ${file_from} ${file_to} + DEPENDS ${file_from} datatoc) - set_source_files_properties(${file_to} PROPERTIES GENERATED TRUE) + set_source_files_properties(${file_to} PROPERTIES GENERATED TRUE) endfunction() # same as above but generates the var name and output automatic. function(data_to_c_simple - file_from - list_to_add - ) + file_from + list_to_add + ) - # remove ../'s - get_filename_component(_file_from ${CMAKE_CURRENT_SOURCE_DIR}/${file_from} REALPATH) - get_filename_component(_file_to ${CMAKE_CURRENT_BINARY_DIR}/${file_from}.c REALPATH) + # remove ../'s + get_filename_component(_file_from ${CMAKE_CURRENT_SOURCE_DIR}/${file_from} REALPATH) + get_filename_component(_file_to ${CMAKE_CURRENT_BINARY_DIR}/${file_from}.c REALPATH) - list(APPEND ${list_to_add} ${_file_to}) - source_group(Generated FILES ${_file_to}) - list(APPEND ${list_to_add} ${file_from}) - set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) + list(APPEND ${list_to_add} ${_file_to}) + source_group(Generated FILES ${_file_to}) + list(APPEND ${list_to_add} ${file_from}) + set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) - get_filename_component(_file_to_path ${_file_to} PATH) + get_filename_component(_file_to_path ${_file_to} PATH) - add_custom_command( - OUTPUT ${_file_to} - COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} - COMMAND "$" ${_file_from} ${_file_to} - DEPENDS ${_file_from} datatoc) + add_custom_command( + OUTPUT ${_file_to} + COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} + COMMAND "$" ${_file_from} ${_file_to} + DEPENDS ${_file_from} datatoc) - set_source_files_properties(${_file_to} PROPERTIES GENERATED TRUE) + set_source_files_properties(${_file_to} PROPERTIES GENERATED TRUE) endfunction() # macro for converting pixmap directory to a png and then a c file function(data_to_c_simple_icons - path_from icon_prefix icon_names - list_to_add - ) + path_from icon_prefix icon_names + list_to_add + ) - # Conversion steps - # path_from -> _file_from -> _file_to - # foo/*.dat -> foo.png -> foo.png.c + # Conversion steps + # path_from -> _file_from -> _file_to + # foo/*.dat -> foo.png -> foo.png.c - get_filename_component(_path_from_abs ${path_from} ABSOLUTE) - # remove ../'s - get_filename_component(_file_from ${CMAKE_CURRENT_BINARY_DIR}/${path_from}.png REALPATH) - get_filename_component(_file_to ${CMAKE_CURRENT_BINARY_DIR}/${path_from}.png.c REALPATH) + get_filename_component(_path_from_abs ${path_from} ABSOLUTE) + # remove ../'s + get_filename_component(_file_from ${CMAKE_CURRENT_BINARY_DIR}/${path_from}.png REALPATH) + get_filename_component(_file_to ${CMAKE_CURRENT_BINARY_DIR}/${path_from}.png.c REALPATH) - list(APPEND ${list_to_add} ${_file_to}) - set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) + list(APPEND ${list_to_add} ${_file_to}) + set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) - get_filename_component(_file_to_path ${_file_to} PATH) + get_filename_component(_file_to_path ${_file_to} PATH) - # Construct a list of absolute paths from input - set(_icon_files) - foreach(_var ${icon_names}) - list(APPEND _icon_files "${_path_from_abs}/${icon_prefix}${_var}.dat") - endforeach() + # Construct a list of absolute paths from input + set(_icon_files) + foreach(_var ${icon_names}) + list(APPEND _icon_files "${_path_from_abs}/${icon_prefix}${_var}.dat") + endforeach() - add_custom_command( - OUTPUT ${_file_from} ${_file_to} - COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} - #COMMAND python3 ${CMAKE_SOURCE_DIR}/source/blender/datatoc/datatoc_icon.py ${_path_from_abs} ${_file_from} - COMMAND "$" ${_path_from_abs} ${_file_from} - COMMAND "$" ${_file_from} ${_file_to} - DEPENDS - ${_icon_files} - datatoc_icon - datatoc - # could be an arg but for now we only create icons depending on UI_icons.h - ${CMAKE_SOURCE_DIR}/source/blender/editors/include/UI_icons.h - ) + add_custom_command( + OUTPUT ${_file_from} ${_file_to} + COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} + #COMMAND python3 ${CMAKE_SOURCE_DIR}/source/blender/datatoc/datatoc_icon.py ${_path_from_abs} ${_file_from} + COMMAND "$" ${_path_from_abs} ${_file_from} + COMMAND "$" ${_file_from} ${_file_to} + DEPENDS + ${_icon_files} + datatoc_icon + datatoc + # could be an arg but for now we only create icons depending on UI_icons.h + ${CMAKE_SOURCE_DIR}/source/blender/editors/include/UI_icons.h + ) - set_source_files_properties(${_file_from} ${_file_to} PROPERTIES GENERATED TRUE) + set_source_files_properties(${_file_from} ${_file_to} PROPERTIES GENERATED TRUE) endfunction() # XXX Not used for now... function(svg_to_png - file_from - file_to - dpi - list_to_add - ) + file_from + file_to + dpi + list_to_add + ) - # remove ../'s - get_filename_component(_file_from ${CMAKE_CURRENT_SOURCE_DIR}/${file_from} REALPATH) - get_filename_component(_file_to ${CMAKE_CURRENT_SOURCE_DIR}/${file_to} REALPATH) + # remove ../'s + get_filename_component(_file_from ${CMAKE_CURRENT_SOURCE_DIR}/${file_from} REALPATH) + get_filename_component(_file_to ${CMAKE_CURRENT_SOURCE_DIR}/${file_to} REALPATH) - list(APPEND ${list_to_add} ${_file_to}) - set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) + list(APPEND ${list_to_add} ${_file_to}) + set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) - find_program(INKSCAPE_EXE inkscape) - mark_as_advanced(INKSCAPE_EXE) + find_program(INKSCAPE_EXE inkscape) + mark_as_advanced(INKSCAPE_EXE) - if(INKSCAPE_EXE) - if(APPLE) - # in OS X app bundle, the binary is a shim that doesn't take any - # command line arguments, replace it with the actual binary - string(REPLACE "MacOS/Inkscape" "Resources/bin/inkscape" INKSCAPE_REAL_EXE ${INKSCAPE_EXE}) - if(EXISTS "${INKSCAPE_REAL_EXE}") - set(INKSCAPE_EXE ${INKSCAPE_REAL_EXE}) - endif() - endif() + if(INKSCAPE_EXE) + if(APPLE) + # in OS X app bundle, the binary is a shim that doesn't take any + # command line arguments, replace it with the actual binary + string(REPLACE "MacOS/Inkscape" "Resources/bin/inkscape" INKSCAPE_REAL_EXE ${INKSCAPE_EXE}) + if(EXISTS "${INKSCAPE_REAL_EXE}") + set(INKSCAPE_EXE ${INKSCAPE_REAL_EXE}) + endif() + endif() - add_custom_command( - OUTPUT ${_file_to} - COMMAND ${INKSCAPE_EXE} ${_file_from} --export-dpi=${dpi} --without-gui --export-png=${_file_to} - DEPENDS ${_file_from} ${INKSCAPE_EXE} - ) - else() - message(WARNING "Inkscape not found, could not re-generate ${_file_to} from ${_file_from}!") - endif() + add_custom_command( + OUTPUT ${_file_to} + COMMAND ${INKSCAPE_EXE} ${_file_from} --export-dpi=${dpi} --without-gui --export-png=${_file_to} + DEPENDS ${_file_from} ${INKSCAPE_EXE} + ) + else() + message(WARNING "Inkscape not found, could not re-generate ${_file_to} from ${_file_from}!") + endif() endfunction() function(msgfmt_simple - file_from - list_to_add - ) + file_from + list_to_add + ) - # remove ../'s - get_filename_component(_file_from_we ${file_from} NAME_WE) + # remove ../'s + get_filename_component(_file_from_we ${file_from} NAME_WE) - get_filename_component(_file_from ${file_from} REALPATH) - get_filename_component(_file_to ${CMAKE_CURRENT_BINARY_DIR}/${_file_from_we}.mo REALPATH) + get_filename_component(_file_from ${file_from} REALPATH) + get_filename_component(_file_to ${CMAKE_CURRENT_BINARY_DIR}/${_file_from_we}.mo REALPATH) - list(APPEND ${list_to_add} ${_file_to}) - set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) + list(APPEND ${list_to_add} ${_file_to}) + set(${list_to_add} ${${list_to_add}} PARENT_SCOPE) - get_filename_component(_file_to_path ${_file_to} PATH) + get_filename_component(_file_to_path ${_file_to} PATH) - add_custom_command( - OUTPUT ${_file_to} - COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} - COMMAND "$" ${_file_from} ${_file_to} - DEPENDS msgfmt ${_file_from}) + add_custom_command( + OUTPUT ${_file_to} + COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path} + COMMAND "$" ${_file_from} ${_file_to} + DEPENDS msgfmt ${_file_from}) - set_source_files_properties(${_file_to} PROPERTIES GENERATED TRUE) + set_source_files_properties(${_file_to} PROPERTIES GENERATED TRUE) endfunction() function(find_python_package - package - ) + package + ) - string(TOUPPER ${package} _upper_package) + string(TOUPPER ${package} _upper_package) - # set but invalid - if((NOT ${PYTHON_${_upper_package}_PATH} STREQUAL "") AND - (NOT ${PYTHON_${_upper_package}_PATH} MATCHES NOTFOUND)) -# if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}/${package}") -# message(WARNING "PYTHON_${_upper_package}_PATH is invalid, ${package} not found in '${PYTHON_${_upper_package}_PATH}' " -# "WITH_PYTHON_INSTALL_${_upper_package} option will be ignored when installing python") -# set(WITH_PYTHON_INSTALL${_upper_package} OFF) -# endif() - # not set, so initialize - else() - string(REPLACE "." ";" _PY_VER_SPLIT "${PYTHON_VERSION}") - list(GET _PY_VER_SPLIT 0 _PY_VER_MAJOR) + # set but invalid + if((NOT ${PYTHON_${_upper_package}_PATH} STREQUAL "") AND + (NOT ${PYTHON_${_upper_package}_PATH} MATCHES NOTFOUND)) +# if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}/${package}") +# message(WARNING "PYTHON_${_upper_package}_PATH is invalid, ${package} not found in '${PYTHON_${_upper_package}_PATH}' " +# "WITH_PYTHON_INSTALL_${_upper_package} option will be ignored when installing python") +# set(WITH_PYTHON_INSTALL${_upper_package} OFF) +# endif() + # not set, so initialize + else() + string(REPLACE "." ";" _PY_VER_SPLIT "${PYTHON_VERSION}") + list(GET _PY_VER_SPLIT 0 _PY_VER_MAJOR) - # re-cache - unset(PYTHON_${_upper_package}_PATH CACHE) - find_path(PYTHON_${_upper_package}_PATH - NAMES - ${package} - HINTS - "${PYTHON_LIBPATH}/" - "${PYTHON_LIBPATH}/python${PYTHON_VERSION}/" - "${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/" - PATH_SUFFIXES - site-packages - dist-packages - vendor-packages - NO_DEFAULT_PATH - ) + # re-cache + unset(PYTHON_${_upper_package}_PATH CACHE) + find_path(PYTHON_${_upper_package}_PATH + NAMES + ${package} + HINTS + "${PYTHON_LIBPATH}/" + "${PYTHON_LIBPATH}/python${PYTHON_VERSION}/" + "${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/" + PATH_SUFFIXES + site-packages + dist-packages + vendor-packages + NO_DEFAULT_PATH + ) - if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}") - message(WARNING - "Python package '${package}' path could not be found in:\n" - "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${package}', " - "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/site-packages/${package}', " - "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/dist-packages/${package}', " - "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/dist-packages/${package}', " - "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/vendor-packages/${package}', " - "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/vendor-packages/${package}', " - "\n" - "The 'WITH_PYTHON_INSTALL_${_upper_package}' option will be ignored when installing Python.\n" - "The build will be usable, only add-ons that depend on this package won't be functional." - ) - set(WITH_PYTHON_INSTALL_${_upper_package} OFF PARENT_SCOPE) - else() - message(STATUS "${package} found at '${PYTHON_${_upper_package}_PATH}'") - endif() - endif() + if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}") + message(WARNING + "Python package '${package}' path could not be found in:\n" + "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${package}', " + "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/site-packages/${package}', " + "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/dist-packages/${package}', " + "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/dist-packages/${package}', " + "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/vendor-packages/${package}', " + "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/vendor-packages/${package}', " + "\n" + "The 'WITH_PYTHON_INSTALL_${_upper_package}' option will be ignored when installing Python.\n" + "The build will be usable, only add-ons that depend on this package won't be functional." + ) + set(WITH_PYTHON_INSTALL_${_upper_package} OFF PARENT_SCOPE) + else() + message(STATUS "${package} found at '${PYTHON_${_upper_package}_PATH}'") + endif() + endif() endfunction() # like Python's 'print(dir())' function(print_all_vars) - get_cmake_property(_vars VARIABLES) - foreach(_var ${_vars}) - message("${_var}=${${_var}}") - endforeach() + get_cmake_property(_vars VARIABLES) + foreach(_var ${_vars}) + message("${_var}=${${_var}}") + endforeach() endfunction() macro(openmp_delayload - projectname - ) - if(MSVC) - if(WITH_OPENMP) - if(MSVC_VERSION EQUAL 1800) - set(OPENMP_DLL_NAME "vcomp120") - else() - set(OPENMP_DLL_NAME "vcomp140") - endif() - SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_RELEASE "/DELAYLOAD:${OPENMP_DLL_NAME}.dll delayimp.lib") - SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_DEBUG "/DELAYLOAD:${OPENMP_DLL_NAME}d.dll delayimp.lib") - SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/DELAYLOAD:${OPENMP_DLL_NAME}.dll delayimp.lib") - SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_MINSIZEREL "/DELAYLOAD:${OPENMP_DLL_NAME}.dll delayimp.lib") - endif() - endif() + projectname + ) + if(MSVC) + if(WITH_OPENMP) + if(MSVC_VERSION EQUAL 1800) + set(OPENMP_DLL_NAME "vcomp120") + else() + set(OPENMP_DLL_NAME "vcomp140") + endif() + SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_RELEASE "/DELAYLOAD:${OPENMP_DLL_NAME}.dll delayimp.lib") + SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_DEBUG "/DELAYLOAD:${OPENMP_DLL_NAME}d.dll delayimp.lib") + SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/DELAYLOAD:${OPENMP_DLL_NAME}.dll delayimp.lib") + SET_TARGET_PROPERTIES(${projectname} PROPERTIES LINK_FLAGS_MINSIZEREL "/DELAYLOAD:${OPENMP_DLL_NAME}.dll delayimp.lib") + endif() + endif() endmacro() macro(WINDOWS_SIGN_TARGET target) - if(WITH_WINDOWS_CODESIGN) - if(!SIGNTOOL_EXE) - error("Codesigning is enabled, but signtool is not found") - else() - if(WINDOWS_CODESIGN_PFX_PASSWORD) - set(CODESIGNPASSWORD /p ${WINDOWS_CODESIGN_PFX_PASSWORD}) - else() - if($ENV{PFXPASSWORD}) - set(CODESIGNPASSWORD /p $ENV{PFXPASSWORD}) - else() - message(FATAL_ERROR "WITH_WINDOWS_CODESIGN is on but WINDOWS_CODESIGN_PFX_PASSWORD not set, and environment variable PFXPASSWORD not found, unable to sign code.") - endif() - endif() - add_custom_command(TARGET ${target} - POST_BUILD - COMMAND ${SIGNTOOL_EXE} sign /f ${WINDOWS_CODESIGN_PFX} ${CODESIGNPASSWORD} $ - VERBATIM - ) - endif() - endif() + if(WITH_WINDOWS_CODESIGN) + if(!SIGNTOOL_EXE) + error("Codesigning is enabled, but signtool is not found") + else() + if(WINDOWS_CODESIGN_PFX_PASSWORD) + set(CODESIGNPASSWORD /p ${WINDOWS_CODESIGN_PFX_PASSWORD}) + else() + if($ENV{PFXPASSWORD}) + set(CODESIGNPASSWORD /p $ENV{PFXPASSWORD}) + else() + message(FATAL_ERROR "WITH_WINDOWS_CODESIGN is on but WINDOWS_CODESIGN_PFX_PASSWORD not set, and environment variable PFXPASSWORD not found, unable to sign code.") + endif() + endif() + add_custom_command(TARGET ${target} + POST_BUILD + COMMAND ${SIGNTOOL_EXE} sign /f ${WINDOWS_CODESIGN_PFX} ${CODESIGNPASSWORD} $ + VERBATIM + ) + endif() + endif() endmacro() diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake index c086e8778c5..06a97fc9abb 100644 --- a/build_files/cmake/packaging.cmake +++ b/build_files/cmake/packaging.cmake @@ -23,15 +23,15 @@ SET(CPACK_PACKAGE_VERSION_PATCH "${PATCH_VERSION}") # Get the build revision, note that this can get out-of-sync, so for packaging run cmake first. set(MY_WC_HASH "unknown") if(EXISTS ${CMAKE_SOURCE_DIR}/.git/) - find_package(Git) - if(GIT_FOUND) - # message(STATUS "Found Git: ${GIT_EXECUTABLE}") - execute_process(COMMAND git rev-parse --short=12 HEAD - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE MY_WC_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_QUIET) - endif() + find_package(Git) + if(GIT_FOUND) + # message(STATUS "Found Git: ${GIT_EXECUTABLE}") + execute_process(COMMAND git rev-parse --short=12 HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE MY_WC_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET) + endif() endif() set(BUILD_REV ${MY_WC_HASH}) unset(MY_WC_HASH) @@ -41,61 +41,61 @@ unset(MY_WC_HASH) execute_process(COMMAND date "+%Y%m%d" OUTPUT_VARIABLE CPACK_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER) if(MSVC) - if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(PACKAGE_ARCH windows64) - else() - set(PACKAGE_ARCH windows32) - endif() + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(PACKAGE_ARCH windows64) + else() + set(PACKAGE_ARCH windows32) + endif() else(MSVC) - set(PACKAGE_ARCH ${CMAKE_SYSTEM_PROCESSOR}) + set(PACKAGE_ARCH ${CMAKE_SYSTEM_PROCESSOR}) endif() if(CPACK_OVERRIDE_PACKAGENAME) - set(CPACK_PACKAGE_FILE_NAME ${CPACK_OVERRIDE_PACKAGENAME}-${PACKAGE_ARCH}) + set(CPACK_PACKAGE_FILE_NAME ${CPACK_OVERRIDE_PACKAGENAME}-${PACKAGE_ARCH}) else() - set(CPACK_PACKAGE_FILE_NAME ${PROJECT_NAME_LOWER}-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}-git${CPACK_DATE}.${BUILD_REV}-${PACKAGE_ARCH}) + set(CPACK_PACKAGE_FILE_NAME ${PROJECT_NAME_LOWER}-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}-git${CPACK_DATE}.${BUILD_REV}-${PACKAGE_ARCH}) endif() if(CMAKE_SYSTEM_NAME MATCHES "Linux") - # RPM packages - include(build_files/cmake/RpmBuild.cmake) - if(RPMBUILD_FOUND) - set(CPACK_GENERATOR "RPM") - set(CPACK_RPM_PACKAGE_RELEASE "git${CPACK_DATE}.${BUILD_REV}") - set(CPACK_SET_DESTDIR "true") - set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}") - set(CPACK_PACKAGE_RELOCATABLE "false") - set(CPACK_RPM_PACKAGE_LICENSE "GPLv2+ and Apache 2.0") - set(CPACK_RPM_PACKAGE_GROUP "Amusements/Multimedia") - set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_SOURCE_DIR}/build_files/package_spec/rpm/blender.spec.in") - endif() + # RPM packages + include(build_files/cmake/RpmBuild.cmake) + if(RPMBUILD_FOUND) + set(CPACK_GENERATOR "RPM") + set(CPACK_RPM_PACKAGE_RELEASE "git${CPACK_DATE}.${BUILD_REV}") + set(CPACK_SET_DESTDIR "true") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}") + set(CPACK_PACKAGE_RELOCATABLE "false") + set(CPACK_RPM_PACKAGE_LICENSE "GPLv2+ and Apache 2.0") + set(CPACK_RPM_PACKAGE_GROUP "Amusements/Multimedia") + set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_SOURCE_DIR}/build_files/package_spec/rpm/blender.spec.in") + endif() endif() # Mac Bundle if(APPLE) - set(CPACK_GENERATOR "DragNDrop") + set(CPACK_GENERATOR "DragNDrop") - # Libraries are bundled directly - set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE) + # Libraries are bundled directly + set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE) endif() if(WIN32) - set(CPACK_PACKAGE_INSTALL_DIRECTORY "Blender Foundation/Blender") - set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Blender Foundation/Blender") + set(CPACK_PACKAGE_INSTALL_DIRECTORY "Blender Foundation/Blender") + set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Blender Foundation/Blender") - set(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/release/windows/icons/winblender.ico) - set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") + set(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/release/windows/icons/winblender.ico) + set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") - set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/release/text/GPL3-license.txt) - set(CPACK_WIX_PRODUCT_ICON ${CMAKE_SOURCE_DIR}/release/windows/icons/winblender.ico) - set(CPACK_WIX_UPGRADE_GUID "B767E4FD-7DE7-4094-B051-3AE62E13A17A") + set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/release/text/GPL3-license.txt) + set(CPACK_WIX_PRODUCT_ICON ${CMAKE_SOURCE_DIR}/release/windows/icons/winblender.ico) + set(CPACK_WIX_UPGRADE_GUID "B767E4FD-7DE7-4094-B051-3AE62E13A17A") - set(CPACK_WIX_TEMPLATE ${LIBDIR}/package/installer_wix/WIX.template) - set(CPACK_WIX_UI_BANNER ${LIBDIR}/package/installer_wix/WIX_UI_BANNER.bmp) - set(CPACK_WIX_UI_DIALOG ${LIBDIR}/package/installer_wix/WIX_UI_DIALOG.bmp) + set(CPACK_WIX_TEMPLATE ${LIBDIR}/package/installer_wix/WIX.template) + set(CPACK_WIX_UI_BANNER ${LIBDIR}/package/installer_wix/WIX_UI_BANNER.bmp) + set(CPACK_WIX_UI_DIALOG ${LIBDIR}/package/installer_wix/WIX_UI_DIALOG.bmp) - #force lzma instead of deflate - set(CPACK_WIX_LIGHT_EXTRA_FLAGS -dcl:high) + #force lzma instead of deflate + set(CPACK_WIX_LIGHT_EXTRA_FLAGS -dcl:high) endif() set(CPACK_PACKAGE_EXECUTABLES "blender" "blender") @@ -106,30 +106,30 @@ include(CPack) # Target for build_archive.py script, to automatically pass along # version, revision, platform, build directory macro(add_package_archive packagename extension) - set(build_archive python ${CMAKE_SOURCE_DIR}/build_files/package_spec/build_archive.py) - set(package_output ${CMAKE_BINARY_DIR}/release/${packagename}.${extension}) + set(build_archive python ${CMAKE_SOURCE_DIR}/build_files/package_spec/build_archive.py) + set(package_output ${CMAKE_BINARY_DIR}/release/${packagename}.${extension}) - add_custom_target(package_archive DEPENDS ${package_output}) + add_custom_target(package_archive DEPENDS ${package_output}) - add_custom_command( - OUTPUT ${package_output} - COMMAND ${build_archive} ${packagename} ${extension} bin release - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) - unset(build_archive) - unset(package_output) + add_custom_command( + OUTPUT ${package_output} + COMMAND ${build_archive} ${packagename} ${extension} bin release + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + unset(build_archive) + unset(package_output) endmacro() if(APPLE) - add_package_archive( - "${PROJECT_NAME}-${BLENDER_VERSION}-${BUILD_REV}-OSX-${CMAKE_OSX_ARCHITECTURES}" - "zip") + add_package_archive( + "${PROJECT_NAME}-${BLENDER_VERSION}-${BUILD_REV}-OSX-${CMAKE_OSX_ARCHITECTURES}" + "zip") elseif(UNIX) - # platform name could be tweaked, to include glibc, and ensure processor is correct (i386 vs i686) - string(TOLOWER ${CMAKE_SYSTEM_NAME} PACKAGE_SYSTEM_NAME) + # platform name could be tweaked, to include glibc, and ensure processor is correct (i386 vs i686) + string(TOLOWER ${CMAKE_SYSTEM_NAME} PACKAGE_SYSTEM_NAME) - add_package_archive( - "${PROJECT_NAME}-${BLENDER_VERSION}-${BUILD_REV}-${PACKAGE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}" - "tar.bz2") + add_package_archive( + "${PROJECT_NAME}-${BLENDER_VERSION}-${BUILD_REV}-${PACKAGE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}" + "tar.bz2") endif() unset(MAJOR_VERSION) diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 4047a8f134d..3fd07f5b9c5 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -27,102 +27,102 @@ macro(find_package_wrapper) endmacro() if(NOT DEFINED LIBDIR) - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin) - # Prefer lib directory paths - file(GLOB LIB_SUBDIRS ${LIBDIR}/*) - set(CMAKE_PREFIX_PATH ${LIB_SUBDIRS}) + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin) + # Prefer lib directory paths + file(GLOB LIB_SUBDIRS ${LIBDIR}/*) + set(CMAKE_PREFIX_PATH ${LIB_SUBDIRS}) else() - message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") + message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") endif() if(NOT EXISTS "${LIBDIR}/") - message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'") + message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'") endif() if(WITH_OPENAL) - find_package(OpenAL) - if(OPENAL_FOUND) - set(WITH_OPENAL ON) - else() - set(WITH_OPENAL OFF) - endif() + find_package(OpenAL) + if(OPENAL_FOUND) + set(WITH_OPENAL ON) + else() + set(WITH_OPENAL OFF) + endif() endif() if(WITH_ALEMBIC) - set(ALEMBIC ${LIBDIR}/alembic) - set(ALEMBIC_INCLUDE_DIR ${ALEMBIC}/include) - set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) - set(ALEMBIC_LIBPATH ${ALEMBIC}/lib) - set(ALEMBIC_LIBRARIES Alembic) - set(ALEMBIC_FOUND ON) + set(ALEMBIC ${LIBDIR}/alembic) + set(ALEMBIC_INCLUDE_DIR ${ALEMBIC}/include) + set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) + set(ALEMBIC_LIBPATH ${ALEMBIC}/lib) + set(ALEMBIC_LIBRARIES Alembic) + set(ALEMBIC_FOUND ON) endif() if(WITH_OPENSUBDIV) - set(OPENSUBDIV ${LIBDIR}/opensubdiv) - set(OPENSUBDIV_LIBPATH ${OPENSUBDIV}/lib) - find_library(OSD_LIB_CPU NAMES osdCPU PATHS ${OPENSUBDIV_LIBPATH}) - find_library(OSD_LIB_GPU NAMES osdGPU PATHS ${OPENSUBDIV_LIBPATH}) - set(OPENSUBDIV_INCLUDE_DIR ${OPENSUBDIV}/include) - set(OPENSUBDIV_INCLUDE_DIRS ${OPENSUBDIV_INCLUDE_DIR}) - list(APPEND OPENSUBDIV_LIBRARIES ${OSD_LIB_CPU} ${OSD_LIB_GPU}) + set(OPENSUBDIV ${LIBDIR}/opensubdiv) + set(OPENSUBDIV_LIBPATH ${OPENSUBDIV}/lib) + find_library(OSD_LIB_CPU NAMES osdCPU PATHS ${OPENSUBDIV_LIBPATH}) + find_library(OSD_LIB_GPU NAMES osdGPU PATHS ${OPENSUBDIV_LIBPATH}) + set(OPENSUBDIV_INCLUDE_DIR ${OPENSUBDIV}/include) + set(OPENSUBDIV_INCLUDE_DIRS ${OPENSUBDIV_INCLUDE_DIR}) + list(APPEND OPENSUBDIV_LIBRARIES ${OSD_LIB_CPU} ${OSD_LIB_GPU}) endif() if(WITH_JACK) - find_library(JACK_FRAMEWORK - NAMES jackmp - ) - set(JACK_INCLUDE_DIRS ${JACK_FRAMEWORK}/headers) - if(NOT JACK_FRAMEWORK) - set(WITH_JACK OFF) - endif() + find_library(JACK_FRAMEWORK + NAMES jackmp + ) + set(JACK_INCLUDE_DIRS ${JACK_FRAMEWORK}/headers) + if(NOT JACK_FRAMEWORK) + set(WITH_JACK OFF) + endif() endif() if(WITH_CODEC_SNDFILE) - set(LIBSNDFILE ${LIBDIR}/sndfile) - set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include) - set(LIBSNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc) - set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib ${LIBDIR}/ffmpeg/lib) # TODO, deprecate + set(LIBSNDFILE ${LIBDIR}/sndfile) + set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include) + set(LIBSNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc) + set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib ${LIBDIR}/ffmpeg/lib) # TODO, deprecate endif() if(WITH_PYTHON) - # we use precompiled libraries for py 3.7 and up by default - set(PYTHON_VERSION 3.7) - if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK) - # normally cached but not since we include them with blender - set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m") - set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m") - set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a) - set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") - # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled - else() - # module must be compiled against Python framework - set(_py_framework "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}") + # we use precompiled libraries for py 3.7 and up by default + set(PYTHON_VERSION 3.7) + if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK) + # normally cached but not since we include them with blender + set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m") + set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m") + set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a) + set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") + # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled + else() + # module must be compiled against Python framework + set(_py_framework "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}") - set(PYTHON_INCLUDE_DIR "${_py_framework}/include/python${PYTHON_VERSION}m") - set(PYTHON_EXECUTABLE "${_py_framework}/bin/python${PYTHON_VERSION}m") - set(PYTHON_LIBPATH "${_py_framework}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}m") - #set(PYTHON_LIBRARY python${PYTHON_VERSION}) - #set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled + set(PYTHON_INCLUDE_DIR "${_py_framework}/include/python${PYTHON_VERSION}m") + set(PYTHON_EXECUTABLE "${_py_framework}/bin/python${PYTHON_VERSION}m") + set(PYTHON_LIBPATH "${_py_framework}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}m") + #set(PYTHON_LIBRARY python${PYTHON_VERSION}) + #set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled - unset(_py_framework) - endif() + unset(_py_framework) + endif() - # uncached vars - set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}") - set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") + # uncached vars + set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}") + set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") - # needed for Audaspace, numpy is installed into python site-packages - set(PYTHON_NUMPY_INCLUDE_DIRS "${PYTHON_LIBPATH}/site-packages/numpy/core/include") + # needed for Audaspace, numpy is installed into python site-packages + set(PYTHON_NUMPY_INCLUDE_DIRS "${PYTHON_LIBPATH}/site-packages/numpy/core/include") - if(NOT EXISTS "${PYTHON_EXECUTABLE}") - message(FATAL_ERROR "Python executable missing: ${PYTHON_EXECUTABLE}") - endif() + if(NOT EXISTS "${PYTHON_EXECUTABLE}") + message(FATAL_ERROR "Python executable missing: ${PYTHON_EXECUTABLE}") + endif() endif() if(WITH_FFTW3) - set(FFTW3 ${LIBDIR}/fftw3) - set(FFTW3_INCLUDE_DIRS ${FFTW3}/include) - set(FFTW3_LIBRARIES fftw3) - set(FFTW3_LIBPATH ${FFTW3}/lib) + set(FFTW3 ${LIBDIR}/fftw3) + set(FFTW3_INCLUDE_DIRS ${FFTW3}/include) + set(FFTW3_LIBRARIES fftw3) + set(FFTW3_LIBPATH ${FFTW3}/lib) endif() set(PNG_LIBRARIES png) @@ -138,101 +138,101 @@ set(FREETYPE_LIBPATH ${FREETYPE}/lib) set(FREETYPE_LIBRARY freetype) if(WITH_IMAGE_OPENEXR) - set(OPENEXR ${LIBDIR}/openexr) - set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include) - set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR) - set(OPENEXR_LIBRARIES - Iex - Half - IlmImf - Imath - IlmThread) - set(OPENEXR_LIBPATH ${OPENEXR}/lib) + set(OPENEXR ${LIBDIR}/openexr) + set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include) + set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR) + set(OPENEXR_LIBRARIES + Iex + Half + IlmImf + Imath + IlmThread) + set(OPENEXR_LIBPATH ${OPENEXR}/lib) endif() if(WITH_CODEC_FFMPEG) - set(FFMPEG ${LIBDIR}/ffmpeg) - set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include) - set(FFMPEG_LIBRARIES - avcodec avdevice avformat avutil - mp3lame swscale x264 xvidcore - theora theoradec theoraenc - vorbis vorbisenc vorbisfile ogg - vpx swresample) - set(FFMPEG_LIBPATH ${FFMPEG}/lib) + set(FFMPEG ${LIBDIR}/ffmpeg) + set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include) + set(FFMPEG_LIBRARIES + avcodec avdevice avformat avutil + mp3lame swscale x264 xvidcore + theora theoradec theoraenc + vorbis vorbisenc vorbisfile ogg + vpx swresample) + set(FFMPEG_LIBPATH ${FFMPEG}/lib) endif() if(WITH_IMAGE_OPENJPEG OR WITH_CODEC_FFMPEG) - # use openjpeg from libdir that is linked into ffmpeg - set(OPENJPEG ${LIBDIR}/openjpeg) - set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include) - set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/libopenjp2.a) + # use openjpeg from libdir that is linked into ffmpeg + set(OPENJPEG ${LIBDIR}/openjpeg) + set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include) + set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/libopenjp2.a) endif() find_library(SYSTEMSTUBS_LIBRARY - NAMES - SystemStubs - PATHS + NAMES + SystemStubs + PATHS ) mark_as_advanced(SYSTEMSTUBS_LIBRARY) if(SYSTEMSTUBS_LIBRARY) - list(APPEND PLATFORM_LINKLIBS SystemStubs) + list(APPEND PLATFORM_LINKLIBS SystemStubs) endif() set(PLATFORM_CFLAGS "-pipe -funsigned-char") set(PLATFORM_LINKFLAGS - "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio" + "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio" ) list(APPEND PLATFORM_LINKLIBS c++) if(WITH_JACK) - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -F/Library/Frameworks -weak_framework jackmp") + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -F/Library/Frameworks -weak_framework jackmp") endif() if(WITH_PYTHON_MODULE OR WITH_PYTHON_FRAMEWORK) - # force cmake to link right framework - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/Python") + # force cmake to link right framework + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/Python") endif() if(WITH_OPENCOLLADA) - set(OPENCOLLADA ${LIBDIR}/opencollada) + set(OPENCOLLADA ${LIBDIR}/opencollada) - set(OPENCOLLADA_INCLUDE_DIRS - ${LIBDIR}/opencollada/include/COLLADAStreamWriter - ${LIBDIR}/opencollada/include/COLLADABaseUtils - ${LIBDIR}/opencollada/include/COLLADAFramework - ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader - ${LIBDIR}/opencollada/include/GeneratedSaxParser - ) + set(OPENCOLLADA_INCLUDE_DIRS + ${LIBDIR}/opencollada/include/COLLADAStreamWriter + ${LIBDIR}/opencollada/include/COLLADABaseUtils + ${LIBDIR}/opencollada/include/COLLADAFramework + ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader + ${LIBDIR}/opencollada/include/GeneratedSaxParser + ) - set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib) - set(OPENCOLLADA_LIBRARIES - OpenCOLLADASaxFrameworkLoader - -lOpenCOLLADAFramework - -lOpenCOLLADABaseUtils - -lOpenCOLLADAStreamWriter - -lMathMLSolver - -lGeneratedSaxParser - -lbuffer -lftoa -lUTF - ${OPENCOLLADA_LIBPATH}/libxml2.a - ) - # PCRE is bundled with openCollada - #set(PCRE ${LIBDIR}/pcre) - #set(PCRE_LIBPATH ${PCRE}/lib) - set(PCRE_LIBRARIES pcre) - # libxml2 is used - #set(EXPAT ${LIBDIR}/expat) - #set(EXPAT_LIBPATH ${EXPAT}/lib) - set(EXPAT_LIB) + set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib) + set(OPENCOLLADA_LIBRARIES + OpenCOLLADASaxFrameworkLoader + -lOpenCOLLADAFramework + -lOpenCOLLADABaseUtils + -lOpenCOLLADAStreamWriter + -lMathMLSolver + -lGeneratedSaxParser + -lbuffer -lftoa -lUTF + ${OPENCOLLADA_LIBPATH}/libxml2.a + ) + # PCRE is bundled with openCollada + #set(PCRE ${LIBDIR}/pcre) + #set(PCRE_LIBPATH ${PCRE}/lib) + set(PCRE_LIBRARIES pcre) + # libxml2 is used + #set(EXPAT ${LIBDIR}/expat) + #set(EXPAT_LIBPATH ${EXPAT}/lib) + set(EXPAT_LIB) endif() if(WITH_SDL) - set(SDL ${LIBDIR}/sdl) - set(SDL_INCLUDE_DIR ${SDL}/include) - set(SDL_LIBRARY SDL2) - set(SDL_LIBPATH ${SDL}/lib) - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework ForceFeedback") + set(SDL ${LIBDIR}/sdl) + set(SDL_INCLUDE_DIR ${SDL}/include) + set(SDL_LIBRARY SDL2) + set(SDL_LIBPATH ${SDL}/lib) + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework ForceFeedback") endif() set(PNG "${LIBDIR}/png") @@ -244,166 +244,166 @@ set(JPEG_INCLUDE_DIR "${JPEG}/include") set(JPEG_LIBPATH ${JPEG}/lib) if(WITH_IMAGE_TIFF) - set(TIFF ${LIBDIR}/tiff) - set(TIFF_INCLUDE_DIR ${TIFF}/include) - set(TIFF_LIBRARY tiff) - set(TIFF_LIBPATH ${TIFF}/lib) + set(TIFF ${LIBDIR}/tiff) + set(TIFF_INCLUDE_DIR ${TIFF}/include) + set(TIFF_LIBRARY tiff) + set(TIFF_LIBPATH ${TIFF}/lib) endif() if(WITH_BOOST) - set(BOOST ${LIBDIR}/boost) - set(BOOST_INCLUDE_DIR ${BOOST}/include) - set(BOOST_POSTFIX) - set(BOOST_LIBRARIES - boost_date_time${BOOST_POSTFIX} - boost_filesystem${BOOST_POSTFIX} - boost_regex${BOOST_POSTFIX} - boost_system${BOOST_POSTFIX} - boost_thread${BOOST_POSTFIX} - boost_wave${BOOST_POSTFIX} - ) - if(WITH_INTERNATIONAL) - list(APPEND BOOST_LIBRARIES boost_locale${BOOST_POSTFIX}) - endif() - if(WITH_CYCLES_NETWORK) - list(APPEND BOOST_LIBRARIES boost_serialization${BOOST_POSTFIX}) - endif() - if(WITH_OPENVDB) - list(APPEND BOOST_LIBRARIES boost_iostreams${BOOST_POSTFIX}) - endif() - set(BOOST_LIBPATH ${BOOST}/lib) - set(BOOST_DEFINITIONS) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_POSTFIX) + set(BOOST_LIBRARIES + boost_date_time${BOOST_POSTFIX} + boost_filesystem${BOOST_POSTFIX} + boost_regex${BOOST_POSTFIX} + boost_system${BOOST_POSTFIX} + boost_thread${BOOST_POSTFIX} + boost_wave${BOOST_POSTFIX} + ) + if(WITH_INTERNATIONAL) + list(APPEND BOOST_LIBRARIES boost_locale${BOOST_POSTFIX}) + endif() + if(WITH_CYCLES_NETWORK) + list(APPEND BOOST_LIBRARIES boost_serialization${BOOST_POSTFIX}) + endif() + if(WITH_OPENVDB) + list(APPEND BOOST_LIBRARIES boost_iostreams${BOOST_POSTFIX}) + endif() + set(BOOST_LIBPATH ${BOOST}/lib) + set(BOOST_DEFINITIONS) endif() if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG) - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale and ffmpeg needs it ! + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale and ffmpeg needs it ! endif() if(WITH_OPENIMAGEIO) - set(OPENIMAGEIO ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) - set(OPENIMAGEIO_LIBRARIES - ${OPENIMAGEIO}/lib/libOpenImageIO.a - ${PNG_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARY} - ${OPENEXR_LIBRARIES} - ${OPENJPEG_LIBRARIES} - ${ZLIB_LIBRARIES} - ) - set(OPENIMAGEIO_LIBPATH - ${OPENIMAGEIO}/lib - ${JPEG_LIBPATH} - ${PNG_LIBPATH} - ${TIFF_LIBPATH} - ${OPENEXR_LIBPATH} - ${ZLIB_LIBPATH} - ) - set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD") - set(OPENIMAGEIO_IDIFF "${LIBDIR}/openimageio/bin/idiff") + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARIES + ${OPENIMAGEIO}/lib/libOpenImageIO.a + ${PNG_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARY} + ${OPENEXR_LIBRARIES} + ${OPENJPEG_LIBRARIES} + ${ZLIB_LIBRARIES} + ) + set(OPENIMAGEIO_LIBPATH + ${OPENIMAGEIO}/lib + ${JPEG_LIBPATH} + ${PNG_LIBPATH} + ${TIFF_LIBPATH} + ${OPENEXR_LIBPATH} + ${ZLIB_LIBPATH} + ) + set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD") + set(OPENIMAGEIO_IDIFF "${LIBDIR}/openimageio/bin/idiff") endif() if(WITH_OPENCOLORIO) - set(OPENCOLORIO ${LIBDIR}/opencolorio) - set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include) - set(OPENCOLORIO_LIBRARIES OpenColorIO tinyxml yaml-cpp) - set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib) + set(OPENCOLORIO ${LIBDIR}/opencolorio) + set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include) + set(OPENCOLORIO_LIBRARIES OpenColorIO tinyxml yaml-cpp) + set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib) endif() if(WITH_OPENVDB) - set(OPENVDB ${LIBDIR}/openvdb) - set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include) - set(TBB_INCLUDE_DIRS ${LIBDIR}/tbb/include) - set(TBB_LIBRARIES ${LIBDIR}/tbb/lib/libtbb.a) - set(OPENVDB_LIBRARIES openvdb blosc ${TBB_LIBRARIES}) - set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib) - set(OPENVDB_DEFINITIONS) + set(OPENVDB ${LIBDIR}/openvdb) + set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include) + set(TBB_INCLUDE_DIRS ${LIBDIR}/tbb/include) + set(TBB_LIBRARIES ${LIBDIR}/tbb/lib/libtbb.a) + set(OPENVDB_LIBRARIES openvdb blosc ${TBB_LIBRARIES}) + set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib) + set(OPENVDB_DEFINITIONS) endif() if(WITH_LLVM) - set(LLVM_ROOT_DIR ${LIBDIR}/llvm) - set(LLVM_VERSION 3.4) - if(EXISTS "${LLVM_ROOT_DIR}/bin/llvm-config") - set(LLVM_CONFIG "${LLVM_ROOT_DIR}/bin/llvm-config") - else() - set(LLVM_CONFIG llvm-config) - endif() - execute_process(COMMAND ${LLVM_CONFIG} --version - OUTPUT_VARIABLE LLVM_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${LLVM_CONFIG} --prefix - OUTPUT_VARIABLE LLVM_ROOT_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${LLVM_CONFIG} --libdir - OUTPUT_VARIABLE LLVM_LIBPATH - OUTPUT_STRIP_TRAILING_WHITESPACE) - find_library(LLVM_LIBRARY - NAMES LLVMAnalysis # first of a whole bunch of libs to get - PATHS ${LLVM_LIBPATH}) + set(LLVM_ROOT_DIR ${LIBDIR}/llvm) + set(LLVM_VERSION 3.4) + if(EXISTS "${LLVM_ROOT_DIR}/bin/llvm-config") + set(LLVM_CONFIG "${LLVM_ROOT_DIR}/bin/llvm-config") + else() + set(LLVM_CONFIG llvm-config) + endif() + execute_process(COMMAND ${LLVM_CONFIG} --version + OUTPUT_VARIABLE LLVM_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${LLVM_CONFIG} --prefix + OUTPUT_VARIABLE LLVM_ROOT_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${LLVM_CONFIG} --libdir + OUTPUT_VARIABLE LLVM_LIBPATH + OUTPUT_STRIP_TRAILING_WHITESPACE) + find_library(LLVM_LIBRARY + NAMES LLVMAnalysis # first of a whole bunch of libs to get + PATHS ${LLVM_LIBPATH}) - if(LLVM_LIBRARY AND LLVM_ROOT_DIR AND LLVM_LIBPATH) - if(LLVM_STATIC) - # if static LLVM libraries were requested, use llvm-config to generate - # the list of what libraries we need, and substitute that in the right - # way for LLVM_LIBRARY. - execute_process(COMMAND ${LLVM_CONFIG} --libfiles - OUTPUT_VARIABLE LLVM_LIBRARY - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REPLACE ".a /" ".a;/" LLVM_LIBRARY ${LLVM_LIBRARY}) - else() - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lLLVM-3.4") - endif() - else() - message(FATAL_ERROR "LLVM not found.") - endif() + if(LLVM_LIBRARY AND LLVM_ROOT_DIR AND LLVM_LIBPATH) + if(LLVM_STATIC) + # if static LLVM libraries were requested, use llvm-config to generate + # the list of what libraries we need, and substitute that in the right + # way for LLVM_LIBRARY. + execute_process(COMMAND ${LLVM_CONFIG} --libfiles + OUTPUT_VARIABLE LLVM_LIBRARY + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE ".a /" ".a;/" LLVM_LIBRARY ${LLVM_LIBRARY}) + else() + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lLLVM-3.4") + endif() + else() + message(FATAL_ERROR "LLVM not found.") + endif() endif() if(WITH_CYCLES_OSL) - set(CYCLES_OSL ${LIBDIR}/osl) + set(CYCLES_OSL ${LIBDIR}/osl) - find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib) - # WARNING! depends on correct order of OSL libs linking - list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -force_load ${OSL_LIB_EXEC} ${OSL_LIB_QUERY}) - find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include) - find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) + find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib) + # WARNING! depends on correct order of OSL libs linking + list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -force_load ${OSL_LIB_EXEC} ${OSL_LIB_QUERY}) + find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include) + find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) - if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER) - set(OSL_FOUND TRUE) - else() - message(STATUS "OSL not found") - set(WITH_CYCLES_OSL OFF) - endif() + if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER) + set(OSL_FOUND TRUE) + else() + message(STATUS "OSL not found") + set(WITH_CYCLES_OSL OFF) + endif() endif() if(WITH_CYCLES_EMBREE) - find_package(Embree 3.2.4 REQUIRED) - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Xlinker -stack_size -Xlinker 0x100000") + find_package(Embree 3.2.4 REQUIRED) + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Xlinker -stack_size -Xlinker 0x100000") endif() # CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags. if(WITH_OPENMP) - if(CMAKE_C_COMPILER_ID MATCHES "AppleClang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0") - # Use OpenMP from our precompiled libraries. - message(STATUS "Using ${LIBDIR}/openmp for OpenMP") - set(OPENMP_CUSTOM ON) - set(OPENMP_FOUND ON) - set(OpenMP_C_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'") - set(OpenMP_CXX_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L'${LIBDIR}/openmp/lib' -lomp") + if(CMAKE_C_COMPILER_ID MATCHES "AppleClang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0") + # Use OpenMP from our precompiled libraries. + message(STATUS "Using ${LIBDIR}/openmp for OpenMP") + set(OPENMP_CUSTOM ON) + set(OPENMP_FOUND ON) + set(OpenMP_C_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'") + set(OpenMP_CXX_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L'${LIBDIR}/openmp/lib' -lomp") - # Copy libomp.dylib to allow executables like datatoc to work. - if(CMAKE_MAKE_PROGRAM MATCHES "xcodebuild") - set(OPENMP_DYLIB_AUX_PATH "${CMAKE_BINARY_DIR}/bin") - else() - set(OPENMP_DYLIB_AUX_PATH "${CMAKE_BINARY_DIR}") - endif() + # Copy libomp.dylib to allow executables like datatoc to work. + if(CMAKE_MAKE_PROGRAM MATCHES "xcodebuild") + set(OPENMP_DYLIB_AUX_PATH "${CMAKE_BINARY_DIR}/bin") + else() + set(OPENMP_DYLIB_AUX_PATH "${CMAKE_BINARY_DIR}") + endif() - execute_process( - COMMAND mkdir -p ${OPENMP_DYLIB_AUX_PATH}/Resources/lib - COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${OPENMP_DYLIB_AUX_PATH}/Resources/lib/libomp.dylib) - endif() + execute_process( + COMMAND mkdir -p ${OPENMP_DYLIB_AUX_PATH}/Resources/lib + COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${OPENMP_DYLIB_AUX_PATH}/Resources/lib/libomp.dylib) + endif() endif() set(EXETYPE MACOSX_BUNDLE) @@ -411,24 +411,24 @@ set(EXETYPE MACOSX_BUNDLE) set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g") set(CMAKE_CXX_FLAGS_DEBUG "-fno-strict-aliasing -g") if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR CMAKE_OSX_ARCHITECTURES MATCHES "i386") - set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic -msse -msse2 -msse3 -mssse3") - set(CMAKE_C_FLAGS_RELEASE "-O2 -mdynamic-no-pic -msse -msse2 -msse3 -mssse3") - if(NOT CMAKE_C_COMPILER_ID MATCHES "Clang") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ftree-vectorize -fvariable-expansion-in-unroller") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ftree-vectorize -fvariable-expansion-in-unroller") - endif() + set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic -msse -msse2 -msse3 -mssse3") + set(CMAKE_C_FLAGS_RELEASE "-O2 -mdynamic-no-pic -msse -msse2 -msse3 -mssse3") + if(NOT CMAKE_C_COMPILER_ID MATCHES "Clang") + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ftree-vectorize -fvariable-expansion-in-unroller") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ftree-vectorize -fvariable-expansion-in-unroller") + endif() else() - set(CMAKE_C_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing") - set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing") + set(CMAKE_C_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing") endif() if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5) - # Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024") + # Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024") endif() # Get rid of eventually clashes, we export some symbols explicitly as local set(PLATFORM_LINKFLAGS - "${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker '${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map'" + "${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker '${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map'" ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") diff --git a/build_files/cmake/platform/platform_apple_xcode.cmake b/build_files/cmake/platform/platform_apple_xcode.cmake index 27d337753d8..81bd6f906de 100644 --- a/build_files/cmake/platform/platform_apple_xcode.cmake +++ b/build_files/cmake/platform/platform_apple_xcode.cmake @@ -25,92 +25,92 @@ cmake_minimum_required(VERSION 3.0.0) if(NOT CMAKE_OSX_ARCHITECTURES) - set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING - "Choose the architecture you want to build Blender for: i386, x86_64 or ppc" - FORCE) + set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING + "Choose the architecture you want to build Blender for: i386, x86_64 or ppc" + FORCE) endif() if(NOT DEFINED OSX_SYSTEM) - execute_process( - COMMAND xcodebuild -version -sdk macosx SDKVersion - OUTPUT_VARIABLE OSX_SYSTEM - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process( + COMMAND xcodebuild -version -sdk macosx SDKVersion + OUTPUT_VARIABLE OSX_SYSTEM + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() # workaround for incorrect cmake xcode lookup for developer previews - XCODE_VERSION does not # take xcode-select path into account but would always look into /Applications/Xcode.app # while dev versions are named Xcode-DP execute_process( - COMMAND xcode-select --print-path - OUTPUT_VARIABLE XCODE_CHECK OUTPUT_STRIP_TRAILING_WHITESPACE) + COMMAND xcode-select --print-path + OUTPUT_VARIABLE XCODE_CHECK OUTPUT_STRIP_TRAILING_WHITESPACE) string(REPLACE "/Contents/Developer" "" XCODE_BUNDLE ${XCODE_CHECK}) # truncate to bundlepath in any case if(${CMAKE_GENERATOR} MATCHES "Xcode") - # earlier xcode has no bundled developer dir, no sense in getting xcode path from - if(${XCODE_VERSION} VERSION_GREATER 4.2) - # reduce to XCode name without dp extension - string(SUBSTRING "${XCODE_CHECK}" 14 6 DP_NAME) - if(${DP_NAME} MATCHES Xcode5) - set(XCODE_VERSION 5) - endif() - endif() + # earlier xcode has no bundled developer dir, no sense in getting xcode path from + if(${XCODE_VERSION} VERSION_GREATER 4.2) + # reduce to XCode name without dp extension + string(SUBSTRING "${XCODE_CHECK}" 14 6 DP_NAME) + if(${DP_NAME} MATCHES Xcode5) + set(XCODE_VERSION 5) + endif() + endif() - ##### cmake incompatibility with xcode 4.3 and higher ##### - if(${XCODE_VERSION} MATCHES '') # cmake fails due looking for xcode in the wrong path, thus will be empty var - message(FATAL_ERROR "Xcode 4.3 and higher must be used with cmake 2.8-8 or higher") - endif() - ### end cmake incompatibility with xcode 4.3 and higher ### + ##### cmake incompatibility with xcode 4.3 and higher ##### + if(${XCODE_VERSION} MATCHES '') # cmake fails due looking for xcode in the wrong path, thus will be empty var + message(FATAL_ERROR "Xcode 4.3 and higher must be used with cmake 2.8-8 or higher") + endif() + ### end cmake incompatibility with xcode 4.3 and higher ### - if(${XCODE_VERSION} VERSION_EQUAL 4 OR ${XCODE_VERSION} VERSION_GREATER 4 AND ${XCODE_VERSION} VERSION_LESS 4.3) - # Xcode 4 defaults to the Apple LLVM Compiler. - # Override the default compiler selection because Blender only compiles with gcc up to xcode 4.2 - set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") - message(STATUS "Setting compiler to: " ${CMAKE_XCODE_ATTRIBUTE_GCC_VERSION}) - endif() + if(${XCODE_VERSION} VERSION_EQUAL 4 OR ${XCODE_VERSION} VERSION_GREATER 4 AND ${XCODE_VERSION} VERSION_LESS 4.3) + # Xcode 4 defaults to the Apple LLVM Compiler. + # Override the default compiler selection because Blender only compiles with gcc up to xcode 4.2 + set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42") + message(STATUS "Setting compiler to: " ${CMAKE_XCODE_ATTRIBUTE_GCC_VERSION}) + endif() else() # unix makefile generator does not fill XCODE_VERSION var, so we get it with a command - execute_process(COMMAND xcodebuild -version OUTPUT_VARIABLE XCODE_VERS_BUILD_NR) - string(SUBSTRING "${XCODE_VERS_BUILD_NR}" 6 3 XCODE_VERSION) # truncate away build-nr - unset(XCODE_VERS_BUILD_NR) + execute_process(COMMAND xcodebuild -version OUTPUT_VARIABLE XCODE_VERS_BUILD_NR) + string(SUBSTRING "${XCODE_VERS_BUILD_NR}" 6 3 XCODE_VERSION) # truncate away build-nr + unset(XCODE_VERS_BUILD_NR) endif() message(STATUS "Detected OS X ${OSX_SYSTEM} and Xcode ${XCODE_VERSION} at ${XCODE_BUNDLE}") if(${XCODE_VERSION} VERSION_LESS 4.3) - # use guaranteed existing sdk - set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk CACHE PATH "" FORCE) + # use guaranteed existing sdk + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk CACHE PATH "" FORCE) else() - # note: xcode-select path could be ambiguous, - # cause /Applications/Xcode.app/Contents/Developer or /Applications/Xcode.app would be allowed - # so i use a selfcomposed bundlepath here - set(OSX_SYSROOT_PREFIX ${XCODE_BUNDLE}/Contents/Developer/Platforms/MacOSX.platform) - message(STATUS "OSX_SYSROOT_PREFIX: " ${OSX_SYSROOT_PREFIX}) - set(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk - set(CMAKE_OSX_SYSROOT ${OSX_SYSROOT_PREFIX}/${OSX_DEVELOPER_PREFIX} CACHE PATH "" FORCE) - if(${CMAKE_GENERATOR} MATCHES "Xcode") - # to silence sdk not found warning, just overrides CMAKE_OSX_SYSROOT - set(CMAKE_XCODE_ATTRIBUTE_SDKROOT macosx${OSX_SYSTEM}) - endif() + # note: xcode-select path could be ambiguous, + # cause /Applications/Xcode.app/Contents/Developer or /Applications/Xcode.app would be allowed + # so i use a selfcomposed bundlepath here + set(OSX_SYSROOT_PREFIX ${XCODE_BUNDLE}/Contents/Developer/Platforms/MacOSX.platform) + message(STATUS "OSX_SYSROOT_PREFIX: " ${OSX_SYSROOT_PREFIX}) + set(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk + set(CMAKE_OSX_SYSROOT ${OSX_SYSROOT_PREFIX}/${OSX_DEVELOPER_PREFIX} CACHE PATH "" FORCE) + if(${CMAKE_GENERATOR} MATCHES "Xcode") + # to silence sdk not found warning, just overrides CMAKE_OSX_SYSROOT + set(CMAKE_XCODE_ATTRIBUTE_SDKROOT macosx${OSX_SYSTEM}) + endif() endif() if(OSX_SYSTEM MATCHES 10.9) - # make sure syslibs and headers are looked up in sdk ( especially for 10.9 openGL atm. ) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT}) + # make sure syslibs and headers are looked up in sdk ( especially for 10.9 openGL atm. ) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT}) endif() # 10.9 is our min. target, if you use higher sdk, weak linking happens if(CMAKE_OSX_DEPLOYMENT_TARGET) - if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.9) - message(STATUS "Setting deployment target to 10.9, lower versions are not supported") - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) - endif() + if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.9) + message(STATUS "Setting deployment target to 10.9, lower versions are not supported") + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) + endif() else() - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) endif() if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode") - # force CMAKE_OSX_DEPLOYMENT_TARGET for makefiles, will not work else ( cmake bug ? ) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") - add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") + # force CMAKE_OSX_DEPLOYMENT_TARGET for makefiles, will not work else ( cmake bug ? ) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") + add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") endif() diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 0d486c84fe6..0f5b45d722b 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -22,34 +22,34 @@ # Detect precompiled library directory if(NOT DEFINED LIBDIR) - set(LIBDIR_NAME ${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}) - string(TOLOWER ${LIBDIR_NAME} LIBDIR_NAME) - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_NAME}) + set(LIBDIR_NAME ${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}) + string(TOLOWER ${LIBDIR_NAME} LIBDIR_NAME) + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_NAME}) else() - message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") + message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") endif() if(EXISTS ${LIBDIR}) - file(GLOB LIB_SUBDIRS ${LIBDIR}/*) - # NOTE: Make sure "proper" compiled zlib comes first before the one - # which is a part of OpenCollada. They have different ABI, and we - # do need to use the official one. - set(CMAKE_PREFIX_PATH ${LIBDIR}/zlib ${LIB_SUBDIRS}) - set(WITH_STATIC_LIBS ON) - set(WITH_OPENMP_STATIC ON) + file(GLOB LIB_SUBDIRS ${LIBDIR}/*) + # NOTE: Make sure "proper" compiled zlib comes first before the one + # which is a part of OpenCollada. They have different ABI, and we + # do need to use the official one. + set(CMAKE_PREFIX_PATH ${LIBDIR}/zlib ${LIB_SUBDIRS}) + set(WITH_STATIC_LIBS ON) + set(WITH_OPENMP_STATIC ON) endif() if(WITH_STATIC_LIBS) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++") endif() # Wrapper to prefer static libraries macro(find_package_wrapper) - if(WITH_STATIC_LIBS) - find_package_static(${ARGV}) - else() - find_package(${ARGV}) - endif() + if(WITH_STATIC_LIBS) + find_package_static(${ARGV}) + else() + find_package(${ARGV}) + endif() endmacro() find_package_wrapper(JPEG REQUIRED) @@ -58,360 +58,360 @@ find_package_wrapper(ZLIB REQUIRED) find_package_wrapper(Freetype REQUIRED) if(WITH_LZO AND WITH_SYSTEM_LZO) - find_package_wrapper(LZO) - if(NOT LZO_FOUND) - message(FATAL_ERROR "Failed finding system LZO version!") - endif() + find_package_wrapper(LZO) + if(NOT LZO_FOUND) + message(FATAL_ERROR "Failed finding system LZO version!") + endif() endif() if(WITH_SYSTEM_EIGEN3) - find_package_wrapper(Eigen3) - if(NOT EIGEN3_FOUND) - message(FATAL_ERROR "Failed finding system Eigen3 version!") - endif() + find_package_wrapper(Eigen3) + if(NOT EIGEN3_FOUND) + message(FATAL_ERROR "Failed finding system Eigen3 version!") + endif() endif() # else values are set below for all platforms if(WITH_PYTHON) - # No way to set py35, remove for now. - # find_package(PythonLibs) + # No way to set py35, remove for now. + # find_package(PythonLibs) - # Use our own instead, since without py is such a rare case, - # require this package - # XXX Linking errors with debian static python :/ -# find_package_wrapper(PythonLibsUnix REQUIRED) - find_package(PythonLibsUnix REQUIRED) + # Use our own instead, since without py is such a rare case, + # require this package + # XXX Linking errors with debian static python :/ +# find_package_wrapper(PythonLibsUnix REQUIRED) + find_package(PythonLibsUnix REQUIRED) endif() if(WITH_IMAGE_OPENEXR) - find_package_wrapper(OpenEXR) # our own module - if(NOT OPENEXR_FOUND) - set(WITH_IMAGE_OPENEXR OFF) - endif() + find_package_wrapper(OpenEXR) # our own module + if(NOT OPENEXR_FOUND) + set(WITH_IMAGE_OPENEXR OFF) + endif() endif() if(WITH_IMAGE_OPENJPEG) - find_package_wrapper(OpenJPEG) - if(NOT OPENJPEG_FOUND) - set(WITH_IMAGE_OPENJPEG OFF) - endif() + find_package_wrapper(OpenJPEG) + if(NOT OPENJPEG_FOUND) + set(WITH_IMAGE_OPENJPEG OFF) + endif() endif() if(WITH_IMAGE_TIFF) - # XXX Linking errors with debian static tiff :/ -# find_package_wrapper(TIFF) - find_package(TIFF) - if(NOT TIFF_FOUND) - set(WITH_IMAGE_TIFF OFF) - endif() + # XXX Linking errors with debian static tiff :/ +# find_package_wrapper(TIFF) + find_package(TIFF) + if(NOT TIFF_FOUND) + set(WITH_IMAGE_TIFF OFF) + endif() endif() # Audio IO if(WITH_SYSTEM_AUDASPACE) - find_package_wrapper(Audaspace) - if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND) - message(FATAL_ERROR "Audaspace external library not found!") - endif() + find_package_wrapper(Audaspace) + if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND) + message(FATAL_ERROR "Audaspace external library not found!") + endif() endif() if(WITH_OPENAL) - find_package_wrapper(OpenAL) - if(NOT OPENAL_FOUND) - set(WITH_OPENAL OFF) - endif() + find_package_wrapper(OpenAL) + if(NOT OPENAL_FOUND) + set(WITH_OPENAL OFF) + endif() endif() if(WITH_SDL) - if(WITH_SDL_DYNLOAD) - set(SDL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extern/sdlew/include/SDL2") - set(SDL_LIBRARY) - else() - find_package_wrapper(SDL2) - if(SDL2_FOUND) - # Use same names for both versions of SDL until we move to 2.x. - set(SDL_INCLUDE_DIR "${SDL2_INCLUDE_DIR}") - set(SDL_LIBRARY "${SDL2_LIBRARY}") - set(SDL_FOUND "${SDL2_FOUND}") - else() - find_package_wrapper(SDL) - endif() - mark_as_advanced( - SDL_INCLUDE_DIR - SDL_LIBRARY - ) - # unset(SDLMAIN_LIBRARY CACHE) - if(NOT SDL_FOUND) - set(WITH_SDL OFF) - endif() - endif() + if(WITH_SDL_DYNLOAD) + set(SDL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extern/sdlew/include/SDL2") + set(SDL_LIBRARY) + else() + find_package_wrapper(SDL2) + if(SDL2_FOUND) + # Use same names for both versions of SDL until we move to 2.x. + set(SDL_INCLUDE_DIR "${SDL2_INCLUDE_DIR}") + set(SDL_LIBRARY "${SDL2_LIBRARY}") + set(SDL_FOUND "${SDL2_FOUND}") + else() + find_package_wrapper(SDL) + endif() + mark_as_advanced( + SDL_INCLUDE_DIR + SDL_LIBRARY + ) + # unset(SDLMAIN_LIBRARY CACHE) + if(NOT SDL_FOUND) + set(WITH_SDL OFF) + endif() + endif() endif() if(WITH_JACK) - find_package_wrapper(Jack) - if(NOT JACK_FOUND) - set(WITH_JACK OFF) - endif() + find_package_wrapper(Jack) + if(NOT JACK_FOUND) + set(WITH_JACK OFF) + endif() endif() # Codecs if(WITH_CODEC_SNDFILE) - find_package_wrapper(SndFile) - if(NOT LIBSNDFILE_FOUND) - set(WITH_CODEC_SNDFILE OFF) - endif() + find_package_wrapper(SndFile) + if(NOT LIBSNDFILE_FOUND) + set(WITH_CODEC_SNDFILE OFF) + endif() endif() if(WITH_CODEC_FFMPEG) - if(EXISTS ${LIBDIR}) - # For precompiled lib directory, all ffmpeg dependencies are in the same folder - file(GLOB ffmpeg_libs ${LIBDIR}/ffmpeg/lib/*.a ${LIBDIR}/sndfile/lib/*.a) - set(FFMPEG ${LIBDIR}/ffmpeg CACHE PATH "FFMPEG Directory") - set(FFMPEG_LIBRARIES ${ffmpeg_libs} ${ffmpeg_libs} CACHE STRING "FFMPEG Libraries") - else() - set(FFMPEG /usr CACHE PATH "FFMPEG Directory") - set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries") - endif() + if(EXISTS ${LIBDIR}) + # For precompiled lib directory, all ffmpeg dependencies are in the same folder + file(GLOB ffmpeg_libs ${LIBDIR}/ffmpeg/lib/*.a ${LIBDIR}/sndfile/lib/*.a) + set(FFMPEG ${LIBDIR}/ffmpeg CACHE PATH "FFMPEG Directory") + set(FFMPEG_LIBRARIES ${ffmpeg_libs} ${ffmpeg_libs} CACHE STRING "FFMPEG Libraries") + else() + set(FFMPEG /usr CACHE PATH "FFMPEG Directory") + set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries") + endif() - mark_as_advanced(FFMPEG) + mark_as_advanced(FFMPEG) - # lame, but until we have proper find module for ffmpeg - set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include) - if(EXISTS "${FFMPEG}/include/ffmpeg/") - list(APPEND FFMPEG_INCLUDE_DIRS "${FFMPEG}/include/ffmpeg") - endif() - # end lameness + # lame, but until we have proper find module for ffmpeg + set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include) + if(EXISTS "${FFMPEG}/include/ffmpeg/") + list(APPEND FFMPEG_INCLUDE_DIRS "${FFMPEG}/include/ffmpeg") + endif() + # end lameness - mark_as_advanced(FFMPEG_LIBRARIES) - set(FFMPEG_LIBPATH ${FFMPEG}/lib) + mark_as_advanced(FFMPEG_LIBRARIES) + set(FFMPEG_LIBPATH ${FFMPEG}/lib) endif() if(WITH_FFTW3) - find_package_wrapper(Fftw3) - if(NOT FFTW3_FOUND) - set(WITH_FFTW3 OFF) - endif() + find_package_wrapper(Fftw3) + if(NOT FFTW3_FOUND) + set(WITH_FFTW3 OFF) + endif() endif() if(WITH_OPENCOLLADA) - find_package_wrapper(OpenCOLLADA) - if(OPENCOLLADA_FOUND) - find_package_wrapper(XML2) - find_package_wrapper(PCRE) - else() - set(WITH_OPENCOLLADA OFF) - endif() + find_package_wrapper(OpenCOLLADA) + if(OPENCOLLADA_FOUND) + find_package_wrapper(XML2) + find_package_wrapper(PCRE) + else() + set(WITH_OPENCOLLADA OFF) + endif() endif() if(WITH_MEM_JEMALLOC) - find_package_wrapper(JeMalloc) - if(NOT JEMALLOC_FOUND) - set(WITH_MEM_JEMALLOC OFF) - endif() + find_package_wrapper(JeMalloc) + if(NOT JEMALLOC_FOUND) + set(WITH_MEM_JEMALLOC OFF) + endif() endif() if(WITH_INPUT_NDOF) - find_package_wrapper(Spacenav) - if(SPACENAV_FOUND) - # use generic names within blenders buildsystem. - set(NDOF_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIRS}) - set(NDOF_LIBRARIES ${SPACENAV_LIBRARIES}) - else() - set(WITH_INPUT_NDOF OFF) - endif() + find_package_wrapper(Spacenav) + if(SPACENAV_FOUND) + # use generic names within blenders buildsystem. + set(NDOF_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIRS}) + set(NDOF_LIBRARIES ${SPACENAV_LIBRARIES}) + else() + set(WITH_INPUT_NDOF OFF) + endif() endif() if(WITH_CYCLES_OSL) - set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation") - if(NOT OSL_ROOT) - set(OSL_ROOT ${CYCLES_OSL}) - endif() - find_package_wrapper(OpenShadingLanguage) - if(OSL_FOUND) - if(${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6") - # Note: --whole-archive is needed to force loading of all symbols in liboslexec, - # otherwise LLVM is missing the osl_allocate_closure_component function - set(OSL_LIBRARIES - ${OSL_OSLCOMP_LIBRARY} - -Wl,--whole-archive ${OSL_OSLEXEC_LIBRARY} - -Wl,--no-whole-archive ${OSL_OSLQUERY_LIBRARY} - ) - endif() - else() - message(STATUS "OSL not found, disabling it from Cycles") - set(WITH_CYCLES_OSL OFF) - endif() + set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation") + if(NOT OSL_ROOT) + set(OSL_ROOT ${CYCLES_OSL}) + endif() + find_package_wrapper(OpenShadingLanguage) + if(OSL_FOUND) + if(${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6") + # Note: --whole-archive is needed to force loading of all symbols in liboslexec, + # otherwise LLVM is missing the osl_allocate_closure_component function + set(OSL_LIBRARIES + ${OSL_OSLCOMP_LIBRARY} + -Wl,--whole-archive ${OSL_OSLEXEC_LIBRARY} + -Wl,--no-whole-archive ${OSL_OSLQUERY_LIBRARY} + ) + endif() + else() + message(STATUS "OSL not found, disabling it from Cycles") + set(WITH_CYCLES_OSL OFF) + endif() endif() if(WITH_OPENVDB) - find_package_wrapper(OpenVDB) - find_package_wrapper(TBB) - find_package_wrapper(Blosc) - if(NOT TBB_FOUND) - set(WITH_OPENVDB OFF) - set(WITH_OPENVDB_BLOSC OFF) - message(STATUS "TBB not found, disabling OpenVDB") - elseif(NOT OPENVDB_FOUND) - set(WITH_OPENVDB OFF) - set(WITH_OPENVDB_BLOSC OFF) - message(STATUS "OpenVDB not found, disabling it") - elseif(NOT BLOSC_FOUND) - set(WITH_OPENVDB_BLOSC OFF) - message(STATUS "Blosc not found, disabling it for OpenVBD") - endif() + find_package_wrapper(OpenVDB) + find_package_wrapper(TBB) + find_package_wrapper(Blosc) + if(NOT TBB_FOUND) + set(WITH_OPENVDB OFF) + set(WITH_OPENVDB_BLOSC OFF) + message(STATUS "TBB not found, disabling OpenVDB") + elseif(NOT OPENVDB_FOUND) + set(WITH_OPENVDB OFF) + set(WITH_OPENVDB_BLOSC OFF) + message(STATUS "OpenVDB not found, disabling it") + elseif(NOT BLOSC_FOUND) + set(WITH_OPENVDB_BLOSC OFF) + message(STATUS "Blosc not found, disabling it for OpenVBD") + endif() endif() if(WITH_ALEMBIC) - find_package_wrapper(Alembic) + find_package_wrapper(Alembic) - if(WITH_ALEMBIC_HDF5) - set(HDF5_ROOT_DIR ${LIBDIR}/hdf5) - find_package_wrapper(HDF5) - endif() + if(WITH_ALEMBIC_HDF5) + set(HDF5_ROOT_DIR ${LIBDIR}/hdf5) + find_package_wrapper(HDF5) + endif() - if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND)) - set(WITH_ALEMBIC OFF) - set(WITH_ALEMBIC_HDF5 OFF) - endif() + if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND)) + set(WITH_ALEMBIC OFF) + set(WITH_ALEMBIC_HDF5 OFF) + endif() endif() if(WITH_BOOST) - # uses in build instructions to override include and library variables - if(NOT BOOST_CUSTOM) - if(WITH_STATIC_LIBS) - set(Boost_USE_STATIC_LIBS ON) - endif() - set(Boost_USE_MULTITHREADED ON) - set(__boost_packages filesystem regex thread date_time) - if(WITH_CYCLES_OSL) - if(NOT (${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6")) - list(APPEND __boost_packages wave) - else() - endif() - endif() - if(WITH_INTERNATIONAL) - list(APPEND __boost_packages locale) - endif() - if(WITH_CYCLES_NETWORK) - list(APPEND __boost_packages serialization) - endif() - if(WITH_OPENVDB) - list(APPEND __boost_packages iostreams) - endif() - list(APPEND __boost_packages system) - find_package(Boost 1.48 COMPONENTS ${__boost_packages}) - if(NOT Boost_FOUND) - # try to find non-multithreaded if -mt not found, this flag - # doesn't matter for us, it has nothing to do with thread - # safety, but keep it to not disturb build setups - set(Boost_USE_MULTITHREADED OFF) - find_package(Boost 1.48 COMPONENTS ${__boost_packages}) - endif() - unset(__boost_packages) - if(Boost_USE_STATIC_LIBS AND WITH_BOOST_ICU) - find_package(IcuLinux) - endif() - mark_as_advanced(Boost_DIR) # why doesn't boost do this? - endif() + # uses in build instructions to override include and library variables + if(NOT BOOST_CUSTOM) + if(WITH_STATIC_LIBS) + set(Boost_USE_STATIC_LIBS ON) + endif() + set(Boost_USE_MULTITHREADED ON) + set(__boost_packages filesystem regex thread date_time) + if(WITH_CYCLES_OSL) + if(NOT (${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6")) + list(APPEND __boost_packages wave) + else() + endif() + endif() + if(WITH_INTERNATIONAL) + list(APPEND __boost_packages locale) + endif() + if(WITH_CYCLES_NETWORK) + list(APPEND __boost_packages serialization) + endif() + if(WITH_OPENVDB) + list(APPEND __boost_packages iostreams) + endif() + list(APPEND __boost_packages system) + find_package(Boost 1.48 COMPONENTS ${__boost_packages}) + if(NOT Boost_FOUND) + # try to find non-multithreaded if -mt not found, this flag + # doesn't matter for us, it has nothing to do with thread + # safety, but keep it to not disturb build setups + set(Boost_USE_MULTITHREADED OFF) + find_package(Boost 1.48 COMPONENTS ${__boost_packages}) + endif() + unset(__boost_packages) + if(Boost_USE_STATIC_LIBS AND WITH_BOOST_ICU) + find_package(IcuLinux) + endif() + mark_as_advanced(Boost_DIR) # why doesn't boost do this? + endif() - set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) - set(BOOST_LIBRARIES ${Boost_LIBRARIES}) - set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS}) - set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) + set(BOOST_LIBRARIES ${Boost_LIBRARIES}) + set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS}) + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") endif() if(WITH_OPENIMAGEIO) - find_package_wrapper(OpenImageIO) - if(NOT OPENIMAGEIO_PUGIXML_FOUND AND WITH_CYCLES_STANDALONE) - find_package_wrapper(PugiXML) - else() - set(PUGIXML_INCLUDE_DIR "${OPENIMAGEIO_INCLUDE_DIR/OpenImageIO}") - set(PUGIXML_LIBRARIES "") - endif() + find_package_wrapper(OpenImageIO) + if(NOT OPENIMAGEIO_PUGIXML_FOUND AND WITH_CYCLES_STANDALONE) + find_package_wrapper(PugiXML) + else() + set(PUGIXML_INCLUDE_DIR "${OPENIMAGEIO_INCLUDE_DIR/OpenImageIO}") + set(PUGIXML_LIBRARIES "") + endif() - set(OPENIMAGEIO_LIBRARIES - ${OPENIMAGEIO_LIBRARIES} - ${PNG_LIBRARIES} - ${JPEG_LIBRARIES} - ${ZLIB_LIBRARIES} - ${BOOST_LIBRARIES} - ) - set(OPENIMAGEIO_LIBPATH) # TODO, remove and reference the absolute path everywhere - set(OPENIMAGEIO_DEFINITIONS "") + set(OPENIMAGEIO_LIBRARIES + ${OPENIMAGEIO_LIBRARIES} + ${PNG_LIBRARIES} + ${JPEG_LIBRARIES} + ${ZLIB_LIBRARIES} + ${BOOST_LIBRARIES} + ) + set(OPENIMAGEIO_LIBPATH) # TODO, remove and reference the absolute path everywhere + set(OPENIMAGEIO_DEFINITIONS "") - if(WITH_IMAGE_TIFF) - list(APPEND OPENIMAGEIO_LIBRARIES "${TIFF_LIBRARY}") - endif() - if(WITH_IMAGE_OPENEXR) - list(APPEND OPENIMAGEIO_LIBRARIES "${OPENEXR_LIBRARIES}") - endif() + if(WITH_IMAGE_TIFF) + list(APPEND OPENIMAGEIO_LIBRARIES "${TIFF_LIBRARY}") + endif() + if(WITH_IMAGE_OPENEXR) + list(APPEND OPENIMAGEIO_LIBRARIES "${OPENEXR_LIBRARIES}") + endif() - if(NOT OPENIMAGEIO_FOUND) - set(WITH_OPENIMAGEIO OFF) - message(STATUS "OpenImageIO not found, disabling WITH_CYCLES") - endif() + if(NOT OPENIMAGEIO_FOUND) + set(WITH_OPENIMAGEIO OFF) + message(STATUS "OpenImageIO not found, disabling WITH_CYCLES") + endif() endif() if(WITH_OPENCOLORIO) - find_package_wrapper(OpenColorIO) + find_package_wrapper(OpenColorIO) - set(OPENCOLORIO_LIBRARIES ${OPENCOLORIO_LIBRARIES}) - set(OPENCOLORIO_LIBPATH) # TODO, remove and reference the absolute path everywhere - set(OPENCOLORIO_DEFINITIONS) + set(OPENCOLORIO_LIBRARIES ${OPENCOLORIO_LIBRARIES}) + set(OPENCOLORIO_LIBPATH) # TODO, remove and reference the absolute path everywhere + set(OPENCOLORIO_DEFINITIONS) - if(NOT OPENCOLORIO_FOUND) - set(WITH_OPENCOLORIO OFF) - message(STATUS "OpenColorIO not found") - endif() + if(NOT OPENCOLORIO_FOUND) + set(WITH_OPENCOLORIO OFF) + message(STATUS "OpenColorIO not found") + endif() endif() if(WITH_CYCLES_EMBREE) - find_package(Embree 3.2.4 REQUIRED) + find_package(Embree 3.2.4 REQUIRED) endif() if(WITH_LLVM) - if(EXISTS ${LIBDIR}) - set(LLVM_STATIC ON) - endif() + if(EXISTS ${LIBDIR}) + set(LLVM_STATIC ON) + endif() - find_package_wrapper(LLVM) + find_package_wrapper(LLVM) - # Symbol conflicts with same UTF library used by OpenCollada - if(EXISTS ${LIBDIR}) - if(WITH_OPENCOLLADA AND (${LLVM_VERSION} VERSION_LESS "4.0.0")) - list(REMOVE_ITEM OPENCOLLADA_LIBRARIES ${OPENCOLLADA_UTF_LIBRARY}) - endif() - endif() + # Symbol conflicts with same UTF library used by OpenCollada + if(EXISTS ${LIBDIR}) + if(WITH_OPENCOLLADA AND (${LLVM_VERSION} VERSION_LESS "4.0.0")) + list(REMOVE_ITEM OPENCOLLADA_LIBRARIES ${OPENCOLLADA_UTF_LIBRARY}) + endif() + endif() - if(NOT LLVM_FOUND) - set(WITH_LLVM OFF) - message(STATUS "LLVM not found") - endif() + if(NOT LLVM_FOUND) + set(WITH_LLVM OFF) + message(STATUS "LLVM not found") + endif() endif() if(WITH_LLVM OR WITH_SDL_DYNLOAD) - # Fix for conflict with Mesa llvmpipe - set(PLATFORM_LINKFLAGS - "${PLATFORM_LINKFLAGS} -Wl,--version-script='${CMAKE_SOURCE_DIR}/source/creator/blender.map'" - ) + # Fix for conflict with Mesa llvmpipe + set(PLATFORM_LINKFLAGS + "${PLATFORM_LINKFLAGS} -Wl,--version-script='${CMAKE_SOURCE_DIR}/source/creator/blender.map'" + ) endif() if(WITH_OPENSUBDIV) - find_package_wrapper(OpenSubdiv) + find_package_wrapper(OpenSubdiv) - set(OPENSUBDIV_LIBRARIES ${OPENSUBDIV_LIBRARIES}) - set(OPENSUBDIV_LIBPATH) # TODO, remove and reference the absolute path everywhere + set(OPENSUBDIV_LIBRARIES ${OPENSUBDIV_LIBRARIES}) + set(OPENSUBDIV_LIBPATH) # TODO, remove and reference the absolute path everywhere - if(NOT OPENSUBDIV_FOUND) - set(WITH_OPENSUBDIV OFF) - message(STATUS "OpenSubdiv not found") - endif() + if(NOT OPENSUBDIV_FOUND) + set(WITH_OPENSUBDIV OFF) + message(STATUS "OpenSubdiv not found") + endif() endif() # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed if(HAIKU) - list(APPEND PLATFORM_LINKLIBS -lnetwork) + list(APPEND PLATFORM_LINKLIBS -lnetwork) else() - list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm) + list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm) endif() find_package(Threads REQUIRED) @@ -420,15 +420,15 @@ list(APPEND PLATFORM_LINKLIBS ${CMAKE_THREAD_LIBS_INIT}) set(PTHREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) if(CMAKE_DL_LIBS) - list(APPEND PLATFORM_LINKLIBS ${CMAKE_DL_LIBS}) + list(APPEND PLATFORM_LINKLIBS ${CMAKE_DL_LIBS}) endif() if(CMAKE_SYSTEM_NAME MATCHES "Linux") - if(NOT WITH_PYTHON_MODULE) - # binreloc is linux only - set(BINRELOC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/binreloc/include) - set(WITH_BINRELOC ON) - endif() + if(NOT WITH_PYTHON_MODULE) + # binreloc is linux only + set(BINRELOC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/binreloc/include) + set(WITH_BINRELOC ON) + endif() endif() # lfs on glibc, all compilers should use @@ -436,43 +436,43 @@ add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE # GNU Compiler if(CMAKE_COMPILER_IS_GNUCC) - set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") + set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") - if(WITH_LINKER_GOLD) - execute_process( - COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version - ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) - if("${LD_VERSION}" MATCHES "GNU gold") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold") - else() - message(STATUS "GNU gold linker isn't available, using the default system linker.") - endif() - unset(LD_VERSION) - endif() + if(WITH_LINKER_GOLD) + execute_process( + COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version + ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) + if("${LD_VERSION}" MATCHES "GNU gold") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=gold") + else() + message(STATUS "GNU gold linker isn't available, using the default system linker.") + endif() + unset(LD_VERSION) + endif() # CLang is the same as GCC for now. elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") - set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") + set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") # Intel C++ Compiler elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") - # think these next two are broken - find_program(XIAR xiar) - if(XIAR) - set(CMAKE_AR "${XIAR}") - endif() - mark_as_advanced(XIAR) + # think these next two are broken + find_program(XIAR xiar) + if(XIAR) + set(CMAKE_AR "${XIAR}") + endif() + mark_as_advanced(XIAR) - find_program(XILD xild) - if(XILD) - set(CMAKE_LINKER "${XILD}") - endif() - mark_as_advanced(XILD) + find_program(XILD xild) + if(XILD) + set(CMAKE_LINKER "${XILD}") + endif() + mark_as_advanced(XILD) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fp-model precise -prec_div -parallel") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fp-model precise -prec_div -parallel") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fp-model precise -prec_div -parallel") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fp-model precise -prec_div -parallel") - # set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -diag-enable sc3") - set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -static-intel") + # set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -diag-enable sc3") + set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -static-intel") endif() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 827357df043..7b516d87f38 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -23,44 +23,44 @@ add_definitions(-DWIN32) if(NOT MSVC) - message(FATAL_ERROR "Compiler is unsupported") + message(FATAL_ERROR "Compiler is unsupported") endif() if(CMAKE_C_COMPILER_ID MATCHES "Clang") - set(MSVC_CLANG On) - set(VC_TOOLS_DIR $ENV{VCToolsRedistDir} CACHE STRING "Location of the msvc redistributables") - set(MSVC_REDIST_DIR ${VC_TOOLS_DIR}) - if (DEFINED MSVC_REDIST_DIR) - file(TO_CMAKE_PATH ${MSVC_REDIST_DIR} MSVC_REDIST_DIR) - else() - message("Unable to detect the Visual Studio redist directory, copying of the runtime dlls will not work, try running from the visual studio developer prompt.") - endif() + set(MSVC_CLANG On) + set(VC_TOOLS_DIR $ENV{VCToolsRedistDir} CACHE STRING "Location of the msvc redistributables") + set(MSVC_REDIST_DIR ${VC_TOOLS_DIR}) + if (DEFINED MSVC_REDIST_DIR) + file(TO_CMAKE_PATH ${MSVC_REDIST_DIR} MSVC_REDIST_DIR) + else() + message("Unable to detect the Visual Studio redist directory, copying of the runtime dlls will not work, try running from the visual studio developer prompt.") + endif() endif() set_property(GLOBAL PROPERTY USE_FOLDERS ${WINDOWS_USE_VISUAL_STUDIO_FOLDERS}) if(NOT WITH_PYTHON_MODULE) - set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT blender) + set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT blender) endif() macro(warn_hardcoded_paths package_name - ) - if(WITH_WINDOWS_FIND_MODULES) - message(WARNING "Using HARDCODED ${package_name} locations") - endif() + ) + if(WITH_WINDOWS_FIND_MODULES) + message(WARNING "Using HARDCODED ${package_name} locations") + endif() endmacro() macro(windows_find_package package_name - ) - if(WITH_WINDOWS_FIND_MODULES) - find_package(${package_name}) - endif() + ) + if(WITH_WINDOWS_FIND_MODULES) + find_package(${package_name}) + endif() endmacro() macro(find_package_wrapper) - if(WITH_WINDOWS_FIND_MODULES) - find_package(${ARGV}) - endif() + if(WITH_WINDOWS_FIND_MODULES) + find_package(${ARGV}) + endif() endmacro() add_definitions(-DWIN32) @@ -71,22 +71,22 @@ add_compile_options("$<$:/utf-8>") # Minimum MSVC Version if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) - if(MSVC_VERSION EQUAL 1800) - set(_min_ver "18.0.31101") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${_min_ver}) - message(FATAL_ERROR - "Visual Studio 2013 (Update 4, ${_min_ver}) required, " - "found (${CMAKE_CXX_COMPILER_VERSION})") - endif() - endif() - if(MSVC_VERSION EQUAL 1900) - set(_min_ver "19.0.24210") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${_min_ver}) - message(FATAL_ERROR - "Visual Studio 2015 (Update 3, ${_min_ver}) required, " - "found (${CMAKE_CXX_COMPILER_VERSION})") - endif() - endif() + if(MSVC_VERSION EQUAL 1800) + set(_min_ver "18.0.31101") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${_min_ver}) + message(FATAL_ERROR + "Visual Studio 2013 (Update 4, ${_min_ver}) required, " + "found (${CMAKE_CXX_COMPILER_VERSION})") + endif() + endif() + if(MSVC_VERSION EQUAL 1900) + set(_min_ver "19.0.24210") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${_min_ver}) + message(FATAL_ERROR + "Visual Studio 2015 (Update 3, ${_min_ver}) required, " + "found (${CMAKE_CXX_COMPILER_VERSION})") + endif() + endif() endif() unset(_min_ver) @@ -96,20 +96,20 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO") list(APPEND PLATFORM_LINKLIBS - ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 - advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp + ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 + advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp ) if(WITH_INPUT_IME) - list(APPEND PLATFORM_LINKLIBS imm32) + list(APPEND PLATFORM_LINKLIBS imm32) endif() add_definitions( - -D_CRT_NONSTDC_NO_DEPRECATE - -D_CRT_SECURE_NO_DEPRECATE - -D_SCL_SECURE_NO_DEPRECATE - -D_CONSOLE - -D_LIB + -D_CRT_NONSTDC_NO_DEPRECATE + -D_CRT_SECURE_NO_DEPRECATE + -D_SCL_SECURE_NO_DEPRECATE + -D_CONSOLE + -D_LIB ) # MSVC11 needs _ALLOW_KEYWORD_MACROS to build @@ -128,11 +128,11 @@ include(InstallRequiredSystemLibraries) remove_cc_flag("/MDd" "/MD") if(MSVC_CLANG) # Clangs version of cl doesn't support all flags - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARN_FLAGS} /nologo /J /Gd /EHsc -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference ") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARN_FLAGS} /nologo /J /Gd /EHsc -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference ") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference") else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP") endif() set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") @@ -152,50 +152,50 @@ set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /ignore:4049 /ignore:4217 /ignore: set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221") if(CMAKE_CL_64) - set(PLATFORM_LINKFLAGS "/MACHINE:X64 ${PLATFORM_LINKFLAGS}") + set(PLATFORM_LINKFLAGS "/MACHINE:X64 ${PLATFORM_LINKFLAGS}") else() - set(PLATFORM_LINKFLAGS "/MACHINE:IX86 /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}") + set(PLATFORM_LINKFLAGS "/MACHINE:IX86 /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}") endif() set(PLATFORM_LINKFLAGS_DEBUG "${PLATFORM_LINKFLAGS_DEBUG} /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib") if(NOT DEFINED LIBDIR) - # Setup 64bit and 64bit windows systems - if(CMAKE_CL_64) - message(STATUS "64 bit compiler detected.") - set(LIBDIR_BASE "win64") - else() - message(STATUS "32 bit compiler detected.") - set(LIBDIR_BASE "windows") - endif() - # Can be 1910..1912 - if(MSVC_VERSION GREATER 1919) - message(STATUS "Visual Studio 2019 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14) - elseif(MSVC_VERSION GREATER 1909) - message(STATUS "Visual Studio 2017 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14) - elseif(MSVC_VERSION EQUAL 1900) - message(STATUS "Visual Studio 2015 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14) - else() - message(STATUS "Visual Studio 2013 detected.") - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc12) - endif() + # Setup 64bit and 64bit windows systems + if(CMAKE_CL_64) + message(STATUS "64 bit compiler detected.") + set(LIBDIR_BASE "win64") + else() + message(STATUS "32 bit compiler detected.") + set(LIBDIR_BASE "windows") + endif() + # Can be 1910..1912 + if(MSVC_VERSION GREATER 1919) + message(STATUS "Visual Studio 2019 detected.") + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14) + elseif(MSVC_VERSION GREATER 1909) + message(STATUS "Visual Studio 2017 detected.") + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14) + elseif(MSVC_VERSION EQUAL 1900) + message(STATUS "Visual Studio 2015 detected.") + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14) + else() + message(STATUS "Visual Studio 2013 detected.") + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc12) + endif() else() - message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") + message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") endif() if(NOT EXISTS "${LIBDIR}/") - message(FATAL_ERROR "Windows requires pre-compiled libs at: '${LIBDIR}'") + message(FATAL_ERROR "Windows requires pre-compiled libs at: '${LIBDIR}'") endif() # Add each of our libraries to our cmake_prefix_path so find_package() could work file(GLOB children RELATIVE ${LIBDIR} ${LIBDIR}/*) foreach(child ${children}) - if(IS_DIRECTORY ${LIBDIR}/${child}) - list(APPEND CMAKE_PREFIX_PATH ${LIBDIR}/${child}) - endif() + if(IS_DIRECTORY ${LIBDIR}/${child}) + list(APPEND CMAKE_PREFIX_PATH ${LIBDIR}/${child}) + endif() endforeach() set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include) @@ -208,20 +208,20 @@ windows_find_package(zlib) # we want to find before finding things that depend o windows_find_package(png) if(NOT PNG_FOUND) - warn_hardcoded_paths(libpng) - set(PNG_PNG_INCLUDE_DIR ${LIBDIR}/png/include) - set(PNG_LIBRARIES ${LIBDIR}/png/lib/libpng.lib) - set(PNG "${LIBDIR}/png") - set(PNG_INCLUDE_DIRS "${PNG}/include") - set(PNG_LIBPATH ${PNG}/lib) # not cmake defined + warn_hardcoded_paths(libpng) + set(PNG_PNG_INCLUDE_DIR ${LIBDIR}/png/include) + set(PNG_LIBRARIES ${LIBDIR}/png/lib/libpng.lib) + set(PNG "${LIBDIR}/png") + set(PNG_INCLUDE_DIRS "${PNG}/include") + set(PNG_LIBPATH ${PNG}/lib) # not cmake defined endif() set(JPEG_NAMES ${JPEG_NAMES} libjpeg) windows_find_package(jpeg REQUIRED) if(NOT JPEG_FOUND) - warn_hardcoded_paths(jpeg) - set(JPEG_INCLUDE_DIR ${LIBDIR}/jpeg/include) - set(JPEG_LIBRARIES ${LIBDIR}/jpeg/lib/libjpeg.lib) + warn_hardcoded_paths(jpeg) + set(JPEG_INCLUDE_DIR ${LIBDIR}/jpeg/include) + set(JPEG_LIBRARIES ${LIBDIR}/jpeg/lib/libjpeg.lib) endif() set(PTHREADS_INCLUDE_DIRS ${LIBDIR}/pthreads/include) @@ -229,313 +229,313 @@ set(PTHREADS_LIBRARIES ${LIBDIR}/pthreads/lib/pthreadVC3.lib) set(FREETYPE ${LIBDIR}/freetype) set(FREETYPE_INCLUDE_DIRS - ${LIBDIR}/freetype/include - ${LIBDIR}/freetype/include/freetype2 + ${LIBDIR}/freetype/include + ${LIBDIR}/freetype/include/freetype2 ) set(FREETYPE_LIBRARY ${LIBDIR}/freetype/lib/freetype2ST.lib) windows_find_package(freetype REQUIRED) if(WITH_FFTW3) - set(FFTW3 ${LIBDIR}/fftw3) - set(FFTW3_LIBRARIES ${FFTW3}/lib/libfftw.lib) - set(FFTW3_INCLUDE_DIRS ${FFTW3}/include) - set(FFTW3_LIBPATH ${FFTW3}/lib) + set(FFTW3 ${LIBDIR}/fftw3) + set(FFTW3_LIBRARIES ${FFTW3}/lib/libfftw.lib) + set(FFTW3_INCLUDE_DIRS ${FFTW3}/include) + set(FFTW3_LIBPATH ${FFTW3}/lib) endif() if(WITH_OPENCOLLADA) - set(OPENCOLLADA ${LIBDIR}/opencollada) + set(OPENCOLLADA ${LIBDIR}/opencollada) - set(OPENCOLLADA_INCLUDE_DIRS - ${OPENCOLLADA}/include/opencollada/COLLADAStreamWriter - ${OPENCOLLADA}/include/opencollada/COLLADABaseUtils - ${OPENCOLLADA}/include/opencollada/COLLADAFramework - ${OPENCOLLADA}/include/opencollada/COLLADASaxFrameworkLoader - ${OPENCOLLADA}/include/opencollada/GeneratedSaxParser - ) + set(OPENCOLLADA_INCLUDE_DIRS + ${OPENCOLLADA}/include/opencollada/COLLADAStreamWriter + ${OPENCOLLADA}/include/opencollada/COLLADABaseUtils + ${OPENCOLLADA}/include/opencollada/COLLADAFramework + ${OPENCOLLADA}/include/opencollada/COLLADASaxFrameworkLoader + ${OPENCOLLADA}/include/opencollada/GeneratedSaxParser + ) - set(OPENCOLLADA_LIBRARIES - ${OPENCOLLADA}/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib - ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAFramework.lib - ${OPENCOLLADA}/lib/opencollada/OpenCOLLADABaseUtils.lib - ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib - ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib - ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib - ${OPENCOLLADA}/lib/opencollada/xml.lib - ${OPENCOLLADA}/lib/opencollada/buffer.lib - ${OPENCOLLADA}/lib/opencollada/ftoa.lib - ) + set(OPENCOLLADA_LIBRARIES + ${OPENCOLLADA}/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib + ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAFramework.lib + ${OPENCOLLADA}/lib/opencollada/OpenCOLLADABaseUtils.lib + ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib + ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib + ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib + ${OPENCOLLADA}/lib/opencollada/xml.lib + ${OPENCOLLADA}/lib/opencollada/buffer.lib + ${OPENCOLLADA}/lib/opencollada/ftoa.lib + ) - list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/UTF.lib) + list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/UTF.lib) - set(PCRE_LIBRARIES - ${OPENCOLLADA}/lib/opencollada/pcre.lib - ) + set(PCRE_LIBRARIES + ${OPENCOLLADA}/lib/opencollada/pcre.lib + ) endif() if(WITH_CODEC_FFMPEG) - set(FFMPEG_INCLUDE_DIRS - ${LIBDIR}/ffmpeg/include - ${LIBDIR}/ffmpeg/include/msvc - ) - windows_find_package(FFMPEG) - if(NOT FFMPEG_FOUND) - warn_hardcoded_paths(ffmpeg) - set(FFMPEG_LIBRARIES - ${LIBDIR}/ffmpeg/lib/avcodec.lib - ${LIBDIR}/ffmpeg/lib/avformat.lib - ${LIBDIR}/ffmpeg/lib/avdevice.lib - ${LIBDIR}/ffmpeg/lib/avutil.lib - ${LIBDIR}/ffmpeg/lib/swscale.lib - ) - endif() + set(FFMPEG_INCLUDE_DIRS + ${LIBDIR}/ffmpeg/include + ${LIBDIR}/ffmpeg/include/msvc + ) + windows_find_package(FFMPEG) + if(NOT FFMPEG_FOUND) + warn_hardcoded_paths(ffmpeg) + set(FFMPEG_LIBRARIES + ${LIBDIR}/ffmpeg/lib/avcodec.lib + ${LIBDIR}/ffmpeg/lib/avformat.lib + ${LIBDIR}/ffmpeg/lib/avdevice.lib + ${LIBDIR}/ffmpeg/lib/avutil.lib + ${LIBDIR}/ffmpeg/lib/swscale.lib + ) + endif() endif() if(WITH_IMAGE_OPENEXR) - set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr) - set(OPENEXR_VERSION "2.1") - windows_find_package(OPENEXR REQUIRED) - if(NOT OPENEXR_FOUND) - warn_hardcoded_paths(OpenEXR) - set(OPENEXR ${LIBDIR}/openexr) - set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include) - set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR) - set(OPENEXR_LIBPATH ${OPENEXR}/lib) - set(OPENEXR_LIBRARIES - optimized ${OPENEXR_LIBPATH}/Iex_s.lib - optimized ${OPENEXR_LIBPATH}/Half_s.lib - optimized ${OPENEXR_LIBPATH}/IlmImf_s.lib - optimized ${OPENEXR_LIBPATH}/Imath_s.lib - optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib - debug ${OPENEXR_LIBPATH}/Iex_s_d.lib - debug ${OPENEXR_LIBPATH}/Half_s_d.lib - debug ${OPENEXR_LIBPATH}/IlmImf_s_d.lib - debug ${OPENEXR_LIBPATH}/Imath_s_d.lib - debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib - ) - endif() + set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr) + set(OPENEXR_VERSION "2.1") + windows_find_package(OPENEXR REQUIRED) + if(NOT OPENEXR_FOUND) + warn_hardcoded_paths(OpenEXR) + set(OPENEXR ${LIBDIR}/openexr) + set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include) + set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR) + set(OPENEXR_LIBPATH ${OPENEXR}/lib) + set(OPENEXR_LIBRARIES + optimized ${OPENEXR_LIBPATH}/Iex_s.lib + optimized ${OPENEXR_LIBPATH}/Half_s.lib + optimized ${OPENEXR_LIBPATH}/IlmImf_s.lib + optimized ${OPENEXR_LIBPATH}/Imath_s.lib + optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib + debug ${OPENEXR_LIBPATH}/Iex_s_d.lib + debug ${OPENEXR_LIBPATH}/Half_s_d.lib + debug ${OPENEXR_LIBPATH}/IlmImf_s_d.lib + debug ${OPENEXR_LIBPATH}/Imath_s_d.lib + debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib + ) + endif() endif() if(WITH_IMAGE_TIFF) - # Try to find tiff first then complain and set static and maybe wrong paths - windows_find_package(TIFF) - if(NOT TIFF_FOUND) - warn_hardcoded_paths(libtiff) - set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib) - set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include) - endif() + # Try to find tiff first then complain and set static and maybe wrong paths + windows_find_package(TIFF) + if(NOT TIFF_FOUND) + warn_hardcoded_paths(libtiff) + set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib) + set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include) + endif() endif() if(WITH_JACK) - set(JACK_INCLUDE_DIRS - ${LIBDIR}/jack/include/jack - ${LIBDIR}/jack/include - ) - set(JACK_LIBRARIES optimized ${LIBDIR}/jack/lib/libjack.lib debug ${LIBDIR}/jack/lib/libjack_d.lib) + set(JACK_INCLUDE_DIRS + ${LIBDIR}/jack/include/jack + ${LIBDIR}/jack/include + ) + set(JACK_LIBRARIES optimized ${LIBDIR}/jack/lib/libjack.lib debug ${LIBDIR}/jack/lib/libjack_d.lib) endif() if(WITH_PYTHON) - set(PYTHON_VERSION 3.7) # CACHE STRING) + set(PYTHON_VERSION 3.7) # CACHE STRING) - string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION}) - # Use shared libs for vc2008 and vc2010 until we actually have vc2010 libs - set(PYTHON_LIBRARY ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.lib) - unset(_PYTHON_VERSION_NO_DOTS) + string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION}) + # Use shared libs for vc2008 and vc2010 until we actually have vc2010 libs + set(PYTHON_LIBRARY ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.lib) + unset(_PYTHON_VERSION_NO_DOTS) - # Shared includes for both vc2008 and vc2010 - set(PYTHON_INCLUDE_DIR ${LIBDIR}/python/include/python${PYTHON_VERSION}) + # Shared includes for both vc2008 and vc2010 + set(PYTHON_INCLUDE_DIR ${LIBDIR}/python/include/python${PYTHON_VERSION}) - # uncached vars - set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}") - set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") + # uncached vars + set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}") + set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") endif() if(WITH_BOOST) - if(WITH_CYCLES_OSL) - set(boost_extra_libs wave) - endif() - if(WITH_INTERNATIONAL) - list(APPEND boost_extra_libs locale) - endif() - if(WITH_OPENVDB) - list(APPEND boost_extra_libs iostreams) - endif() - set(Boost_USE_STATIC_RUNTIME ON) # prefix lib - set(Boost_USE_MULTITHREADED ON) # suffix -mt - set(Boost_USE_STATIC_LIBS ON) # suffix -s - if(WITH_WINDOWS_FIND_MODULES) - find_package(Boost COMPONENTS date_time filesystem thread regex system ${boost_extra_libs}) - endif() - if(NOT Boost_FOUND) - warn_hardcoded_paths(BOOST) - set(BOOST ${LIBDIR}/boost) - set(BOOST_INCLUDE_DIR ${BOOST}/include) - set(BOOST_LIBPATH ${BOOST}/lib) - if(CMAKE_CL_64) - set(BOOST_POSTFIX "vc140-mt-s-x64-1_68.lib") - set(BOOST_DEBUG_POSTFIX "vc140-mt-sgd-x64-1_68.lib") - else() - set(BOOST_POSTFIX "vc140-mt-s-x32-1_68.lib") - set(BOOST_DEBUG_POSTFIX "vc140-mt-sgd-x32-1_68.lib") - endif() - set(BOOST_LIBRARIES - optimized ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX} - optimized ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_POSTFIX} - optimized ${BOOST_LIBPATH}/libboost_regex-${BOOST_POSTFIX} - optimized ${BOOST_LIBPATH}/libboost_system-${BOOST_POSTFIX} - optimized ${BOOST_LIBPATH}/libboost_thread-${BOOST_POSTFIX} - optimized ${BOOST_LIBPATH}/libboost_chrono-${BOOST_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_date_time-${BOOST_DEBUG_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_DEBUG_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_regex-${BOOST_DEBUG_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_system-${BOOST_DEBUG_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_thread-${BOOST_DEBUG_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_chrono-${BOOST_DEBUG_POSTFIX} - ) - if(WITH_CYCLES_OSL) - set(BOOST_LIBRARIES ${BOOST_LIBRARIES} - optimized ${BOOST_LIBPATH}/libboost_wave-${BOOST_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_wave-${BOOST_DEBUG_POSTFIX}) - endif() - if(WITH_INTERNATIONAL) - set(BOOST_LIBRARIES ${BOOST_LIBRARIES} - optimized ${BOOST_LIBPATH}/libboost_locale-${BOOST_POSTFIX} - debug ${BOOST_LIBPATH}/libboost_locale-${BOOST_DEBUG_POSTFIX}) - endif() - else() # we found boost using find_package - set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) - set(BOOST_LIBRARIES ${Boost_LIBRARIES}) - set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS}) - endif() - set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + if(WITH_CYCLES_OSL) + set(boost_extra_libs wave) + endif() + if(WITH_INTERNATIONAL) + list(APPEND boost_extra_libs locale) + endif() + if(WITH_OPENVDB) + list(APPEND boost_extra_libs iostreams) + endif() + set(Boost_USE_STATIC_RUNTIME ON) # prefix lib + set(Boost_USE_MULTITHREADED ON) # suffix -mt + set(Boost_USE_STATIC_LIBS ON) # suffix -s + if(WITH_WINDOWS_FIND_MODULES) + find_package(Boost COMPONENTS date_time filesystem thread regex system ${boost_extra_libs}) + endif() + if(NOT Boost_FOUND) + warn_hardcoded_paths(BOOST) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_LIBPATH ${BOOST}/lib) + if(CMAKE_CL_64) + set(BOOST_POSTFIX "vc140-mt-s-x64-1_68.lib") + set(BOOST_DEBUG_POSTFIX "vc140-mt-sgd-x64-1_68.lib") + else() + set(BOOST_POSTFIX "vc140-mt-s-x32-1_68.lib") + set(BOOST_DEBUG_POSTFIX "vc140-mt-sgd-x32-1_68.lib") + endif() + set(BOOST_LIBRARIES + optimized ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX} + optimized ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_POSTFIX} + optimized ${BOOST_LIBPATH}/libboost_regex-${BOOST_POSTFIX} + optimized ${BOOST_LIBPATH}/libboost_system-${BOOST_POSTFIX} + optimized ${BOOST_LIBPATH}/libboost_thread-${BOOST_POSTFIX} + optimized ${BOOST_LIBPATH}/libboost_chrono-${BOOST_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_date_time-${BOOST_DEBUG_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_DEBUG_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_regex-${BOOST_DEBUG_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_system-${BOOST_DEBUG_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_thread-${BOOST_DEBUG_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_chrono-${BOOST_DEBUG_POSTFIX} + ) + if(WITH_CYCLES_OSL) + set(BOOST_LIBRARIES ${BOOST_LIBRARIES} + optimized ${BOOST_LIBPATH}/libboost_wave-${BOOST_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_wave-${BOOST_DEBUG_POSTFIX}) + endif() + if(WITH_INTERNATIONAL) + set(BOOST_LIBRARIES ${BOOST_LIBRARIES} + optimized ${BOOST_LIBPATH}/libboost_locale-${BOOST_POSTFIX} + debug ${BOOST_LIBPATH}/libboost_locale-${BOOST_DEBUG_POSTFIX}) + endif() + else() # we found boost using find_package + set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) + set(BOOST_LIBRARIES ${Boost_LIBRARIES}) + set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS}) + endif() + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") endif() if(WITH_OPENIMAGEIO) - windows_find_package(OpenImageIO) - set(OPENIMAGEIO ${LIBDIR}/openimageio) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) - set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) - set(OIIO_OPTIMIZED optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO.lib optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util.lib) - set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib) - set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG}) + windows_find_package(OpenImageIO) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) + set(OIIO_OPTIMIZED optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO.lib optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util.lib) + set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib) + set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG}) - set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0") - set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD") - set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe") - add_definitions(-DOIIO_STATIC_BUILD) - add_definitions(-DOIIO_NO_SSE=1) + set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0") + set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD") + set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe") + add_definitions(-DOIIO_STATIC_BUILD) + add_definitions(-DOIIO_NO_SSE=1) endif() if(WITH_LLVM) - set(LLVM_ROOT_DIR ${LIBDIR}/llvm CACHE PATH "Path to the LLVM installation") - set(LLVM_INCLUDE_DIRS ${LLVM_ROOT_DIR}/$<$:Debug>/include CACHE PATH "Path to the LLVM include directory") - file(GLOB LLVM_LIBRARY_OPTIMIZED ${LLVM_ROOT_DIR}/lib/*.lib) + set(LLVM_ROOT_DIR ${LIBDIR}/llvm CACHE PATH "Path to the LLVM installation") + set(LLVM_INCLUDE_DIRS ${LLVM_ROOT_DIR}/$<$:Debug>/include CACHE PATH "Path to the LLVM include directory") + file(GLOB LLVM_LIBRARY_OPTIMIZED ${LLVM_ROOT_DIR}/lib/*.lib) - if(EXISTS ${LLVM_ROOT_DIR}/debug/lib) - foreach(LLVM_OPTIMIZED_LIB ${LLVM_LIBRARY_OPTIMIZED}) - get_filename_component(LIBNAME ${LLVM_OPTIMIZED_LIB} ABSOLUTE) - list(APPEND LLVM_LIBS optimized ${LIBNAME}) - endforeach(LLVM_OPTIMIZED_LIB) + if(EXISTS ${LLVM_ROOT_DIR}/debug/lib) + foreach(LLVM_OPTIMIZED_LIB ${LLVM_LIBRARY_OPTIMIZED}) + get_filename_component(LIBNAME ${LLVM_OPTIMIZED_LIB} ABSOLUTE) + list(APPEND LLVM_LIBS optimized ${LIBNAME}) + endforeach(LLVM_OPTIMIZED_LIB) - file(GLOB LLVM_LIBRARY_DEBUG ${LLVM_ROOT_DIR}/debug/lib/*.lib) + file(GLOB LLVM_LIBRARY_DEBUG ${LLVM_ROOT_DIR}/debug/lib/*.lib) - foreach(LLVM_DEBUG_LIB ${LLVM_LIBRARY_DEBUG}) - get_filename_component(LIBNAME ${LLVM_DEBUG_LIB} ABSOLUTE) - list(APPEND LLVM_LIBS debug ${LIBNAME}) - endforeach(LLVM_DEBUG_LIB) + foreach(LLVM_DEBUG_LIB ${LLVM_LIBRARY_DEBUG}) + get_filename_component(LIBNAME ${LLVM_DEBUG_LIB} ABSOLUTE) + list(APPEND LLVM_LIBS debug ${LIBNAME}) + endforeach(LLVM_DEBUG_LIB) - set(LLVM_LIBRARY ${LLVM_LIBS}) - else() - message(WARNING "LLVM debug libs not present on this system. Using release libs for debug builds.") - set(LLVM_LIBRARY ${LLVM_LIBRARY_OPTIMIZED}) - endif() + set(LLVM_LIBRARY ${LLVM_LIBS}) + else() + message(WARNING "LLVM debug libs not present on this system. Using release libs for debug builds.") + set(LLVM_LIBRARY ${LLVM_LIBRARY_OPTIMIZED}) + endif() endif() if(WITH_OPENCOLORIO) - set(OPENCOLORIO ${LIBDIR}/opencolorio) - set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include) - set(OPENCOLORIO_LIBPATH ${LIBDIR}/opencolorio/lib) - set(OPENCOLORIO_LIBRARIES - optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib - optimized ${OPENCOLORIO_LIBPATH}/tinyxml.lib - optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib - debug ${OPENCOLORIO_LIBPATH}/OpenColorIO_d.lib - debug ${OPENCOLORIO_LIBPATH}/tinyxml_d.lib - debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib - ) - set(OPENCOLORIO_DEFINITIONS) + set(OPENCOLORIO ${LIBDIR}/opencolorio) + set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include) + set(OPENCOLORIO_LIBPATH ${LIBDIR}/opencolorio/lib) + set(OPENCOLORIO_LIBRARIES + optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib + optimized ${OPENCOLORIO_LIBPATH}/tinyxml.lib + optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib + debug ${OPENCOLORIO_LIBPATH}/OpenColorIO_d.lib + debug ${OPENCOLORIO_LIBPATH}/tinyxml_d.lib + debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib + ) + set(OPENCOLORIO_DEFINITIONS) endif() if(WITH_OPENVDB) - set(BLOSC_LIBRARIES optimized ${LIBDIR}/blosc/lib/libblosc.lib debug ${LIBDIR}/blosc/lib/libblosc_d.lib) - set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib) - set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include) - set(OPENVDB ${LIBDIR}/openvdb) - set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib) - set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include ${TBB_INCLUDE_DIR}) - set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib ${TBB_LIBRARIES} ${BLOSC_LIBRARIES}) - set(OPENVDB_DEFINITIONS -DNOMINMAX) + set(BLOSC_LIBRARIES optimized ${LIBDIR}/blosc/lib/libblosc.lib debug ${LIBDIR}/blosc/lib/libblosc_d.lib) + set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib) + set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include) + set(OPENVDB ${LIBDIR}/openvdb) + set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib) + set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include ${TBB_INCLUDE_DIR}) + set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib ${TBB_LIBRARIES} ${BLOSC_LIBRARIES}) + set(OPENVDB_DEFINITIONS -DNOMINMAX) endif() if(WITH_ALEMBIC) - set(ALEMBIC ${LIBDIR}/alembic) - set(ALEMBIC_INCLUDE_DIR ${ALEMBIC}/include) - set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) - set(ALEMBIC_LIBPATH ${ALEMBIC}/lib) - set(ALEMBIC_LIBRARIES optimized ${ALEMBIC}/lib/alembic.lib debug ${ALEMBIC}/lib/alembic_d.lib) - set(ALEMBIC_FOUND 1) + set(ALEMBIC ${LIBDIR}/alembic) + set(ALEMBIC_INCLUDE_DIR ${ALEMBIC}/include) + set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) + set(ALEMBIC_LIBPATH ${ALEMBIC}/lib) + set(ALEMBIC_LIBRARIES optimized ${ALEMBIC}/lib/alembic.lib debug ${ALEMBIC}/lib/alembic_d.lib) + set(ALEMBIC_FOUND 1) endif() if(WITH_MOD_CLOTH_ELTOPO) - set(LAPACK ${LIBDIR}/lapack) - # set(LAPACK_INCLUDE_DIR ${LAPACK}/include) - set(LAPACK_LIBPATH ${LAPACK}/lib) - set(LAPACK_LIBRARIES - ${LIBDIR}/lapack/lib/libf2c.lib - ${LIBDIR}/lapack/lib/clapack_nowrap.lib - ${LIBDIR}/lapack/lib/BLAS_nowrap.lib - ) + set(LAPACK ${LIBDIR}/lapack) + # set(LAPACK_INCLUDE_DIR ${LAPACK}/include) + set(LAPACK_LIBPATH ${LAPACK}/lib) + set(LAPACK_LIBRARIES + ${LIBDIR}/lapack/lib/libf2c.lib + ${LIBDIR}/lapack/lib/clapack_nowrap.lib + ${LIBDIR}/lapack/lib/BLAS_nowrap.lib + ) endif() if(WITH_IMAGE_OPENJPEG) - set(OPENJPEG ${LIBDIR}/openjpeg) - set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3) - set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib) + set(OPENJPEG ${LIBDIR}/openjpeg) + set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3) + set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib) endif() if(WITH_OPENSUBDIV) - set(OPENSUBDIV_INCLUDE_DIR ${LIBDIR}/opensubdiv/include) - set(OPENSUBDIV_LIBPATH ${LIBDIR}/opensubdiv/lib) - set(OPENSUBDIV_LIBRARIES - optimized ${OPENSUBDIV_LIBPATH}/osdCPU.lib - optimized ${OPENSUBDIV_LIBPATH}/osdGPU.lib - debug ${OPENSUBDIV_LIBPATH}/osdCPU_d.lib - debug ${OPENSUBDIV_LIBPATH}/osdGPU_d.lib - ) - set(OPENSUBDIV_HAS_OPENMP TRUE) - set(OPENSUBDIV_HAS_TBB FALSE) - set(OPENSUBDIV_HAS_OPENCL TRUE) - set(OPENSUBDIV_HAS_CUDA FALSE) - set(OPENSUBDIV_HAS_GLSL_TRANSFORM_FEEDBACK TRUE) - set(OPENSUBDIV_HAS_GLSL_COMPUTE TRUE) - windows_find_package(OpenSubdiv) + set(OPENSUBDIV_INCLUDE_DIR ${LIBDIR}/opensubdiv/include) + set(OPENSUBDIV_LIBPATH ${LIBDIR}/opensubdiv/lib) + set(OPENSUBDIV_LIBRARIES + optimized ${OPENSUBDIV_LIBPATH}/osdCPU.lib + optimized ${OPENSUBDIV_LIBPATH}/osdGPU.lib + debug ${OPENSUBDIV_LIBPATH}/osdCPU_d.lib + debug ${OPENSUBDIV_LIBPATH}/osdGPU_d.lib + ) + set(OPENSUBDIV_HAS_OPENMP TRUE) + set(OPENSUBDIV_HAS_TBB FALSE) + set(OPENSUBDIV_HAS_OPENCL TRUE) + set(OPENSUBDIV_HAS_CUDA FALSE) + set(OPENSUBDIV_HAS_GLSL_TRANSFORM_FEEDBACK TRUE) + set(OPENSUBDIV_HAS_GLSL_COMPUTE TRUE) + windows_find_package(OpenSubdiv) endif() if(WITH_SDL) - set(SDL ${LIBDIR}/sdl) - set(SDL_INCLUDE_DIR ${SDL}/include) - set(SDL_LIBPATH ${SDL}/lib) - set(SDL_LIBRARY ${SDL_LIBPATH}/SDL2.lib) + set(SDL ${LIBDIR}/sdl) + set(SDL_INCLUDE_DIR ${SDL}/include) + set(SDL_LIBPATH ${SDL}/lib) + set(SDL_LIBRARY ${SDL_LIBPATH}/SDL2.lib) endif() # Audio IO if(WITH_SYSTEM_AUDASPACE) - set(AUDASPACE_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) - set(AUDASPACE_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace.lib) - set(AUDASPACE_C_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) - set(AUDASPACE_C_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-c.lib) - set(AUDASPACE_PY_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) - set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib) + set(AUDASPACE_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) + set(AUDASPACE_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace.lib) + set(AUDASPACE_C_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) + set(AUDASPACE_C_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-c.lib) + set(AUDASPACE_PY_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) + set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib) endif() # used in many places so include globally, like OpenGL @@ -544,130 +544,130 @@ blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}") #find signtool set(ProgramFilesX86_NAME "ProgramFiles(x86)") #env dislikes the ( ) find_program(SIGNTOOL_EXE signtool - HINTS - "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/10/bin/x86/" - "$ENV{ProgramFiles}/Windows Kits/10/bin/x86/" - "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/8.1/bin/x86/" - "$ENV{ProgramFiles}/Windows Kits/8.1/bin/x86/" - "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/8.0/bin/x86/" - "$ENV{ProgramFiles}/Windows Kits/8.0/bin/x86/" + HINTS + "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/10/bin/x86/" + "$ENV{ProgramFiles}/Windows Kits/10/bin/x86/" + "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/8.1/bin/x86/" + "$ENV{ProgramFiles}/Windows Kits/8.1/bin/x86/" + "$ENV{${ProgramFilesX86_NAME}}/Windows Kits/8.0/bin/x86/" + "$ENV{ProgramFiles}/Windows Kits/8.0/bin/x86/" ) set(WINTAB_INC ${LIBDIR}/wintab/include) if(WITH_OPENAL) - set(OPENAL ${LIBDIR}/openal) - set(OPENALDIR ${LIBDIR}/openal) - set(OPENAL_INCLUDE_DIR ${OPENAL}/include/AL) - set(OPENAL_LIBPATH ${OPENAL}/lib) - if(MSVC) - set(OPENAL_LIBRARY ${OPENAL_LIBPATH}/openal32.lib) - else() - set(OPENAL_LIBRARY ${OPENAL_LIBPATH}/wrap_oal.lib) - endif() + set(OPENAL ${LIBDIR}/openal) + set(OPENALDIR ${LIBDIR}/openal) + set(OPENAL_INCLUDE_DIR ${OPENAL}/include/AL) + set(OPENAL_LIBPATH ${OPENAL}/lib) + if(MSVC) + set(OPENAL_LIBRARY ${OPENAL_LIBPATH}/openal32.lib) + else() + set(OPENAL_LIBRARY ${OPENAL_LIBPATH}/wrap_oal.lib) + endif() endif() if(WITH_CODEC_SNDFILE) - set(LIBSNDFILE ${LIBDIR}/sndfile) - set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include) - set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib) # TODO, deprecate - set(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBPATH}/libsndfile-1.lib) + set(LIBSNDFILE ${LIBDIR}/sndfile) + set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include) + set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib) # TODO, deprecate + set(LIBSNDFILE_LIBRARIES ${LIBSNDFILE_LIBPATH}/libsndfile-1.lib) endif() if(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) - add_definitions(-D__SSE__ -D__MMX__) + add_definitions(-D__SSE__ -D__MMX__) endif() if(WITH_CYCLES_OSL) - set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation") + set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation") - find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_EXEC_DEBUG NAMES oslexec_d PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_COMP_DEBUG NAMES oslcomp_d PATHS ${CYCLES_OSL}/lib) - find_library(OSL_LIB_QUERY_DEBUG NAMES oslquery_d PATHS ${CYCLES_OSL}/lib) - list(APPEND OSL_LIBRARIES - optimized ${OSL_LIB_COMP} - optimized ${OSL_LIB_EXEC} - optimized ${OSL_LIB_QUERY} - optimized ${CYCLES_OSL}/lib/pugixml.lib - debug ${OSL_LIB_EXEC_DEBUG} - debug ${OSL_LIB_COMP_DEBUG} - debug ${OSL_LIB_QUERY_DEBUG} - debug ${CYCLES_OSL}/lib/pugixml_d.lib - ) - find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include) - find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) + find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_EXEC_DEBUG NAMES oslexec_d PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_COMP_DEBUG NAMES oslcomp_d PATHS ${CYCLES_OSL}/lib) + find_library(OSL_LIB_QUERY_DEBUG NAMES oslquery_d PATHS ${CYCLES_OSL}/lib) + list(APPEND OSL_LIBRARIES + optimized ${OSL_LIB_COMP} + optimized ${OSL_LIB_EXEC} + optimized ${OSL_LIB_QUERY} + optimized ${CYCLES_OSL}/lib/pugixml.lib + debug ${OSL_LIB_EXEC_DEBUG} + debug ${OSL_LIB_COMP_DEBUG} + debug ${OSL_LIB_QUERY_DEBUG} + debug ${CYCLES_OSL}/lib/pugixml_d.lib + ) + find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include) + find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) - if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER) - set(OSL_FOUND TRUE) - else() - message(STATUS "OSL not found") - set(WITH_CYCLES_OSL OFF) - endif() + if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER) + set(OSL_FOUND TRUE) + else() + message(STATUS "OSL not found") + set(WITH_CYCLES_OSL OFF) + endif() endif() if(WITH_CYCLES_EMBREE) - windows_find_package(Embree) - if(NOT EMBREE_FOUND) - set(EMBREE_INCLUDE_DIRS ${LIBDIR}/embree/include) - set(EMBREE_LIBRARIES - optimized ${LIBDIR}/embree/lib/embree3.lib - optimized ${LIBDIR}/embree/lib/embree_avx2.lib - optimized ${LIBDIR}/embree/lib/embree_avx.lib - optimized ${LIBDIR}/embree/lib/embree_sse42.lib - optimized ${LIBDIR}/embree/lib/lexers.lib - optimized ${LIBDIR}/embree/lib/math.lib - optimized ${LIBDIR}/embree/lib/simd.lib - optimized ${LIBDIR}/embree/lib/sys.lib - optimized ${LIBDIR}/embree/lib/tasking.lib + windows_find_package(Embree) + if(NOT EMBREE_FOUND) + set(EMBREE_INCLUDE_DIRS ${LIBDIR}/embree/include) + set(EMBREE_LIBRARIES + optimized ${LIBDIR}/embree/lib/embree3.lib + optimized ${LIBDIR}/embree/lib/embree_avx2.lib + optimized ${LIBDIR}/embree/lib/embree_avx.lib + optimized ${LIBDIR}/embree/lib/embree_sse42.lib + optimized ${LIBDIR}/embree/lib/lexers.lib + optimized ${LIBDIR}/embree/lib/math.lib + optimized ${LIBDIR}/embree/lib/simd.lib + optimized ${LIBDIR}/embree/lib/sys.lib + optimized ${LIBDIR}/embree/lib/tasking.lib - debug ${LIBDIR}/embree/lib/embree3_d.lib - debug ${LIBDIR}/embree/lib/embree_avx2_d.lib - debug ${LIBDIR}/embree/lib/embree_avx_d.lib - debug ${LIBDIR}/embree/lib/embree_sse42_d.lib - debug ${LIBDIR}/embree/lib/lexers_d.lib - debug ${LIBDIR}/embree/lib/math_d.lib - debug ${LIBDIR}/embree/lib/simd_d.lib - debug ${LIBDIR}/embree/lib/sys_d.lib - debug ${LIBDIR}/embree/lib/tasking_d.lib) - endif() + debug ${LIBDIR}/embree/lib/embree3_d.lib + debug ${LIBDIR}/embree/lib/embree_avx2_d.lib + debug ${LIBDIR}/embree/lib/embree_avx_d.lib + debug ${LIBDIR}/embree/lib/embree_sse42_d.lib + debug ${LIBDIR}/embree/lib/lexers_d.lib + debug ${LIBDIR}/embree/lib/math_d.lib + debug ${LIBDIR}/embree/lib/simd_d.lib + debug ${LIBDIR}/embree/lib/sys_d.lib + debug ${LIBDIR}/embree/lib/tasking_d.lib) + endif() endif() if (WINDOWS_PYTHON_DEBUG) - # Include the system scripts in the blender_python_system_scripts project. - FILE(GLOB_RECURSE inFiles "${CMAKE_SOURCE_DIR}/release/scripts/*.*" ) - ADD_CUSTOM_TARGET(blender_python_system_scripts SOURCES ${inFiles}) - foreach(_source IN ITEMS ${inFiles}) - get_filename_component(_source_path "${_source}" PATH) - string(REPLACE "${CMAKE_SOURCE_DIR}/release/scripts/" "" _source_path "${_source_path}") - string(REPLACE "/" "\\" _group_path "${_source_path}") - source_group("${_group_path}" FILES "${_source}") - endforeach() - # Include the user scripts from the profile folder in the blender_python_user_scripts project. - set(USER_SCRIPTS_ROOT "$ENV{appdata}/blender foundation/blender/${BLENDER_VERSION}") - file(TO_CMAKE_PATH ${USER_SCRIPTS_ROOT} USER_SCRIPTS_ROOT) - FILE(GLOB_RECURSE inFiles "${USER_SCRIPTS_ROOT}/scripts/*.*" ) - ADD_CUSTOM_TARGET(blender_python_user_scripts SOURCES ${inFiles}) - foreach(_source IN ITEMS ${inFiles}) - get_filename_component(_source_path "${_source}" PATH) - string(REPLACE "${USER_SCRIPTS_ROOT}/scripts" "" _source_path "${_source_path}") - string(REPLACE "/" "\\" _group_path "${_source_path}") - source_group("${_group_path}" FILES "${_source}") - endforeach() - set_target_properties(blender_python_system_scripts PROPERTIES FOLDER "scripts") - set_target_properties(blender_python_user_scripts PROPERTIES FOLDER "scripts") - # Set the default debugging options for the project, only write this file once so the user - # is free to override them at their own perril. - set(USER_PROPS_FILE "${CMAKE_CURRENT_BINARY_DIR}/source/creator/blender.Cpp.user.props") - if(NOT EXISTS ${USER_PROPS_FILE}) - # Layout below is messy, because otherwise the generated file will look messy. - file(WRITE ${USER_PROPS_FILE} " + # Include the system scripts in the blender_python_system_scripts project. + FILE(GLOB_RECURSE inFiles "${CMAKE_SOURCE_DIR}/release/scripts/*.*" ) + ADD_CUSTOM_TARGET(blender_python_system_scripts SOURCES ${inFiles}) + foreach(_source IN ITEMS ${inFiles}) + get_filename_component(_source_path "${_source}" PATH) + string(REPLACE "${CMAKE_SOURCE_DIR}/release/scripts/" "" _source_path "${_source_path}") + string(REPLACE "/" "\\" _group_path "${_source_path}") + source_group("${_group_path}" FILES "${_source}") + endforeach() + # Include the user scripts from the profile folder in the blender_python_user_scripts project. + set(USER_SCRIPTS_ROOT "$ENV{appdata}/blender foundation/blender/${BLENDER_VERSION}") + file(TO_CMAKE_PATH ${USER_SCRIPTS_ROOT} USER_SCRIPTS_ROOT) + FILE(GLOB_RECURSE inFiles "${USER_SCRIPTS_ROOT}/scripts/*.*" ) + ADD_CUSTOM_TARGET(blender_python_user_scripts SOURCES ${inFiles}) + foreach(_source IN ITEMS ${inFiles}) + get_filename_component(_source_path "${_source}" PATH) + string(REPLACE "${USER_SCRIPTS_ROOT}/scripts" "" _source_path "${_source_path}") + string(REPLACE "/" "\\" _group_path "${_source_path}") + source_group("${_group_path}" FILES "${_source}") + endforeach() + set_target_properties(blender_python_system_scripts PROPERTIES FOLDER "scripts") + set_target_properties(blender_python_user_scripts PROPERTIES FOLDER "scripts") + # Set the default debugging options for the project, only write this file once so the user + # is free to override them at their own perril. + set(USER_PROPS_FILE "${CMAKE_CURRENT_BINARY_DIR}/source/creator/blender.Cpp.user.props") + if(NOT EXISTS ${USER_PROPS_FILE}) + # Layout below is messy, because otherwise the generated file will look messy. + file(WRITE ${USER_PROPS_FILE} " - - -con --env-system-scripts \"${CMAKE_SOURCE_DIR}/release/scripts\" - + + -con --env-system-scripts \"${CMAKE_SOURCE_DIR}/release/scripts\" + ") - endif() + endif() endif() diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 450f5e64351..3b2a8c172aa 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -26,9 +26,9 @@ remove_strict_flags() # Not a strict flag, but noisy for code we don't maintain if(CMAKE_COMPILER_IS_GNUCC) - remove_cc_flag( - "-Wmisleading-indentation" - ) + remove_cc_flag( + "-Wmisleading-indentation" + ) endif() @@ -36,72 +36,72 @@ add_subdirectory(rangetree) add_subdirectory(wcwidth) if(WITH_BULLET) - if(NOT WITH_SYSTEM_BULLET) - add_subdirectory(bullet2) - endif() + if(NOT WITH_SYSTEM_BULLET) + add_subdirectory(bullet2) + endif() endif() if(WITH_DRACO) - add_subdirectory(draco) + add_subdirectory(draco) endif() # now only available in a branch #if(WITH_MOD_CLOTH_ELTOPO) -# add_subdirectory(eltopo) +# add_subdirectory(eltopo) #endif() if(WITH_BINRELOC) - add_subdirectory(binreloc) + add_subdirectory(binreloc) endif() if(NOT WITH_SYSTEM_GLEW) - if(WITH_GLEW_ES) - add_subdirectory(glew-es) - else() - add_subdirectory(glew) - endif() + if(WITH_GLEW_ES) + add_subdirectory(glew-es) + else() + add_subdirectory(glew) + endif() endif() if(WITH_LZO AND NOT WITH_SYSTEM_LZO) - add_subdirectory(lzo) + add_subdirectory(lzo) endif() if(WITH_LZMA) - add_subdirectory(lzma) + add_subdirectory(lzma) endif() if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV) - add_subdirectory(clew) - if(WITH_CUDA_DYNLOAD) - add_subdirectory(cuew) - endif() + add_subdirectory(clew) + if(WITH_CUDA_DYNLOAD) + add_subdirectory(cuew) + endif() endif() if(WITH_X11 AND WITH_GHOST_XDND) - add_subdirectory(xdnd) + add_subdirectory(xdnd) endif() if(WITH_LIBMV) - add_subdirectory(ceres) + add_subdirectory(ceres) endif() if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING)) - if(NOT WITH_SYSTEM_GFLAGS) - add_subdirectory(gflags) - endif() - add_subdirectory(glog) + if(NOT WITH_SYSTEM_GFLAGS) + add_subdirectory(gflags) + endif() + add_subdirectory(glog) endif() if(WITH_GTESTS) - add_subdirectory(gtest) - add_subdirectory(gmock) + add_subdirectory(gtest) + add_subdirectory(gmock) endif() if(WITH_SDL AND WITH_SDL_DYNLOAD) - add_subdirectory(sdlew) + add_subdirectory(sdlew) endif() if(WITH_AUDASPACE AND NOT WITH_SYSTEM_AUDASPACE) - set(AUDASPACE_CMAKE_CFG ${CMAKE_CURRENT_SOURCE_DIR}/audaspace/blender_config.cmake) - add_subdirectory(audaspace) + set(AUDASPACE_CMAKE_CFG ${CMAKE_CURRENT_SOURCE_DIR}/audaspace/blender_config.cmake) + add_subdirectory(audaspace) endif() diff --git a/extern/audaspace/CMakeLists.txt b/extern/audaspace/CMakeLists.txt index c9f709b8c10..9e7592fd5f4 100644 --- a/extern/audaspace/CMakeLists.txt +++ b/extern/audaspace/CMakeLists.txt @@ -18,7 +18,7 @@ cmake_minimum_required(VERSION 3.0) include(CMakeDependentOption) if(POLICY CMP0054) - cmake_policy(SET CMP0054 NEW) + cmake_policy(SET CMP0054 NEW) endif() project(audaspace) @@ -27,223 +27,223 @@ set(AUDASPACE_VERSION 1.3) set(AUDASPACE_LONG_VERSION ${AUDASPACE_VERSION}.0) if(DEFINED AUDASPACE_CMAKE_CFG) - include(${AUDASPACE_CMAKE_CFG}) + include(${AUDASPACE_CMAKE_CFG}) endif() if(NOT DEFINED AUDASPACE_STANDALONE) - set(AUDASPACE_STANDALONE TRUE) + set(AUDASPACE_STANDALONE TRUE) endif() # sources set(SRC - src/devices/DefaultSynchronizer.cpp - src/devices/DeviceManager.cpp - src/devices/NULLDevice.cpp - src/devices/ReadDevice.cpp - src/devices/SoftwareDevice.cpp - src/Exception.cpp - src/file/File.cpp - src/file/FileManager.cpp - src/file/FileWriter.cpp - src/fx/Accumulator.cpp - src/fx/ADSR.cpp - src/fx/ADSRReader.cpp - src/fx/BaseIIRFilterReader.cpp - src/fx/ButterworthCalculator.cpp - src/fx/Butterworth.cpp - src/fx/CallbackIIRFilterReader.cpp - src/fx/Delay.cpp - src/fx/DelayReader.cpp - src/fx/DynamicIIRFilter.cpp - src/fx/DynamicIIRFilterReader.cpp - src/fx/DynamicMusic.cpp - src/fx/Effect.cpp - src/fx/EffectReader.cpp - src/fx/Envelope.cpp - src/fx/Fader.cpp - src/fx/FaderReader.cpp - src/fx/HighpassCalculator.cpp - src/fx/Highpass.cpp - src/fx/IIRFilter.cpp - src/fx/IIRFilterReader.cpp - src/fx/Limiter.cpp - src/fx/LimiterReader.cpp - src/fx/Loop.cpp - src/fx/LoopReader.cpp - src/fx/LowpassCalculator.cpp - src/fx/Lowpass.cpp - src/fx/Modulator.cpp - src/fx/ModulatorReader.cpp - src/fx/MutableReader.cpp - src/fx/MutableSound.cpp - src/fx/Pitch.cpp - src/fx/PitchReader.cpp - src/fx/PlaybackManager.cpp - src/fx/PlaybackCategory.cpp - src/fx/Reverse.cpp - src/fx/ReverseReader.cpp - src/fx/SoundList.cpp - src/fx/Source.cpp - src/fx/Sum.cpp - src/fx/Threshold.cpp - src/fx/Volume.cpp - src/fx/VolumeReader.cpp - src/fx/VolumeSound.cpp - src/fx/VolumeStorage.cpp - src/generator/Sawtooth.cpp - src/generator/SawtoothReader.cpp - src/generator/Silence.cpp - src/generator/SilenceReader.cpp - src/generator/Sine.cpp - src/generator/SineReader.cpp - src/generator/Square.cpp - src/generator/SquareReader.cpp - src/generator/Triangle.cpp - src/generator/TriangleReader.cpp - src/respec/ChannelMapper.cpp - src/respec/ChannelMapperReader.cpp - src/respec/Converter.cpp - src/respec/ConverterFunctions.cpp - src/respec/ConverterReader.cpp - src/respec/JOSResample.cpp - src/respec/JOSResampleReaderCoeff.cpp - src/respec/JOSResampleReader.cpp - src/respec/LinearResample.cpp - src/respec/LinearResampleReader.cpp - src/respec/Mixer.cpp - src/respec/ResampleReader.cpp - src/respec/SpecsChanger.cpp - src/sequence/AnimateableProperty.cpp - src/sequence/Double.cpp - src/sequence/DoubleReader.cpp - src/sequence/PingPong.cpp - src/sequence/Sequence.cpp - src/sequence/SequenceData.cpp - src/sequence/SequenceEntry.cpp - src/sequence/SequenceHandle.cpp - src/sequence/SequenceReader.cpp - src/sequence/Superpose.cpp - src/sequence/SuperposeReader.cpp - src/util/Barrier.cpp - src/util/Buffer.cpp - src/util/BufferReader.cpp - src/util/StreamBuffer.cpp - src/util/ThreadPool.cpp + src/devices/DefaultSynchronizer.cpp + src/devices/DeviceManager.cpp + src/devices/NULLDevice.cpp + src/devices/ReadDevice.cpp + src/devices/SoftwareDevice.cpp + src/Exception.cpp + src/file/File.cpp + src/file/FileManager.cpp + src/file/FileWriter.cpp + src/fx/Accumulator.cpp + src/fx/ADSR.cpp + src/fx/ADSRReader.cpp + src/fx/BaseIIRFilterReader.cpp + src/fx/ButterworthCalculator.cpp + src/fx/Butterworth.cpp + src/fx/CallbackIIRFilterReader.cpp + src/fx/Delay.cpp + src/fx/DelayReader.cpp + src/fx/DynamicIIRFilter.cpp + src/fx/DynamicIIRFilterReader.cpp + src/fx/DynamicMusic.cpp + src/fx/Effect.cpp + src/fx/EffectReader.cpp + src/fx/Envelope.cpp + src/fx/Fader.cpp + src/fx/FaderReader.cpp + src/fx/HighpassCalculator.cpp + src/fx/Highpass.cpp + src/fx/IIRFilter.cpp + src/fx/IIRFilterReader.cpp + src/fx/Limiter.cpp + src/fx/LimiterReader.cpp + src/fx/Loop.cpp + src/fx/LoopReader.cpp + src/fx/LowpassCalculator.cpp + src/fx/Lowpass.cpp + src/fx/Modulator.cpp + src/fx/ModulatorReader.cpp + src/fx/MutableReader.cpp + src/fx/MutableSound.cpp + src/fx/Pitch.cpp + src/fx/PitchReader.cpp + src/fx/PlaybackManager.cpp + src/fx/PlaybackCategory.cpp + src/fx/Reverse.cpp + src/fx/ReverseReader.cpp + src/fx/SoundList.cpp + src/fx/Source.cpp + src/fx/Sum.cpp + src/fx/Threshold.cpp + src/fx/Volume.cpp + src/fx/VolumeReader.cpp + src/fx/VolumeSound.cpp + src/fx/VolumeStorage.cpp + src/generator/Sawtooth.cpp + src/generator/SawtoothReader.cpp + src/generator/Silence.cpp + src/generator/SilenceReader.cpp + src/generator/Sine.cpp + src/generator/SineReader.cpp + src/generator/Square.cpp + src/generator/SquareReader.cpp + src/generator/Triangle.cpp + src/generator/TriangleReader.cpp + src/respec/ChannelMapper.cpp + src/respec/ChannelMapperReader.cpp + src/respec/Converter.cpp + src/respec/ConverterFunctions.cpp + src/respec/ConverterReader.cpp + src/respec/JOSResample.cpp + src/respec/JOSResampleReaderCoeff.cpp + src/respec/JOSResampleReader.cpp + src/respec/LinearResample.cpp + src/respec/LinearResampleReader.cpp + src/respec/Mixer.cpp + src/respec/ResampleReader.cpp + src/respec/SpecsChanger.cpp + src/sequence/AnimateableProperty.cpp + src/sequence/Double.cpp + src/sequence/DoubleReader.cpp + src/sequence/PingPong.cpp + src/sequence/Sequence.cpp + src/sequence/SequenceData.cpp + src/sequence/SequenceEntry.cpp + src/sequence/SequenceHandle.cpp + src/sequence/SequenceReader.cpp + src/sequence/Superpose.cpp + src/sequence/SuperposeReader.cpp + src/util/Barrier.cpp + src/util/Buffer.cpp + src/util/BufferReader.cpp + src/util/StreamBuffer.cpp + src/util/ThreadPool.cpp ) set(PRIVATE_HDR - src/sequence/SequenceHandle.h + src/sequence/SequenceHandle.h ) set(PUBLIC_HDR - include/devices/DefaultSynchronizer.h - include/devices/DeviceManager.h - include/devices/I3DDevice.h - include/devices/I3DHandle.h - include/devices/IDeviceFactory.h - include/devices/IDevice.h - include/devices/IHandle.h - include/devices/ISynchronizer.h - include/devices/NULLDevice.h - include/devices/ReadDevice.h - include/devices/SoftwareDevice.h - include/Exception.h - include/file/File.h - include/file/FileManager.h - include/file/FileWriter.h - include/file/IFileInput.h - include/file/IFileOutput.h - include/file/IWriter.h - include/fx/Accumulator.h - include/fx/ADSR.h - include/fx/ADSRReader.h - include/fx/BaseIIRFilterReader.h - include/fx/ButterworthCalculator.h - include/fx/Butterworth.h - include/fx/CallbackIIRFilterReader.h - include/fx/Delay.h - include/fx/DelayReader.h - include/fx/DynamicIIRFilter.h - include/fx/DynamicIIRFilterReader.h - include/fx/DynamicMusic.h - include/fx/Effect.h - include/fx/EffectReader.h - include/fx/Envelope.h - include/fx/Fader.h - include/fx/FaderReader.h - include/fx/HighpassCalculator.h - include/fx/Highpass.h - include/fx/IDynamicIIRFilterCalculator.h - include/fx/IIRFilter.h - include/fx/IIRFilterReader.h - include/fx/Limiter.h - include/fx/LimiterReader.h - include/fx/Loop.h - include/fx/LoopReader.h - include/fx/LowpassCalculator.h - include/fx/Lowpass.h - include/fx/Modulator.h - include/fx/ModulatorReader.h - include/fx/MutableReader.h - include/fx/MutableSound.h - include/fx/Pitch.h - include/fx/PitchReader.h - include/fx/PlaybackManager.h - include/fx/PlaybackCategory.h - include/fx/Reverse.h - include/fx/ReverseReader.h - include/fx/SoundList.h - include/fx/Source.h - include/fx/Sum.h - include/fx/Threshold.h - include/fx/Volume.h - include/fx/VolumeReader.h - include/fx/VolumeSound.h - include/fx/VolumeStorage.h - include/generator/Sawtooth.h - include/generator/SawtoothReader.h - include/generator/Silence.h - include/generator/SilenceReader.h - include/generator/Sine.h - include/generator/SineReader.h - include/generator/Square.h - include/generator/SquareReader.h - include/generator/Triangle.h - include/generator/TriangleReader.h - include/IReader.h - include/ISound.h - include/plugin/PluginManager.h - include/respec/ChannelMapper.h - include/respec/ChannelMapperReader.h - include/respec/ConverterFunctions.h - include/respec/Converter.h - include/respec/ConverterReader.h - include/respec/JOSResample.h - include/respec/JOSResampleReader.h - include/respec/LinearResample.h - include/respec/LinearResampleReader.h - include/respec/Mixer.h - include/respec/ResampleReader.h - include/respec/Specification.h - include/respec/SpecsChanger.h - include/sequence/AnimateableProperty.h - include/sequence/Double.h - include/sequence/DoubleReader.h - include/sequence/PingPong.h - include/sequence/SequenceData.h - include/sequence/SequenceEntry.h - include/sequence/Sequence.h - include/sequence/SequenceReader.h - include/sequence/Superpose.h - include/sequence/SuperposeReader.h - include/util/Barrier.h - include/util/Buffer.h - include/util/BufferReader.h - include/util/ILockable.h - include/util/Math3D.h - include/util/StreamBuffer.h - include/util/ThreadPool.h + include/devices/DefaultSynchronizer.h + include/devices/DeviceManager.h + include/devices/I3DDevice.h + include/devices/I3DHandle.h + include/devices/IDeviceFactory.h + include/devices/IDevice.h + include/devices/IHandle.h + include/devices/ISynchronizer.h + include/devices/NULLDevice.h + include/devices/ReadDevice.h + include/devices/SoftwareDevice.h + include/Exception.h + include/file/File.h + include/file/FileManager.h + include/file/FileWriter.h + include/file/IFileInput.h + include/file/IFileOutput.h + include/file/IWriter.h + include/fx/Accumulator.h + include/fx/ADSR.h + include/fx/ADSRReader.h + include/fx/BaseIIRFilterReader.h + include/fx/ButterworthCalculator.h + include/fx/Butterworth.h + include/fx/CallbackIIRFilterReader.h + include/fx/Delay.h + include/fx/DelayReader.h + include/fx/DynamicIIRFilter.h + include/fx/DynamicIIRFilterReader.h + include/fx/DynamicMusic.h + include/fx/Effect.h + include/fx/EffectReader.h + include/fx/Envelope.h + include/fx/Fader.h + include/fx/FaderReader.h + include/fx/HighpassCalculator.h + include/fx/Highpass.h + include/fx/IDynamicIIRFilterCalculator.h + include/fx/IIRFilter.h + include/fx/IIRFilterReader.h + include/fx/Limiter.h + include/fx/LimiterReader.h + include/fx/Loop.h + include/fx/LoopReader.h + include/fx/LowpassCalculator.h + include/fx/Lowpass.h + include/fx/Modulator.h + include/fx/ModulatorReader.h + include/fx/MutableReader.h + include/fx/MutableSound.h + include/fx/Pitch.h + include/fx/PitchReader.h + include/fx/PlaybackManager.h + include/fx/PlaybackCategory.h + include/fx/Reverse.h + include/fx/ReverseReader.h + include/fx/SoundList.h + include/fx/Source.h + include/fx/Sum.h + include/fx/Threshold.h + include/fx/Volume.h + include/fx/VolumeReader.h + include/fx/VolumeSound.h + include/fx/VolumeStorage.h + include/generator/Sawtooth.h + include/generator/SawtoothReader.h + include/generator/Silence.h + include/generator/SilenceReader.h + include/generator/Sine.h + include/generator/SineReader.h + include/generator/Square.h + include/generator/SquareReader.h + include/generator/Triangle.h + include/generator/TriangleReader.h + include/IReader.h + include/ISound.h + include/plugin/PluginManager.h + include/respec/ChannelMapper.h + include/respec/ChannelMapperReader.h + include/respec/ConverterFunctions.h + include/respec/Converter.h + include/respec/ConverterReader.h + include/respec/JOSResample.h + include/respec/JOSResampleReader.h + include/respec/LinearResample.h + include/respec/LinearResampleReader.h + include/respec/Mixer.h + include/respec/ResampleReader.h + include/respec/Specification.h + include/respec/SpecsChanger.h + include/sequence/AnimateableProperty.h + include/sequence/Double.h + include/sequence/DoubleReader.h + include/sequence/PingPong.h + include/sequence/SequenceData.h + include/sequence/SequenceEntry.h + include/sequence/Sequence.h + include/sequence/SequenceReader.h + include/sequence/Superpose.h + include/sequence/SuperposeReader.h + include/util/Barrier.h + include/util/Buffer.h + include/util/BufferReader.h + include/util/ILockable.h + include/util/Math3D.h + include/util/StreamBuffer.h + include/util/ThreadPool.h ) set(HDR ${PRIVATE_HDR} ${PUBLIC_HDR}) @@ -251,15 +251,15 @@ set(HDR ${PRIVATE_HDR} ${PUBLIC_HDR}) set(INCLUDE ${CMAKE_CURRENT_BINARY_DIR} include) if(WIN32) - set(LIBRARIES) - if(AUDASPACE_STANDALONE) - set(DLLS) - set(LIBRARY_PATH "../lib" CACHE PATH "Path which contains the libraries.") - file(GLOB LIBRARY_DIRS ${LIBRARY_PATH}/*) - list(APPEND CMAKE_PREFIX_PATH ${LIBRARY_DIRS}) - endif() + set(LIBRARIES) + if(AUDASPACE_STANDALONE) + set(DLLS) + set(LIBRARY_PATH "../lib" CACHE PATH "Path which contains the libraries.") + file(GLOB LIBRARY_DIRS ${LIBRARY_PATH}/*) + list(APPEND CMAKE_PREFIX_PATH ${LIBRARY_DIRS}) + endif() else() - set(LIBRARIES ${CMAKE_DL_LIBS} -lpthread) + set(LIBRARIES ${CMAKE_DL_LIBS} -lpthread) endif() set(STATIC_PLUGINS "") @@ -267,418 +267,418 @@ set(STATIC_PLUGINS "") # dependencies if(AUDASPACE_STANDALONE) - set(PACKAGE_OPTION QUIET) - list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") + set(PACKAGE_OPTION QUIET) + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") - option(BUILD_DEMOS "Build and install demos" TRUE) + option(BUILD_DEMOS "Build and install demos" TRUE) - option(SHARED_LIBRARY "Build Shared Library" TRUE) + option(SHARED_LIBRARY "Build Shared Library" TRUE) - option(WITH_C "Build C Module" TRUE) - option(WITH_DOCS "Build C++ HTML Documentation with Doxygen" TRUE) - option(WITH_FFMPEG "Build With FFMPEG" TRUE) - option(WITH_FFTW "Build With FFTW" TRUE) - option(WITH_JACK "Build With Plugin" TRUE) - option(WITH_LIBSNDFILE "Build With LibSndFile" TRUE) - option(WITH_OPENAL "Build With OpenAL" TRUE) - option(WITH_PYTHON "Build With Python Library" TRUE) - option(WITH_SDL "Build With SDL" TRUE) - option(WITH_STRICT_DEPENDENCIES "Error and abort instead of warning if a library is not found." FALSE) + option(WITH_C "Build C Module" TRUE) + option(WITH_DOCS "Build C++ HTML Documentation with Doxygen" TRUE) + option(WITH_FFMPEG "Build With FFMPEG" TRUE) + option(WITH_FFTW "Build With FFTW" TRUE) + option(WITH_JACK "Build With Plugin" TRUE) + option(WITH_LIBSNDFILE "Build With LibSndFile" TRUE) + option(WITH_OPENAL "Build With OpenAL" TRUE) + option(WITH_PYTHON "Build With Python Library" TRUE) + option(WITH_SDL "Build With SDL" TRUE) + option(WITH_STRICT_DEPENDENCIES "Error and abort instead of warning if a library is not found." FALSE) - if(WITH_STRICT_DEPENDENCIES) - set(PACKAGE_OPTION REQUIRED) - endif() + if(WITH_STRICT_DEPENDENCIES) + set(PACKAGE_OPTION REQUIRED) + endif() endif() if(WIN32) - set(DEFAULT_PLUGIN_PATH "." CACHE STRING "Default plugin installation and loading path.") - set(DOCUMENTATION_INSTALL_PATH "doc" CACHE PATH "Path where the documentation is installed.") + set(DEFAULT_PLUGIN_PATH "." CACHE STRING "Default plugin installation and loading path.") + set(DOCUMENTATION_INSTALL_PATH "doc" CACHE PATH "Path where the documentation is installed.") else() - set(DEFAULT_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/share/audaspace/plugins" CACHE STRING "Default plugin installation and loading path.") - set(DOCUMENTATION_INSTALL_PATH "share/doc/audaspace" CACHE PATH "Path where the documentation is installed.") + set(DEFAULT_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/share/audaspace/plugins" CACHE STRING "Default plugin installation and loading path.") + set(DOCUMENTATION_INSTALL_PATH "share/doc/audaspace" CACHE PATH "Path where the documentation is installed.") endif() if(AUDASPACE_STANDALONE) - cmake_dependent_option(SEPARATE_C "Build C Binding as separate library" TRUE "WITH_C" FALSE) - cmake_dependent_option(PLUGIN_FFMPEG "Build FFMPEG Plugin" TRUE "WITH_FFMPEG;SHARED_LIBRARY" FALSE) - cmake_dependent_option(PLUGIN_JACK "Build JACK Plugin" TRUE "WITH_JACK;SHARED_LIBRARY" FALSE) - cmake_dependent_option(PLUGIN_LIBSNDFILE "Build LibSndFile Plugin" TRUE "WITH_LIBSNDFILE;SHARED_LIBRARY" FALSE) - cmake_dependent_option(PLUGIN_OPENAL "Build OpenAL Plugin" TRUE "WITH_OPENAL;SHARED_LIBRARY" FALSE) - cmake_dependent_option(PLUGIN_SDL "Build SDL Plugin" TRUE "WITH_SDL;SHARED_LIBRARY" FALSE) - cmake_dependent_option(WITH_PYTHON_MODULE "Build Python Module" TRUE "WITH_PYTHON" FALSE) - cmake_dependent_option(USE_SDL2 "Use SDL2 instead of 1 if available" TRUE "WITH_SDL" FALSE) - cmake_dependent_option(DYNLOAD_JACK "Dynamically load JACK" FALSE "WITH_JACK" FALSE) - cmake_dependent_option(WITH_BINDING_DOCS "Build C/Python HTML Documentation with Sphinx" TRUE "WITH_PYTHON_MODULE" FALSE) + cmake_dependent_option(SEPARATE_C "Build C Binding as separate library" TRUE "WITH_C" FALSE) + cmake_dependent_option(PLUGIN_FFMPEG "Build FFMPEG Plugin" TRUE "WITH_FFMPEG;SHARED_LIBRARY" FALSE) + cmake_dependent_option(PLUGIN_JACK "Build JACK Plugin" TRUE "WITH_JACK;SHARED_LIBRARY" FALSE) + cmake_dependent_option(PLUGIN_LIBSNDFILE "Build LibSndFile Plugin" TRUE "WITH_LIBSNDFILE;SHARED_LIBRARY" FALSE) + cmake_dependent_option(PLUGIN_OPENAL "Build OpenAL Plugin" TRUE "WITH_OPENAL;SHARED_LIBRARY" FALSE) + cmake_dependent_option(PLUGIN_SDL "Build SDL Plugin" TRUE "WITH_SDL;SHARED_LIBRARY" FALSE) + cmake_dependent_option(WITH_PYTHON_MODULE "Build Python Module" TRUE "WITH_PYTHON" FALSE) + cmake_dependent_option(USE_SDL2 "Use SDL2 instead of 1 if available" TRUE "WITH_SDL" FALSE) + cmake_dependent_option(DYNLOAD_JACK "Dynamically load JACK" FALSE "WITH_JACK" FALSE) + cmake_dependent_option(WITH_BINDING_DOCS "Build C/Python HTML Documentation with Sphinx" TRUE "WITH_PYTHON_MODULE" FALSE) endif() # compiler options if(AUDASPACE_STANDALONE) - if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - add_definitions(-std=c++11) - list(APPEND CMAKE_C_COMPILER_FLAGS "-fvisibility=hidden") - list(APPEND CMAKE_CXX_COMPILER_FLAGS "-fvisibility=hidden") - endif() + if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + add_definitions(-std=c++11) + list(APPEND CMAKE_C_COMPILER_FLAGS "-fvisibility=hidden") + list(APPEND CMAKE_CXX_COMPILER_FLAGS "-fvisibility=hidden") + endif() - if(MSVC) - list(APPEND CMAKE_C_FLAGS_DEBUG "/Zi /Od") - list(APPEND CMAKE_CXX_FLAGS_DEBUG "/Zi /Od") - list(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG "/DEBUG") - list(APPEND CMAKE_STATIC_LINKER_FLAGS_DEBUG "/DEBUG") - list(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG") + if(MSVC) + list(APPEND CMAKE_C_FLAGS_DEBUG "/Zi /Od") + list(APPEND CMAKE_CXX_FLAGS_DEBUG "/Zi /Od") + list(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG "/DEBUG") + list(APPEND CMAKE_STATIC_LINKER_FLAGS_DEBUG "/DEBUG") + list(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG") - if(SHARED_LIBRARY) - include(GenerateExportHeader) - endif() - endif() + if(SHARED_LIBRARY) + include(GenerateExportHeader) + endif() + endif() - if(APPLE AND NOT CMAKE_OSX_DEPLOYMENT_TARGET) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) - endif() + if(APPLE AND NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE) + endif() endif() if(MSVC) - add_definitions( - /D_USE_MATH_DEFINES - /EHsc - /DNOMINMAX - /D_STDINT_H - ) + add_definitions( + /D_USE_MATH_DEFINES + /EHsc + /DNOMINMAX + /D_STDINT_H + ) endif() # platform specific options if(MSYS OR MINGW) - add_definitions(-D_USE_MATH_DEFINES) + add_definitions(-D_USE_MATH_DEFINES) endif() # C if(WITH_C) - set(C_SRC - bindings/C/AUD_ThreadPool.cpp - bindings/C/AUD_Source.cpp - bindings/C/AUD_Device.cpp - bindings/C/AUD_DynamicMusic.cpp - bindings/C/AUD_Handle.cpp - bindings/C/AUD_PlaybackManager.cpp - bindings/C/AUD_Sequence.cpp - bindings/C/AUD_Sound.cpp - bindings/C/AUD_Special.cpp - ) - set(C_HDR - bindings/C/AUD_ThreadPool.h - bindings/C/AUD_Source.h - bindings/C/AUD_Device.h - bindings/C/AUD_DynamicMusic.h - bindings/C/AUD_Handle.h - bindings/C/AUD_PlaybackManager.h - bindings/C/AUD_Sequence.h - bindings/C/AUD_Sound.h - bindings/C/AUD_Special.h - bindings/C/AUD_Types.h - ) + set(C_SRC + bindings/C/AUD_ThreadPool.cpp + bindings/C/AUD_Source.cpp + bindings/C/AUD_Device.cpp + bindings/C/AUD_DynamicMusic.cpp + bindings/C/AUD_Handle.cpp + bindings/C/AUD_PlaybackManager.cpp + bindings/C/AUD_Sequence.cpp + bindings/C/AUD_Sound.cpp + bindings/C/AUD_Special.cpp + ) + set(C_HDR + bindings/C/AUD_ThreadPool.h + bindings/C/AUD_Source.h + bindings/C/AUD_Device.h + bindings/C/AUD_DynamicMusic.h + bindings/C/AUD_Handle.h + bindings/C/AUD_PlaybackManager.h + bindings/C/AUD_Sequence.h + bindings/C/AUD_Sound.h + bindings/C/AUD_Special.h + bindings/C/AUD_Types.h + ) if(WITH_FFTW) - list(APPEND C_SRC - bindings/C/AUD_HRTF.cpp - bindings/C/AUD_ImpulseResponse.cpp - ) + list(APPEND C_SRC + bindings/C/AUD_HRTF.cpp + bindings/C/AUD_ImpulseResponse.cpp + ) - list(APPEND C_HDR - bindings/C/AUD_HRTF.h - bindings/C/AUD_ImpulseResponse.h - ) - endif() + list(APPEND C_HDR + bindings/C/AUD_HRTF.h + bindings/C/AUD_ImpulseResponse.h + ) + endif() - if(NOT SEPARATE_C) - list(APPEND SRC ${C_SRC}) - list(APPEND HDR ${C_HDR}) - else() - set(AUDASPACE_C_LIBRARY -laudaspace-c) - endif() + if(NOT SEPARATE_C) + list(APPEND SRC ${C_SRC}) + list(APPEND HDR ${C_HDR}) + else() + set(AUDASPACE_C_LIBRARY -laudaspace-c) + endif() endif() # FFMPEG if(WITH_FFMPEG) - if(AUDASPACE_STANDALONE) - find_package(FFMPEG ${PACKAGE_OPTION}) - endif() + if(AUDASPACE_STANDALONE) + find_package(FFMPEG ${PACKAGE_OPTION}) + endif() - if(FFMPEG_FOUND) - set(FFMPEG_SRC - plugins/ffmpeg/FFMPEG.cpp - plugins/ffmpeg/FFMPEGReader.cpp - plugins/ffmpeg/FFMPEGWriter.cpp - ) - set(FFMPEG_HDR - plugins/ffmpeg/FFMPEG.h - plugins/ffmpeg/FFMPEGReader.h - plugins/ffmpeg/FFMPEGWriter.h - ) + if(FFMPEG_FOUND) + set(FFMPEG_SRC + plugins/ffmpeg/FFMPEG.cpp + plugins/ffmpeg/FFMPEGReader.cpp + plugins/ffmpeg/FFMPEGWriter.cpp + ) + set(FFMPEG_HDR + plugins/ffmpeg/FFMPEG.h + plugins/ffmpeg/FFMPEGReader.h + plugins/ffmpeg/FFMPEGWriter.h + ) - if(NOT PLUGIN_FFMPEG) - list(APPEND INCLUDE ${FFMPEG_INCLUDE_DIRS}) - list(APPEND LIBRARIES ${FFMPEG_LIBRARIES}) - list(APPEND SRC ${FFMPEG_SRC}) - list(APPEND HDR ${FFMPEG_HDR}) - list(APPEND STATIC_PLUGINS FFMPEG) - endif() + if(NOT PLUGIN_FFMPEG) + list(APPEND INCLUDE ${FFMPEG_INCLUDE_DIRS}) + list(APPEND LIBRARIES ${FFMPEG_LIBRARIES}) + list(APPEND SRC ${FFMPEG_SRC}) + list(APPEND HDR ${FFMPEG_HDR}) + list(APPEND STATIC_PLUGINS FFMPEG) + endif() - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB FFMPEG_DLLS ${LIBRARY_PATH}/ffmpeg/bin/*.dll) - list(APPEND DLLS ${FFMPEG_DLLS}) - endif() - else() - set(WITH_FFMPEG FALSE CACHE BOOL "Build With FFMPEG" FORCE) - message(WARNING "FFMPEG not found, plugin will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB FFMPEG_DLLS ${LIBRARY_PATH}/ffmpeg/bin/*.dll) + list(APPEND DLLS ${FFMPEG_DLLS}) + endif() + else() + set(WITH_FFMPEG FALSE CACHE BOOL "Build With FFMPEG" FORCE) + message(WARNING "FFMPEG not found, plugin will not be built.") + endif() endif() # FFTW if(WITH_FFTW) - if(AUDASPACE_STANDALONE) - find_package(FFTW ${PACKAGE_OPTION}) - endif() + if(AUDASPACE_STANDALONE) + find_package(FFTW ${PACKAGE_OPTION}) + endif() - if(FFTW_FOUND) - set(FFTW_SRC - src/fx/BinauralSound.cpp - src/fx/BinauralReader.cpp - src/fx/Convolver.cpp - src/fx/ConvolverReader.cpp - src/fx/ConvolverSound.cpp - src/fx/FFTConvolver.cpp - src/fx/HRTF.cpp - src/fx/ImpulseResponse.cpp - src/util/FFTPlan.cpp - ) - set(FFTW_HDR - include/fx/BinauralSound.h - include/fx/BinauralReader.h - include/fx/Convolver.h - include/fx/ConvolverReader.h - include/fx/ConvolverSound.h - include/fx/FFTConvolver.h - include/fx/HRTF.h - include/fx/HRTFLoader.h - include/fx/ImpulseResponse.h - include/util/FFTPlan.h - ) + if(FFTW_FOUND) + set(FFTW_SRC + src/fx/BinauralSound.cpp + src/fx/BinauralReader.cpp + src/fx/Convolver.cpp + src/fx/ConvolverReader.cpp + src/fx/ConvolverSound.cpp + src/fx/FFTConvolver.cpp + src/fx/HRTF.cpp + src/fx/ImpulseResponse.cpp + src/util/FFTPlan.cpp + ) + set(FFTW_HDR + include/fx/BinauralSound.h + include/fx/BinauralReader.h + include/fx/Convolver.h + include/fx/ConvolverReader.h + include/fx/ConvolverSound.h + include/fx/FFTConvolver.h + include/fx/HRTF.h + include/fx/HRTFLoader.h + include/fx/ImpulseResponse.h + include/util/FFTPlan.h + ) - add_definitions(-DWITH_CONVOLUTION) + add_definitions(-DWITH_CONVOLUTION) - list(APPEND INCLUDE ${FFTW_INCLUDE_DIR}) - list(APPEND LIBRARIES ${FFTW_LIBRARY}) + list(APPEND INCLUDE ${FFTW_INCLUDE_DIR}) + list(APPEND LIBRARIES ${FFTW_LIBRARY}) - list(APPEND SRC ${FFTW_SRC}) - list(APPEND HDR ${FFTW_HDR}) + list(APPEND SRC ${FFTW_SRC}) + list(APPEND HDR ${FFTW_HDR}) - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB FFTW_DLLS ${LIBRARY_PATH}/fftw/bin/*.dll) - list(APPEND DLLS ${FFTW_DLLS}) - endif() - else() - set(WITH_FFTW FALSE CACHE BOOL "Build With FFTW" FORCE) - message(WARNING "FFTW not found, convolution functionality will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB FFTW_DLLS ${LIBRARY_PATH}/fftw/bin/*.dll) + list(APPEND DLLS ${FFTW_DLLS}) + endif() + else() + set(WITH_FFTW FALSE CACHE BOOL "Build With FFTW" FORCE) + message(WARNING "FFTW not found, convolution functionality will not be built.") + endif() endif() # JACK if(WITH_JACK) - if(AUDASPACE_STANDALONE) - find_package(Jack ${PACKAGE_OPTION}) - endif() + if(AUDASPACE_STANDALONE) + find_package(Jack ${PACKAGE_OPTION}) + endif() - if(JACK_FOUND) - set(JACK_SRC - plugins/jack/JackDevice.cpp - plugins/jack/JackSynchronizer.cpp - plugins/jack/JackLibrary.cpp - ) - set(JACK_HDR - plugins/jack/JackDevice.h - plugins/jack/JackSynchronizer.h - plugins/jack/JackLibrary.h - plugins/jack/JackSymbols.h - ) + if(JACK_FOUND) + set(JACK_SRC + plugins/jack/JackDevice.cpp + plugins/jack/JackSynchronizer.cpp + plugins/jack/JackLibrary.cpp + ) + set(JACK_HDR + plugins/jack/JackDevice.h + plugins/jack/JackSynchronizer.h + plugins/jack/JackLibrary.h + plugins/jack/JackSymbols.h + ) - if(DYNLOAD_JACK) - add_definitions(-DDYNLOAD_JACK) - endif() + if(DYNLOAD_JACK) + add_definitions(-DDYNLOAD_JACK) + endif() - if(NOT PLUGIN_JACK) - list(APPEND INCLUDE ${JACK_INCLUDE_DIRS}) - if(NOT DYNLOAD_JACK) - list(APPEND LIBRARIES ${JACK_LIBRARIES}) - endif() - list(APPEND SRC ${JACK_SRC}) - list(APPEND HDR ${JACK_HDR}) - list(APPEND STATIC_PLUGINS JackDevice) - endif() + if(NOT PLUGIN_JACK) + list(APPEND INCLUDE ${JACK_INCLUDE_DIRS}) + if(NOT DYNLOAD_JACK) + list(APPEND LIBRARIES ${JACK_LIBRARIES}) + endif() + list(APPEND SRC ${JACK_SRC}) + list(APPEND HDR ${JACK_HDR}) + list(APPEND STATIC_PLUGINS JackDevice) + endif() - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB JACK_DLLS ${LIBRARY_PATH}/jack/bin/*.dll) - list(APPEND DLLS ${JACK_DLLS}) - endif() - else() - set(WITH_JACK FALSE CACHE BOOL "Build With JACK" FORCE) - message(WARNING "JACK not found, plugin will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB JACK_DLLS ${LIBRARY_PATH}/jack/bin/*.dll) + list(APPEND DLLS ${JACK_DLLS}) + endif() + else() + set(WITH_JACK FALSE CACHE BOOL "Build With JACK" FORCE) + message(WARNING "JACK not found, plugin will not be built.") + endif() endif() # LibSndFile if(WITH_LIBSNDFILE) - if(AUDASPACE_STANDALONE) - find_package(LibSndFile ${PACKAGE_OPTION}) - endif() + if(AUDASPACE_STANDALONE) + find_package(LibSndFile ${PACKAGE_OPTION}) + endif() - if(LIBSNDFILE_FOUND) - set(LIBSNDFILE_SRC - plugins/libsndfile/SndFile.cpp - plugins/libsndfile/SndFileReader.cpp - plugins/libsndfile/SndFileWriter.cpp - ) - set(LIBSNDFILE_HDR - plugins/libsndfile/SndFile.h - plugins/libsndfile/SndFileReader.h - plugins/libsndfile/SndFileWriter.h - ) + if(LIBSNDFILE_FOUND) + set(LIBSNDFILE_SRC + plugins/libsndfile/SndFile.cpp + plugins/libsndfile/SndFileReader.cpp + plugins/libsndfile/SndFileWriter.cpp + ) + set(LIBSNDFILE_HDR + plugins/libsndfile/SndFile.h + plugins/libsndfile/SndFileReader.h + plugins/libsndfile/SndFileWriter.h + ) - if(NOT PLUGIN_LIBSNDFILE) - list(APPEND INCLUDE ${LIBSNDFILE_INCLUDE_DIRS}) - list(APPEND LIBRARIES ${LIBSNDFILE_LIBRARIES}) - list(APPEND SRC ${LIBSNDFILE_SRC}) - list(APPEND HDR ${LIBSNDFILE_HDR}) - list(APPEND STATIC_PLUGINS SndFile) - endif() + if(NOT PLUGIN_LIBSNDFILE) + list(APPEND INCLUDE ${LIBSNDFILE_INCLUDE_DIRS}) + list(APPEND LIBRARIES ${LIBSNDFILE_LIBRARIES}) + list(APPEND SRC ${LIBSNDFILE_SRC}) + list(APPEND HDR ${LIBSNDFILE_HDR}) + list(APPEND STATIC_PLUGINS SndFile) + endif() - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB LIBSNDFILE_DLLS ${LIBRARY_PATH}/libsndfile/bin/*.dll) - list(APPEND DLLS ${LIBSNDFILE_DLLS}) - endif() - else() - set(WITH_LIBSNDFILE FALSE CACHE BOOL "Build With LibSndFile" FORCE) - message(WARNING "LibSndFile not found, plugin will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB LIBSNDFILE_DLLS ${LIBRARY_PATH}/libsndfile/bin/*.dll) + list(APPEND DLLS ${LIBSNDFILE_DLLS}) + endif() + else() + set(WITH_LIBSNDFILE FALSE CACHE BOOL "Build With LibSndFile" FORCE) + message(WARNING "LibSndFile not found, plugin will not be built.") + endif() endif() # OpenAL if(WITH_OPENAL) - if(AUDASPACE_STANDALONE) - find_package(OpenAL ${PACKAGE_OPTION}) - endif() + if(AUDASPACE_STANDALONE) + find_package(OpenAL ${PACKAGE_OPTION}) + endif() - if(OPENAL_FOUND) - set(OPENAL_SRC - plugins/openal/OpenALDevice.cpp - plugins/openal/OpenALReader.cpp - ) - set(OPENAL_HDR - plugins/openal/OpenALDevice.h - plugins/openal/OpenALReader.h - ) + if(OPENAL_FOUND) + set(OPENAL_SRC + plugins/openal/OpenALDevice.cpp + plugins/openal/OpenALReader.cpp + ) + set(OPENAL_HDR + plugins/openal/OpenALDevice.h + plugins/openal/OpenALReader.h + ) - if(NOT PLUGIN_OPENAL) - list(APPEND INCLUDE ${OPENAL_INCLUDE_DIR}) - list(APPEND LIBRARIES ${OPENAL_LIBRARY}) - list(APPEND SRC ${OPENAL_SRC}) - list(APPEND HDR ${OPENAL_HDR}) - list(APPEND STATIC_PLUGINS OpenALDevice) - endif() + if(NOT PLUGIN_OPENAL) + list(APPEND INCLUDE ${OPENAL_INCLUDE_DIR}) + list(APPEND LIBRARIES ${OPENAL_LIBRARY}) + list(APPEND SRC ${OPENAL_SRC}) + list(APPEND HDR ${OPENAL_HDR}) + list(APPEND STATIC_PLUGINS OpenALDevice) + endif() - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB OPENAL_DLLS ${LIBRARY_PATH}/OpenAL/bin/*.dll) - list(APPEND DLLS ${OPENAL_DLLS}) - endif() - else() - set(WITH_OPENAL FALSE CACHE BOOL "Build With OpenAL" FORCE) - message(WARNING "OpenAL not found, plugin will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB OPENAL_DLLS ${LIBRARY_PATH}/OpenAL/bin/*.dll) + list(APPEND DLLS ${OPENAL_DLLS}) + endif() + else() + set(WITH_OPENAL FALSE CACHE BOOL "Build With OpenAL" FORCE) + message(WARNING "OpenAL not found, plugin will not be built.") + endif() endif() # Python if(WITH_PYTHON) - if(AUDASPACE_STANDALONE) - find_package(PythonLibs 3.2 ${PACKAGE_OPTION}) - find_package(NumPy ${PACKAGE_OPTION}) - endif() + if(AUDASPACE_STANDALONE) + find_package(PythonLibs 3.2 ${PACKAGE_OPTION}) + find_package(NumPy ${PACKAGE_OPTION}) + endif() - if(PYTHONLIBS_FOUND AND NUMPY_FOUND) - list(APPEND INCLUDE ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS}) + if(PYTHONLIBS_FOUND AND NUMPY_FOUND) + list(APPEND INCLUDE ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS}) - if(WITH_PYTHON_MODULE) - find_package(PythonInterp 3.2 ${PACKAGE_OPTION}) + if(WITH_PYTHON_MODULE) + find_package(PythonInterp 3.2 ${PACKAGE_OPTION}) - if(NOT PYTHONINTERP_FOUND) - set(WITH_PYTHON_MODULE FALSE) - message(WARNING "Python interpreter not found, module will not be built.") - endif() - endif() + if(NOT PYTHONINTERP_FOUND) + set(WITH_PYTHON_MODULE FALSE) + message(WARNING "Python interpreter not found, module will not be built.") + endif() + endif() - set(AUDASPACE_PY_LIBRARY -laudaspace-py) + set(AUDASPACE_PY_LIBRARY -laudaspace-py) - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB PYTHON_DLLS ${LIBRARY_PATH}/Python/bin/*.dll) - list(APPEND DLLS ${PYTHON_DLLS}) - endif() - else() - set(WITH_PYTHON FALSE CACHE BOOL "Build With Python Library" FORCE) - message(WARNING "Python libraries not found, language binding will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB PYTHON_DLLS ${LIBRARY_PATH}/Python/bin/*.dll) + list(APPEND DLLS ${PYTHON_DLLS}) + endif() + else() + set(WITH_PYTHON FALSE CACHE BOOL "Build With Python Library" FORCE) + message(WARNING "Python libraries not found, language binding will not be built.") + endif() endif() # SDL if(WITH_SDL) - if(AUDASPACE_STANDALONE) - if(USE_SDL2) - find_package(SDL2) - if(SDL2_FOUND) - set(SDL_INCLUDE_DIR ${SDL2_INCLUDE_DIR}) - set(SDL_LIBRARY ${SDL2_LIBRARY}) - set(SDL_FOUND TRUE) - else() - find_package(SDL ${PACKAGE_OPTION}) - endif() - else() - find_package(SDL ${PACKAGE_OPTION}) - endif() - endif() + if(AUDASPACE_STANDALONE) + if(USE_SDL2) + find_package(SDL2) + if(SDL2_FOUND) + set(SDL_INCLUDE_DIR ${SDL2_INCLUDE_DIR}) + set(SDL_LIBRARY ${SDL2_LIBRARY}) + set(SDL_FOUND TRUE) + else() + find_package(SDL ${PACKAGE_OPTION}) + endif() + else() + find_package(SDL ${PACKAGE_OPTION}) + endif() + endif() - if(SDL_FOUND) - set(SDL_SRC - plugins/sdl/SDLDevice.cpp - ) - set(SDL_HDR - plugins/sdl/SDLDevice.h - ) + if(SDL_FOUND) + set(SDL_SRC + plugins/sdl/SDLDevice.cpp + ) + set(SDL_HDR + plugins/sdl/SDLDevice.h + ) - if(NOT PLUGIN_SDL) - list(APPEND INCLUDE ${SDL_INCLUDE_DIR}) - list(APPEND LIBRARIES ${SDL_LIBRARY}) - list(APPEND SRC ${SDL_SRC}) - list(APPEND HDR ${SDL_HDR}) - list(APPEND STATIC_PLUGINS SDLDevice) - endif() + if(NOT PLUGIN_SDL) + list(APPEND INCLUDE ${SDL_INCLUDE_DIR}) + list(APPEND LIBRARIES ${SDL_LIBRARY}) + list(APPEND SRC ${SDL_SRC}) + list(APPEND HDR ${SDL_HDR}) + list(APPEND STATIC_PLUGINS SDLDevice) + endif() - if(WIN32 AND AUDASPACE_STANDALONE) - file(GLOB SDL_DLLS ${LIBRARY_PATH}/sdl/bin/*.dll) - list(APPEND DLLS ${SDL_DLLS}) - endif() - else() - set(WITH_SDL FALSE CACHE BOOL "Build With SDL" FORCE) - message(WARNING "SDL not found, plugin will not be built.") - endif() + if(WIN32 AND AUDASPACE_STANDALONE) + file(GLOB SDL_DLLS ${LIBRARY_PATH}/sdl/bin/*.dll) + list(APPEND DLLS ${SDL_DLLS}) + endif() + else() + set(WITH_SDL FALSE CACHE BOOL "Build With SDL" FORCE) + message(WARNING "SDL not found, plugin will not be built.") + endif() endif() # library configuration if(SHARED_LIBRARY) - set(AUD_LIBRARY_TYPE AUD_SHARED_LIBRARY) - set(LIBRARY_TYPE SHARED) - add_definitions(-DAUD_BUILD_SHARED_LIBRARY) + set(AUD_LIBRARY_TYPE AUD_SHARED_LIBRARY) + set(LIBRARY_TYPE SHARED) + add_definitions(-DAUD_BUILD_SHARED_LIBRARY) else() - set(AUD_LIBRARY_TYPE AUD_STATIC_LIBRARY) - set(LIBRARY_TYPE STATIC) + set(AUD_LIBRARY_TYPE AUD_STATIC_LIBRARY) + set(LIBRARY_TYPE STATIC) endif() # file configuration @@ -691,28 +691,28 @@ set(STATIC_PLUGIN_CLASSES "") set(STATIC_PLUGIN_REGISTERS "") foreach(PLUGIN ${STATIC_PLUGINS}) - list(APPEND STATIC_PLUGIN_CLASSES "STATIC_PLUGIN_CLASS(" ${PLUGIN} ")\n") - list(APPEND STATIC_PLUGIN_REGISTERS "\tSTATIC_PLUGIN_REGISTER(" ${PLUGIN} ")\n") + list(APPEND STATIC_PLUGIN_CLASSES "STATIC_PLUGIN_CLASS(" ${PLUGIN} ")\n") + list(APPEND STATIC_PLUGIN_REGISTERS "\tSTATIC_PLUGIN_REGISTER(" ${PLUGIN} ")\n") endforeach() string(CONCAT STATIC_PLUGIN_CLASSES ${STATIC_PLUGIN_CLASSES}) string(CONCAT STATIC_PLUGIN_REGISTERS ${STATIC_PLUGIN_REGISTERS}) if(WIN32) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/plugin/PluginManagerWindows.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/PluginManager.cpp ESCAPE_QUOTES @ONLY) - if(WITH_FFTW) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/fx/HRTFLoaderWindows.cpp ${CMAKE_CURRENT_BINARY_DIR}/HRTFLoader.cpp COPYONLY) - endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/plugin/PluginManagerWindows.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/PluginManager.cpp ESCAPE_QUOTES @ONLY) + if(WITH_FFTW) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/fx/HRTFLoaderWindows.cpp ${CMAKE_CURRENT_BINARY_DIR}/HRTFLoader.cpp COPYONLY) + endif() else() - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/plugin/PluginManagerUnix.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/PluginManager.cpp ESCAPE_QUOTES @ONLY) - if(WITH_FFTW) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/fx/HRTFLoaderUnix.cpp ${CMAKE_CURRENT_BINARY_DIR}/HRTFLoader.cpp COPYONLY) - endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/plugin/PluginManagerUnix.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/PluginManager.cpp ESCAPE_QUOTES @ONLY) + if(WITH_FFTW) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/fx/HRTFLoaderUnix.cpp ${CMAKE_CURRENT_BINARY_DIR}/HRTFLoader.cpp COPYONLY) + endif() endif() list(APPEND SRC ${CMAKE_CURRENT_BINARY_DIR}/PluginManager.cpp) if(WITH_FFTW) - list(APPEND SRC ${CMAKE_CURRENT_BINARY_DIR}/HRTFLoader.cpp) + list(APPEND SRC ${CMAKE_CURRENT_BINARY_DIR}/HRTFLoader.cpp) endif() # directories @@ -723,9 +723,9 @@ link_directories() # install configuration if(WIN32) - set(BIN_DESTINATION ".") + set(BIN_DESTINATION ".") else() - set(BIN_DESTINATION "bin") + set(BIN_DESTINATION "bin") endif() set(LIB_DESTINATION "lib${LIB_SUFFIX}") @@ -737,254 +737,254 @@ target_link_libraries(audaspace ${LIBRARIES}) set_target_properties(audaspace PROPERTIES SOVERSION ${AUDASPACE_VERSION}) if(AUDASPACE_STANDALONE) - install(TARGETS audaspace - RUNTIME DESTINATION ${BIN_DESTINATION} - LIBRARY DESTINATION ${LIB_DESTINATION} - ARCHIVE DESTINATION ${LIB_DESTINATION} - ) + install(TARGETS audaspace + RUNTIME DESTINATION ${BIN_DESTINATION} + LIBRARY DESTINATION ${LIB_DESTINATION} + ARCHIVE DESTINATION ${LIB_DESTINATION} + ) - install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/audaspace) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Audaspace.h DESTINATION include/audaspace) + install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/audaspace) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Audaspace.h DESTINATION include/audaspace) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/packages/pkgconfig/audaspace.pc.in ${CMAKE_CURRENT_BINARY_DIR}/audaspace.pc @ONLY) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/packages/pkgconfig/audaspace.pc.in ${CMAKE_CURRENT_BINARY_DIR}/audaspace.pc @ONLY) - if(NOT WIN32 AND NOT APPLE) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/audaspace.pc DESTINATION "lib${LIB_SUFFIX}/pkgconfig") - endif() + if(NOT WIN32 AND NOT APPLE) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/audaspace.pc DESTINATION "lib${LIB_SUFFIX}/pkgconfig") + endif() endif() # plugins if(WITH_FFMPEG AND PLUGIN_FFMPEG) - add_definitions(-DFFMPEG_PLUGIN) - include_directories(${INCLUDE} ${FFMPEG_INCLUDE_DIRS}) - add_library(audffmpeg SHARED ${FFMPEG_SRC} ${FFMPEG_HDR} ${HDR}) - target_link_libraries(audffmpeg audaspace ${FFMPEG_LIBRARIES}) - set_target_properties(audffmpeg PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - install(TARGETS audffmpeg DESTINATION ${DEFAULT_PLUGIN_PATH}) + add_definitions(-DFFMPEG_PLUGIN) + include_directories(${INCLUDE} ${FFMPEG_INCLUDE_DIRS}) + add_library(audffmpeg SHARED ${FFMPEG_SRC} ${FFMPEG_HDR} ${HDR}) + target_link_libraries(audffmpeg audaspace ${FFMPEG_LIBRARIES}) + set_target_properties(audffmpeg PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + install(TARGETS audffmpeg DESTINATION ${DEFAULT_PLUGIN_PATH}) endif() if(WITH_JACK AND PLUGIN_JACK) - add_definitions(-DJACK_PLUGIN) - include_directories(${INCLUDE} ${JACK_INCLUDE_DIRS}) - add_library(audjack SHARED ${JACK_SRC} ${JACK_HDR} ${HDR}) - if(DYNLOAD_JACK) - target_link_libraries(audjack audaspace) - else() - target_link_libraries(audjack audaspace ${JACK_LIBRARIES}) - endif() - set_target_properties(audjack PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - install(TARGETS audjack DESTINATION ${DEFAULT_PLUGIN_PATH}) + add_definitions(-DJACK_PLUGIN) + include_directories(${INCLUDE} ${JACK_INCLUDE_DIRS}) + add_library(audjack SHARED ${JACK_SRC} ${JACK_HDR} ${HDR}) + if(DYNLOAD_JACK) + target_link_libraries(audjack audaspace) + else() + target_link_libraries(audjack audaspace ${JACK_LIBRARIES}) + endif() + set_target_properties(audjack PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + install(TARGETS audjack DESTINATION ${DEFAULT_PLUGIN_PATH}) endif() if(WITH_LIBSNDFILE AND PLUGIN_LIBSNDFILE) - add_definitions(-DLIBSNDFILE_PLUGIN) - include_directories(${INCLUDE} ${LIBSNDFILE_INCLUDE_DIRS}) - add_library(audlibsndfile SHARED ${LIBSNDFILE_SRC} ${LIBSNDFILE_HDR} ${HDR}) - set_target_properties(audlibsndfile PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - target_link_libraries(audlibsndfile audaspace ${LIBSNDFILE_LIBRARIES}) - install(TARGETS audlibsndfile DESTINATION ${DEFAULT_PLUGIN_PATH}) + add_definitions(-DLIBSNDFILE_PLUGIN) + include_directories(${INCLUDE} ${LIBSNDFILE_INCLUDE_DIRS}) + add_library(audlibsndfile SHARED ${LIBSNDFILE_SRC} ${LIBSNDFILE_HDR} ${HDR}) + set_target_properties(audlibsndfile PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + target_link_libraries(audlibsndfile audaspace ${LIBSNDFILE_LIBRARIES}) + install(TARGETS audlibsndfile DESTINATION ${DEFAULT_PLUGIN_PATH}) endif() if(WITH_OPENAL AND PLUGIN_OPENAL) - add_definitions(-DOPENAL_PLUGIN) - include_directories(${INCLUDE} ${OPENAL_INCLUDE_DIR}) - add_library(audopenal SHARED ${OPENAL_SRC} ${OPENAL_HDR} ${HDR}) - set_target_properties(audopenal PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - target_link_libraries(audopenal audaspace ${OPENAL_LIBRARY}) - install(TARGETS audopenal DESTINATION ${DEFAULT_PLUGIN_PATH}) + add_definitions(-DOPENAL_PLUGIN) + include_directories(${INCLUDE} ${OPENAL_INCLUDE_DIR}) + add_library(audopenal SHARED ${OPENAL_SRC} ${OPENAL_HDR} ${HDR}) + set_target_properties(audopenal PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + target_link_libraries(audopenal audaspace ${OPENAL_LIBRARY}) + install(TARGETS audopenal DESTINATION ${DEFAULT_PLUGIN_PATH}) endif() if(WITH_SDL AND PLUGIN_SDL) - add_definitions(-DSDL_PLUGIN) - include_directories(${INCLUDE} ${SDL_INCLUDE_DIR}) - add_library(audsdl SHARED ${SDL_SRC} ${SDL_HDR} ${HDR}) - set_target_properties(audsdl PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - target_link_libraries(audsdl audaspace ${SDL_LIBRARY}) - install(TARGETS audsdl DESTINATION ${DEFAULT_PLUGIN_PATH}) + add_definitions(-DSDL_PLUGIN) + include_directories(${INCLUDE} ${SDL_INCLUDE_DIR}) + add_library(audsdl SHARED ${SDL_SRC} ${SDL_HDR} ${HDR}) + set_target_properties(audsdl PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + target_link_libraries(audsdl audaspace ${SDL_LIBRARY}) + install(TARGETS audsdl DESTINATION ${DEFAULT_PLUGIN_PATH}) endif() # dlls if(WIN32) - if(DLLS) - install(FILES ${DLLS} DESTINATION ${BIN_DESTINATION}) - endif() + if(DLLS) + install(FILES ${DLLS} DESTINATION ${BIN_DESTINATION}) + endif() endif() # demos if(BUILD_DEMOS) - include_directories(${INCLUDE}) + include_directories(${INCLUDE}) - set(DEMOS audaplay audaconvert audaremap signalgen randsounds dynamicmusic playbackmanager) + set(DEMOS audaplay audaconvert audaremap signalgen randsounds dynamicmusic playbackmanager) - add_executable(audaplay demos/audaplay.cpp) - target_link_libraries(audaplay audaspace) + add_executable(audaplay demos/audaplay.cpp) + target_link_libraries(audaplay audaspace) - add_executable(audaconvert demos/audaconvert.cpp) - target_link_libraries(audaconvert audaspace) + add_executable(audaconvert demos/audaconvert.cpp) + target_link_libraries(audaconvert audaspace) - add_executable(audaremap demos/audaremap.cpp) - target_link_libraries(audaremap audaspace) + add_executable(audaremap demos/audaremap.cpp) + target_link_libraries(audaremap audaspace) - add_executable(signalgen demos/signalgen.cpp) - target_link_libraries(signalgen audaspace) + add_executable(signalgen demos/signalgen.cpp) + target_link_libraries(signalgen audaspace) - add_executable(randsounds demos/randsounds.cpp) - target_link_libraries(randsounds audaspace) + add_executable(randsounds demos/randsounds.cpp) + target_link_libraries(randsounds audaspace) - add_executable(dynamicmusic demos/dynamicmusic.cpp) - target_link_libraries(dynamicmusic audaspace) + add_executable(dynamicmusic demos/dynamicmusic.cpp) + target_link_libraries(dynamicmusic audaspace) - add_executable(playbackmanager demos/playbackmanager.cpp) - target_link_libraries(playbackmanager audaspace) + add_executable(playbackmanager demos/playbackmanager.cpp) + target_link_libraries(playbackmanager audaspace) - if(WITH_FFTW) - list(APPEND DEMOS convolution binaural) + if(WITH_FFTW) + list(APPEND DEMOS convolution binaural) - add_executable(convolution demos/convolution.cpp) - target_link_libraries(convolution audaspace) + add_executable(convolution demos/convolution.cpp) + target_link_libraries(convolution audaspace) - add_executable(binaural demos/binaural.cpp) - target_link_libraries(binaural audaspace) - endif() + add_executable(binaural demos/binaural.cpp) + target_link_libraries(binaural audaspace) + endif() - if(WITH_OPENAL) - list(APPEND DEMOS openaldevices) + if(WITH_OPENAL) + list(APPEND DEMOS openaldevices) - add_executable(openaldevices demos/openaldevices.cpp) - if(PLUGIN_OPENAL) - target_link_libraries(openaldevices audaspace audopenal) - else() - target_link_libraries(openaldevices audaspace) - endif() - endif() + add_executable(openaldevices demos/openaldevices.cpp) + if(PLUGIN_OPENAL) + target_link_libraries(openaldevices audaspace audopenal) + else() + target_link_libraries(openaldevices audaspace) + endif() + endif() - install(TARGETS ${DEMOS} - RUNTIME DESTINATION ${BIN_DESTINATION} - LIBRARY DESTINATION ${LIB_DESTINATION} - ARCHIVE DESTINATION ${LIB_DESTINATION} - ) + install(TARGETS ${DEMOS} + RUNTIME DESTINATION ${BIN_DESTINATION} + LIBRARY DESTINATION ${LIB_DESTINATION} + ARCHIVE DESTINATION ${LIB_DESTINATION} + ) endif() # bindings if(WITH_C) - if(SEPARATE_C) - add_library(audaspace-c ${LIBRARY_TYPE} ${C_SRC} ${C_HDR}) - target_link_libraries(audaspace-c audaspace) - set_target_properties(audaspace-c PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - install(TARGETS audaspace-c - RUNTIME DESTINATION ${BIN_DESTINATION} - LIBRARY DESTINATION ${LIB_DESTINATION} - ARCHIVE DESTINATION ${LIB_DESTINATION} - ) - endif() + if(SEPARATE_C) + add_library(audaspace-c ${LIBRARY_TYPE} ${C_SRC} ${C_HDR}) + target_link_libraries(audaspace-c audaspace) + set_target_properties(audaspace-c PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + install(TARGETS audaspace-c + RUNTIME DESTINATION ${BIN_DESTINATION} + LIBRARY DESTINATION ${LIB_DESTINATION} + ARCHIVE DESTINATION ${LIB_DESTINATION} + ) + endif() - if(AUDASPACE_STANDALONE) - install(FILES ${C_HDR} DESTINATION include/audaspace) - endif() + if(AUDASPACE_STANDALONE) + install(FILES ${C_HDR} DESTINATION include/audaspace) + endif() endif() if(WITH_PYTHON) - set(PYTHON_SRC - bindings/python/PyAPI.cpp - bindings/python/PyDevice.cpp - bindings/python/PyDynamicMusic.cpp - bindings/python/PyHandle.cpp - bindings/python/PyPlaybackManager.cpp - bindings/python/PySequence.cpp - bindings/python/PySequenceEntry.cpp - bindings/python/PySound.cpp - bindings/python/PySource.cpp - bindings/python/PyThreadPool.cpp - ) - set(PYTHON_HDR - bindings/python/PyAPI.h - bindings/python/PyDevice.h - bindings/python/PyDynamicMusic.h - bindings/python/PyHandle.h - bindings/python/PyPlaybackManager.h - bindings/python/PySequence.h - bindings/python/PySequenceEntry.h - bindings/python/PySound.h - bindings/python/PySource.h - bindings/python/PyThreadPool.h - ) + set(PYTHON_SRC + bindings/python/PyAPI.cpp + bindings/python/PyDevice.cpp + bindings/python/PyDynamicMusic.cpp + bindings/python/PyHandle.cpp + bindings/python/PyPlaybackManager.cpp + bindings/python/PySequence.cpp + bindings/python/PySequenceEntry.cpp + bindings/python/PySound.cpp + bindings/python/PySource.cpp + bindings/python/PyThreadPool.cpp + ) + set(PYTHON_HDR + bindings/python/PyAPI.h + bindings/python/PyDevice.h + bindings/python/PyDynamicMusic.h + bindings/python/PyHandle.h + bindings/python/PyPlaybackManager.h + bindings/python/PySequence.h + bindings/python/PySequenceEntry.h + bindings/python/PySound.h + bindings/python/PySource.h + bindings/python/PyThreadPool.h + ) - if(WITH_FFTW) - list(APPEND PYTHON_SRC - bindings/python/PyHRTF.cpp - bindings/python/PyImpulseResponse.cpp - ) - list(APPEND PYTHON_HDR - bindings/python/PyHRTF.h - bindings/python/PyImpulseResponse.h - ) - endif() + if(WITH_FFTW) + list(APPEND PYTHON_SRC + bindings/python/PyHRTF.cpp + bindings/python/PyImpulseResponse.cpp + ) + list(APPEND PYTHON_HDR + bindings/python/PyHRTF.h + bindings/python/PyImpulseResponse.h + ) + endif() - add_library(audaspace-py ${LIBRARY_TYPE} ${PYTHON_SRC} ${PYTHON_HDR}) - target_link_libraries(audaspace-py audaspace ${PYTHON_LIBRARIES}) - set_target_properties(audaspace-py PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + add_library(audaspace-py ${LIBRARY_TYPE} ${PYTHON_SRC} ${PYTHON_HDR}) + target_link_libraries(audaspace-py audaspace ${PYTHON_LIBRARIES}) + set_target_properties(audaspace-py PROPERTIES SOVERSION ${AUDASPACE_VERSION}) - if(AUDASPACE_STANDALONE) - install(TARGETS audaspace-py - RUNTIME DESTINATION ${BIN_DESTINATION} - LIBRARY DESTINATION ${LIB_DESTINATION} - ARCHIVE DESTINATION ${LIB_DESTINATION} - ) + if(AUDASPACE_STANDALONE) + install(TARGETS audaspace-py + RUNTIME DESTINATION ${BIN_DESTINATION} + LIBRARY DESTINATION ${LIB_DESTINATION} + ARCHIVE DESTINATION ${LIB_DESTINATION} + ) - install(FILES ${PYTHON_HDR} DESTINATION include/audaspace/python) - endif() + install(FILES ${PYTHON_HDR} DESTINATION include/audaspace/python) + endif() - if(WITH_PYTHON_MODULE) - set(PYTHON_SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bindings/python) - configure_file(${PYTHON_SOURCE_DIRECTORY}/setup.py.in ${CMAKE_CURRENT_BINARY_DIR}/setup.py ESCAPE_QUOTES @ONLY) + if(WITH_PYTHON_MODULE) + set(PYTHON_SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bindings/python) + configure_file(${PYTHON_SOURCE_DIRECTORY}/setup.py.in ${CMAKE_CURRENT_BINARY_DIR}/setup.py ESCAPE_QUOTES @ONLY) - if(APPLE) - add_custom_command(OUTPUT build COMMAND MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} ${PYTHON_EXECUTABLE} setup.py build DEPENDS ${PYTHON_SRC} ${PYTHON_HDR}) - elseif(WIN32) - set(ENV{VS100COMNTOOLS} $ENV{VS120COMNTOOLS}) - add_custom_command(OUTPUT build COMMAND ${PYTHON_EXECUTABLE} setup.py build DEPENDS ${PYTHON_SRC} ${PYTHON_HDR}) - else() - add_custom_command(OUTPUT build COMMAND ${PYTHON_EXECUTABLE} setup.py build DEPENDS ${PYTHON_SRC} ${PYTHON_HDR}) - endif() - add_custom_target(pythonmodule ALL DEPENDS build SOURCES ${PYTHON_SOURCE_DIRECTORY}/setup.py.in ${PYTHON_SRC} ${PYTHON_HDR}) - add_dependencies(pythonmodule audaspace) + if(APPLE) + add_custom_command(OUTPUT build COMMAND MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} ${PYTHON_EXECUTABLE} setup.py build DEPENDS ${PYTHON_SRC} ${PYTHON_HDR}) + elseif(WIN32) + set(ENV{VS100COMNTOOLS} $ENV{VS120COMNTOOLS}) + add_custom_command(OUTPUT build COMMAND ${PYTHON_EXECUTABLE} setup.py build DEPENDS ${PYTHON_SRC} ${PYTHON_HDR}) + else() + add_custom_command(OUTPUT build COMMAND ${PYTHON_EXECUTABLE} setup.py build DEPENDS ${PYTHON_SRC} ${PYTHON_HDR}) + endif() + add_custom_target(pythonmodule ALL DEPENDS build SOURCES ${PYTHON_SOURCE_DIRECTORY}/setup.py.in ${PYTHON_SRC} ${PYTHON_HDR}) + add_dependencies(pythonmodule audaspace) - install(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} setup.py install --root=\$ENV{DESTDIR} --prefix=${CMAKE_INSTALL_PREFIX})") - endif() + install(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} setup.py install --root=\$ENV{DESTDIR} --prefix=${CMAKE_INSTALL_PREFIX})") + endif() endif() # docs if(WITH_DOCS) - find_package(Doxygen ${PACKAGE_OPTION}) + find_package(Doxygen ${PACKAGE_OPTION}) - if(DOXYGEN_FOUND AND DOXYGEN_DOT_FOUND) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) + if(DOXYGEN_FOUND AND DOXYGEN_DOT_FOUND) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) - add_custom_target(audaspace_doc ALL ${DOXYGEN_EXECUTABLE} Doxyfile COMMENT "Building C++ HTML documentation with Doxygen.") - else() - set(WITH_DOCS FALSE CACHE BOOL "Build C++ HTML Documentation with Doxygen" FORCE) - message(WARNING "Doxygen (and/or dot) not found, documentation will not be built.") - endif() + add_custom_target(audaspace_doc ALL ${DOXYGEN_EXECUTABLE} Doxyfile COMMENT "Building C++ HTML documentation with Doxygen.") + else() + set(WITH_DOCS FALSE CACHE BOOL "Build C++ HTML Documentation with Doxygen" FORCE) + message(WARNING "Doxygen (and/or dot) not found, documentation will not be built.") + endif() endif() if(WITH_BINDING_DOCS) - find_package(Sphinx ${PACKAGE_OPTION}) + find_package(Sphinx ${PACKAGE_OPTION}) - if(SPHINX_FOUND) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bindings/doc/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/conf.py @ONLY) + if(SPHINX_FOUND) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bindings/doc/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/conf.py @ONLY) - add_custom_target(bindings_doc ALL COMMAND ${PYTHON_EXECUTABLE} setup.py --build-docs ${SPHINX_EXECUTABLE} -q -b html -c "${CMAKE_CURRENT_BINARY_DIR}" -d "${CMAKE_CURRENT_BINARY_DIR}/_doctrees" "${CMAKE_CURRENT_SOURCE_DIR}/bindings/doc" "${CMAKE_CURRENT_BINARY_DIR}/doc/bindings" DEPENDS pythonmodule COMMENT "Building C/Python HTML documentation with Sphinx.") - else() - set(WITH_BINDING_DOCS FALSE CACHE BOOL "Build C/Python HTML Documentation with Sphinx" FORCE) - message(WARNING "Sphinx not found, binding documentation will not be built.") - endif() + add_custom_target(bindings_doc ALL COMMAND ${PYTHON_EXECUTABLE} setup.py --build-docs ${SPHINX_EXECUTABLE} -q -b html -c "${CMAKE_CURRENT_BINARY_DIR}" -d "${CMAKE_CURRENT_BINARY_DIR}/_doctrees" "${CMAKE_CURRENT_SOURCE_DIR}/bindings/doc" "${CMAKE_CURRENT_BINARY_DIR}/doc/bindings" DEPENDS pythonmodule COMMENT "Building C/Python HTML documentation with Sphinx.") + else() + set(WITH_BINDING_DOCS FALSE CACHE BOOL "Build C/Python HTML Documentation with Sphinx" FORCE) + message(WARNING "Sphinx not found, binding documentation will not be built.") + endif() endif() if(WITH_DOCS OR WITH_BINDING_DOCS) - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/ DESTINATION ${DOCUMENTATION_INSTALL_PATH}) + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/ DESTINATION ${DOCUMENTATION_INSTALL_PATH}) endif() diff --git a/extern/audaspace/blender_config.cmake b/extern/audaspace/blender_config.cmake index 7deb78d27da..0cf4709965f 100644 --- a/extern/audaspace/blender_config.cmake +++ b/extern/audaspace/blender_config.cmake @@ -25,7 +25,7 @@ set(NUMPY_INCLUDE_DIRS ${PYTHON_NUMPY_INCLUDE_DIRS}) set(SDL_FOUND ${WITH_SDL}) if(WIN32) - set(DEFAULT_PLUGIN_PATH "plugins" CACHE STRING "Default plugin installation and loading path.") + set(DEFAULT_PLUGIN_PATH "plugins" CACHE STRING "Default plugin installation and loading path.") endif() mark_as_advanced(BUILD_DEMOS SHARED_LIBRARY WITH_C WITH_DOCS WITH_FFMPEG WITH_FFTW WITH_LIBSNDFILE SEPARATE_C PLUGIN_FFMPEG PLUGIN_JACK PLUGIN_LIBSNDFILE PLUGIN_OPENAL PLUGIN_SDL WITH_PYTHON_MODULE DYNLOAD_JACK WITH_BINDING_DOCS DEFAULT_PLUGIN_PATH) diff --git a/extern/binreloc/CMakeLists.txt b/extern/binreloc/CMakeLists.txt index 766939b4228..4dfe960c571 100644 --- a/extern/binreloc/CMakeLists.txt +++ b/extern/binreloc/CMakeLists.txt @@ -19,7 +19,7 @@ # set(INC - include + include ) set(INC_SYS @@ -27,9 +27,9 @@ set(INC_SYS ) set(SRC - binreloc.c + binreloc.c - include/binreloc.h + include/binreloc.h ) set(LIB diff --git a/extern/bullet2/CMakeLists.txt b/extern/bullet2/CMakeLists.txt index b9c21bd831f..f1bb6a37cbf 100644 --- a/extern/bullet2/CMakeLists.txt +++ b/extern/bullet2/CMakeLists.txt @@ -19,8 +19,8 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . - src + . + src ) set(INC_SYS @@ -28,391 +28,391 @@ set(INC_SYS ) set(SRC - src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp - src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp - src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp - src/BulletCollision/BroadphaseCollision/btDbvt.cpp - src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp - src/BulletCollision/BroadphaseCollision/btDispatcher.cpp - src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp - src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp - src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp - src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp - src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp - src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp - src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp - src/BulletCollision/CollisionDispatch/btCollisionObject.cpp - src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp - src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp - src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp - src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btGhostObject.cpp - src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp - src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp - src/BulletCollision/CollisionDispatch/btManifoldResult.cpp - src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp - src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp - src/BulletCollision/CollisionDispatch/btUnionFind.cpp - src/BulletCollision/CollisionShapes/btBox2dShape.cpp - src/BulletCollision/CollisionShapes/btBoxShape.cpp - src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp - src/BulletCollision/CollisionShapes/btCapsuleShape.cpp - src/BulletCollision/CollisionShapes/btCollisionShape.cpp - src/BulletCollision/CollisionShapes/btCompoundShape.cpp - src/BulletCollision/CollisionShapes/btConcaveShape.cpp - src/BulletCollision/CollisionShapes/btConeShape.cpp - src/BulletCollision/CollisionShapes/btConvex2dShape.cpp - src/BulletCollision/CollisionShapes/btConvexHullShape.cpp - src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp - src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp - src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp - src/BulletCollision/CollisionShapes/btConvexShape.cpp - src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp - src/BulletCollision/CollisionShapes/btCylinderShape.cpp - src/BulletCollision/CollisionShapes/btEmptyShape.cpp - src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp - src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp - src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp - src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp - src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp - src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp - src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp - src/BulletCollision/CollisionShapes/btShapeHull.cpp - src/BulletCollision/CollisionShapes/btSphereShape.cpp - src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp - src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp - src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp - src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp - src/BulletCollision/CollisionShapes/btTriangleCallback.cpp - src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp - src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp - src/BulletCollision/CollisionShapes/btTriangleMesh.cpp - src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp - src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp - src/BulletCollision/Gimpact/btContactProcessing.cpp - src/BulletCollision/Gimpact/btGImpactBvh.cpp - src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp - src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp - src/BulletCollision/Gimpact/btGImpactShape.cpp - src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp - src/BulletCollision/Gimpact/btTriangleShapeEx.cpp - src/BulletCollision/Gimpact/gim_box_set.cpp - src/BulletCollision/Gimpact/gim_contact.cpp - src/BulletCollision/Gimpact/gim_memory.cpp - src/BulletCollision/Gimpact/gim_tri_collision.cpp - src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp - src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp - src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp - src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp - src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp - src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp - src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp - src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp - src/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp - src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp - src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp - src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp + src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp + src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp + src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp + src/BulletCollision/BroadphaseCollision/btDbvt.cpp + src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp + src/BulletCollision/BroadphaseCollision/btDispatcher.cpp + src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp + src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp + src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp + src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp + src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp + src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp + src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp + src/BulletCollision/CollisionDispatch/btCollisionObject.cpp + src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp + src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp + src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp + src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btGhostObject.cpp + src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp + src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp + src/BulletCollision/CollisionDispatch/btManifoldResult.cpp + src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp + src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btUnionFind.cpp + src/BulletCollision/CollisionShapes/btBox2dShape.cpp + src/BulletCollision/CollisionShapes/btBoxShape.cpp + src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btCapsuleShape.cpp + src/BulletCollision/CollisionShapes/btCollisionShape.cpp + src/BulletCollision/CollisionShapes/btCompoundShape.cpp + src/BulletCollision/CollisionShapes/btConcaveShape.cpp + src/BulletCollision/CollisionShapes/btConeShape.cpp + src/BulletCollision/CollisionShapes/btConvex2dShape.cpp + src/BulletCollision/CollisionShapes/btConvexHullShape.cpp + src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp + src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp + src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp + src/BulletCollision/CollisionShapes/btConvexShape.cpp + src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btCylinderShape.cpp + src/BulletCollision/CollisionShapes/btEmptyShape.cpp + src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp + src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp + src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp + src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp + src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp + src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btShapeHull.cpp + src/BulletCollision/CollisionShapes/btSphereShape.cpp + src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp + src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp + src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp + src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp + src/BulletCollision/CollisionShapes/btTriangleCallback.cpp + src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp + src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp + src/BulletCollision/CollisionShapes/btTriangleMesh.cpp + src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp + src/BulletCollision/Gimpact/btContactProcessing.cpp + src/BulletCollision/Gimpact/btGImpactBvh.cpp + src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp + src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp + src/BulletCollision/Gimpact/btGImpactShape.cpp + src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp + src/BulletCollision/Gimpact/btTriangleShapeEx.cpp + src/BulletCollision/Gimpact/gim_box_set.cpp + src/BulletCollision/Gimpact/gim_contact.cpp + src/BulletCollision/Gimpact/gim_memory.cpp + src/BulletCollision/Gimpact/gim_tri_collision.cpp + src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp + src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp + src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp + src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp + src/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp + src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp + src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp + src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp - src/BulletDynamics/Character/btKinematicCharacterController.cpp - src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp - src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp - src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp - src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp - src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp - src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp - src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp - src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp - src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp - src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp - src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp - src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp - src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp - src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp - src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp - src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp - src/BulletDynamics/Dynamics/Bullet-C-API.cpp - src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp - src/BulletDynamics/Dynamics/btRigidBody.cpp - src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp - src/BulletDynamics/Featherstone/btMultiBody.cpp - src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp - src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp - src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp - src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp - src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp - src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp - src/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp - src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp - src/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp - src/BulletDynamics/Vehicle/btRaycastVehicle.cpp - src/BulletDynamics/Vehicle/btWheelInfo.cpp + src/BulletDynamics/Character/btKinematicCharacterController.cpp + src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp + src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp + src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp + src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp + src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp + src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp + src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp + src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp + src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp + src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp + src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp + src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp + src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp + src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp + src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp + src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp + src/BulletDynamics/Dynamics/Bullet-C-API.cpp + src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp + src/BulletDynamics/Dynamics/btRigidBody.cpp + src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp + src/BulletDynamics/Featherstone/btMultiBody.cpp + src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp + src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp + src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp + src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp + src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp + src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp + src/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp + src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp + src/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp + src/BulletDynamics/Vehicle/btRaycastVehicle.cpp + src/BulletDynamics/Vehicle/btWheelInfo.cpp - src/BulletSoftBody/btDefaultSoftBodySolver.cpp - src/BulletSoftBody/btSoftBody.cpp - src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp - src/BulletSoftBody/btSoftBodyHelpers.cpp - src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp - src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp - src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp - src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp + src/BulletSoftBody/btDefaultSoftBodySolver.cpp + src/BulletSoftBody/btSoftBody.cpp + src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp + src/BulletSoftBody/btSoftBodyHelpers.cpp + src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp + src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp + src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp + src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp - src/LinearMath/btAlignedAllocator.cpp - src/LinearMath/btConvexHull.cpp - src/LinearMath/btConvexHullComputer.cpp - src/LinearMath/btGeometryUtil.cpp - src/LinearMath/btPolarDecomposition.cpp - src/LinearMath/btQuickprof.cpp - src/LinearMath/btSerializer.cpp - src/LinearMath/btVector3.cpp + src/LinearMath/btAlignedAllocator.cpp + src/LinearMath/btConvexHull.cpp + src/LinearMath/btConvexHullComputer.cpp + src/LinearMath/btGeometryUtil.cpp + src/LinearMath/btPolarDecomposition.cpp + src/LinearMath/btQuickprof.cpp + src/LinearMath/btSerializer.cpp + src/LinearMath/btVector3.cpp - src/BulletCollision/BroadphaseCollision/btAxisSweep3.h - src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h - src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h - src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h - src/BulletCollision/BroadphaseCollision/btDbvt.h - src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h - src/BulletCollision/BroadphaseCollision/btDispatcher.h - src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h - src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h - src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h - src/BulletCollision/BroadphaseCollision/btQuantizedBvh.h - src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h - src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h - src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btBoxBoxDetector.h - src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h - src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h - src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h - src/BulletCollision/CollisionDispatch/btCollisionObject.h - src/BulletCollision/CollisionDispatch/btCollisionObjectWrapper.h - src/BulletCollision/CollisionDispatch/btCollisionWorld.h - src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.h - src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h - src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h - src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h - src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btGhostObject.h - src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.h - src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h - src/BulletCollision/CollisionDispatch/btManifoldResult.h - src/BulletCollision/CollisionDispatch/btSimulationIslandManager.h - src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h - src/BulletCollision/CollisionDispatch/btUnionFind.h - src/BulletCollision/CollisionShapes/btBox2dShape.h - src/BulletCollision/CollisionShapes/btBoxShape.h - src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h - src/BulletCollision/CollisionShapes/btCapsuleShape.h - src/BulletCollision/CollisionShapes/btCollisionMargin.h - src/BulletCollision/CollisionShapes/btCollisionShape.h - src/BulletCollision/CollisionShapes/btCompoundShape.h - src/BulletCollision/CollisionShapes/btConcaveShape.h - src/BulletCollision/CollisionShapes/btConeShape.h - src/BulletCollision/CollisionShapes/btConvex2dShape.h - src/BulletCollision/CollisionShapes/btConvexHullShape.h - src/BulletCollision/CollisionShapes/btConvexInternalShape.h - src/BulletCollision/CollisionShapes/btConvexPointCloudShape.h - src/BulletCollision/CollisionShapes/btConvexPolyhedron.h - src/BulletCollision/CollisionShapes/btConvexShape.h - src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h - src/BulletCollision/CollisionShapes/btCylinderShape.h - src/BulletCollision/CollisionShapes/btEmptyShape.h - src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h - src/BulletCollision/CollisionShapes/btMaterial.h - src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h - src/BulletCollision/CollisionShapes/btMultiSphereShape.h - src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h - src/BulletCollision/CollisionShapes/btOptimizedBvh.h - src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h - src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h - src/BulletCollision/CollisionShapes/btShapeHull.h - src/BulletCollision/CollisionShapes/btSphereShape.h - src/BulletCollision/CollisionShapes/btStaticPlaneShape.h - src/BulletCollision/CollisionShapes/btStridingMeshInterface.h - src/BulletCollision/CollisionShapes/btTetrahedronShape.h - src/BulletCollision/CollisionShapes/btTriangleBuffer.h - src/BulletCollision/CollisionShapes/btTriangleCallback.h - src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h - src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h - src/BulletCollision/CollisionShapes/btTriangleInfoMap.h - src/BulletCollision/CollisionShapes/btTriangleMesh.h - src/BulletCollision/CollisionShapes/btTriangleMeshShape.h - src/BulletCollision/CollisionShapes/btTriangleShape.h - src/BulletCollision/CollisionShapes/btUniformScalingShape.h - src/BulletCollision/Gimpact/btBoxCollision.h - src/BulletCollision/Gimpact/btClipPolygon.h - src/BulletCollision/Gimpact/btCompoundFromGimpact.h - src/BulletCollision/Gimpact/btContactProcessing.h - src/BulletCollision/Gimpact/btGImpactBvh.h - src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h - src/BulletCollision/Gimpact/btGImpactMassUtil.h - src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h - src/BulletCollision/Gimpact/btGImpactShape.h - src/BulletCollision/Gimpact/btGenericPoolAllocator.h - src/BulletCollision/Gimpact/btGeometryOperations.h - src/BulletCollision/Gimpact/btQuantization.h - src/BulletCollision/Gimpact/btTriangleShapeEx.h - src/BulletCollision/Gimpact/gim_array.h - src/BulletCollision/Gimpact/gim_basic_geometry_operations.h - src/BulletCollision/Gimpact/gim_bitset.h - src/BulletCollision/Gimpact/gim_box_collision.h - src/BulletCollision/Gimpact/gim_box_set.h - src/BulletCollision/Gimpact/gim_clip_polygon.h - src/BulletCollision/Gimpact/gim_contact.h - src/BulletCollision/Gimpact/gim_geom_types.h - src/BulletCollision/Gimpact/gim_geometry.h - src/BulletCollision/Gimpact/gim_hash_table.h - src/BulletCollision/Gimpact/gim_linear_math.h - src/BulletCollision/Gimpact/gim_math.h - src/BulletCollision/Gimpact/gim_memory.h - src/BulletCollision/Gimpact/gim_radixsort.h - src/BulletCollision/Gimpact/gim_tri_collision.h - src/BulletCollision/NarrowPhaseCollision/btComputeGjkEpaPenetration.h - src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h - src/BulletCollision/NarrowPhaseCollision/btConvexCast.h - src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h - src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h - src/BulletCollision/NarrowPhaseCollision/btGjkCollisionDescription.h - src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h - src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h - src/BulletCollision/NarrowPhaseCollision/btGjkEpa3.h - src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h - src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h - src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h - src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h - src/BulletCollision/NarrowPhaseCollision/btMprPenetration.h - src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h - src/BulletCollision/NarrowPhaseCollision/btPointCollector.h - src/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h - src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h - src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h - src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h - src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h + src/BulletCollision/BroadphaseCollision/btAxisSweep3.h + src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h + src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h + src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h + src/BulletCollision/BroadphaseCollision/btDbvt.h + src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h + src/BulletCollision/BroadphaseCollision/btDispatcher.h + src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h + src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h + src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h + src/BulletCollision/BroadphaseCollision/btQuantizedBvh.h + src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h + src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h + src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btBoxBoxDetector.h + src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h + src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h + src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h + src/BulletCollision/CollisionDispatch/btCollisionObject.h + src/BulletCollision/CollisionDispatch/btCollisionObjectWrapper.h + src/BulletCollision/CollisionDispatch/btCollisionWorld.h + src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.h + src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h + src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h + src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h + src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btGhostObject.h + src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.h + src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h + src/BulletCollision/CollisionDispatch/btManifoldResult.h + src/BulletCollision/CollisionDispatch/btSimulationIslandManager.h + src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h + src/BulletCollision/CollisionDispatch/btUnionFind.h + src/BulletCollision/CollisionShapes/btBox2dShape.h + src/BulletCollision/CollisionShapes/btBoxShape.h + src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h + src/BulletCollision/CollisionShapes/btCapsuleShape.h + src/BulletCollision/CollisionShapes/btCollisionMargin.h + src/BulletCollision/CollisionShapes/btCollisionShape.h + src/BulletCollision/CollisionShapes/btCompoundShape.h + src/BulletCollision/CollisionShapes/btConcaveShape.h + src/BulletCollision/CollisionShapes/btConeShape.h + src/BulletCollision/CollisionShapes/btConvex2dShape.h + src/BulletCollision/CollisionShapes/btConvexHullShape.h + src/BulletCollision/CollisionShapes/btConvexInternalShape.h + src/BulletCollision/CollisionShapes/btConvexPointCloudShape.h + src/BulletCollision/CollisionShapes/btConvexPolyhedron.h + src/BulletCollision/CollisionShapes/btConvexShape.h + src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h + src/BulletCollision/CollisionShapes/btCylinderShape.h + src/BulletCollision/CollisionShapes/btEmptyShape.h + src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h + src/BulletCollision/CollisionShapes/btMaterial.h + src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h + src/BulletCollision/CollisionShapes/btMultiSphereShape.h + src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h + src/BulletCollision/CollisionShapes/btOptimizedBvh.h + src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h + src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h + src/BulletCollision/CollisionShapes/btShapeHull.h + src/BulletCollision/CollisionShapes/btSphereShape.h + src/BulletCollision/CollisionShapes/btStaticPlaneShape.h + src/BulletCollision/CollisionShapes/btStridingMeshInterface.h + src/BulletCollision/CollisionShapes/btTetrahedronShape.h + src/BulletCollision/CollisionShapes/btTriangleBuffer.h + src/BulletCollision/CollisionShapes/btTriangleCallback.h + src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h + src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h + src/BulletCollision/CollisionShapes/btTriangleInfoMap.h + src/BulletCollision/CollisionShapes/btTriangleMesh.h + src/BulletCollision/CollisionShapes/btTriangleMeshShape.h + src/BulletCollision/CollisionShapes/btTriangleShape.h + src/BulletCollision/CollisionShapes/btUniformScalingShape.h + src/BulletCollision/Gimpact/btBoxCollision.h + src/BulletCollision/Gimpact/btClipPolygon.h + src/BulletCollision/Gimpact/btCompoundFromGimpact.h + src/BulletCollision/Gimpact/btContactProcessing.h + src/BulletCollision/Gimpact/btGImpactBvh.h + src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h + src/BulletCollision/Gimpact/btGImpactMassUtil.h + src/BulletCollision/Gimpact/btGImpactQuantizedBvh.h + src/BulletCollision/Gimpact/btGImpactShape.h + src/BulletCollision/Gimpact/btGenericPoolAllocator.h + src/BulletCollision/Gimpact/btGeometryOperations.h + src/BulletCollision/Gimpact/btQuantization.h + src/BulletCollision/Gimpact/btTriangleShapeEx.h + src/BulletCollision/Gimpact/gim_array.h + src/BulletCollision/Gimpact/gim_basic_geometry_operations.h + src/BulletCollision/Gimpact/gim_bitset.h + src/BulletCollision/Gimpact/gim_box_collision.h + src/BulletCollision/Gimpact/gim_box_set.h + src/BulletCollision/Gimpact/gim_clip_polygon.h + src/BulletCollision/Gimpact/gim_contact.h + src/BulletCollision/Gimpact/gim_geom_types.h + src/BulletCollision/Gimpact/gim_geometry.h + src/BulletCollision/Gimpact/gim_hash_table.h + src/BulletCollision/Gimpact/gim_linear_math.h + src/BulletCollision/Gimpact/gim_math.h + src/BulletCollision/Gimpact/gim_memory.h + src/BulletCollision/Gimpact/gim_radixsort.h + src/BulletCollision/Gimpact/gim_tri_collision.h + src/BulletCollision/NarrowPhaseCollision/btComputeGjkEpaPenetration.h + src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h + src/BulletCollision/NarrowPhaseCollision/btConvexCast.h + src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h + src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h + src/BulletCollision/NarrowPhaseCollision/btGjkCollisionDescription.h + src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h + src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h + src/BulletCollision/NarrowPhaseCollision/btGjkEpa3.h + src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h + src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h + src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h + src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h + src/BulletCollision/NarrowPhaseCollision/btMprPenetration.h + src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h + src/BulletCollision/NarrowPhaseCollision/btPointCollector.h + src/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h + src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h + src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h + src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h + src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h - src/BulletDynamics/Character/btCharacterControllerInterface.h - src/BulletDynamics/Character/btKinematicCharacterController.h - src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h - src/BulletDynamics/ConstraintSolver/btConstraintSolver.h - src/BulletDynamics/ConstraintSolver/btContactConstraint.h - src/BulletDynamics/ConstraintSolver/btContactSolverInfo.h - src/BulletDynamics/ConstraintSolver/btFixedConstraint.h - src/BulletDynamics/ConstraintSolver/btGearConstraint.h - src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h - src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.h - src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h - src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h - src/BulletDynamics/ConstraintSolver/btHingeConstraint.h - src/BulletDynamics/ConstraintSolver/btJacobianEntry.h - src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.h - src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h - src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h - src/BulletDynamics/ConstraintSolver/btSliderConstraint.h - src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h - src/BulletDynamics/ConstraintSolver/btSolverBody.h - src/BulletDynamics/ConstraintSolver/btSolverConstraint.h - src/BulletDynamics/ConstraintSolver/btTypedConstraint.h - src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h - src/BulletDynamics/Dynamics/btActionInterface.h - src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h - src/BulletDynamics/Dynamics/btDynamicsWorld.h - src/BulletDynamics/Dynamics/btRigidBody.h - src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h - src/BulletDynamics/Featherstone/btMultiBody.h - src/BulletDynamics/Featherstone/btMultiBodyConstraint.h - src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.h - src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.h - src/BulletDynamics/Featherstone/btMultiBodyJointFeedback.h - src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.h - src/BulletDynamics/Featherstone/btMultiBodyJointMotor.h - src/BulletDynamics/Featherstone/btMultiBodyLink.h - src/BulletDynamics/Featherstone/btMultiBodyLinkCollider.h - src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.h - src/BulletDynamics/Featherstone/btMultiBodySolverConstraint.h - src/BulletDynamics/MLCPSolvers/btDantzigLCP.h - src/BulletDynamics/MLCPSolvers/btDantzigSolver.h - src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.h - src/BulletDynamics/MLCPSolvers/btLemkeSolver.h - src/BulletDynamics/MLCPSolvers/btMLCPSolver.h - src/BulletDynamics/MLCPSolvers/btMLCPSolverInterface.h - src/BulletDynamics/MLCPSolvers/btPATHSolver.h - src/BulletDynamics/MLCPSolvers/btSolveProjectedGaussSeidel.h - src/BulletDynamics/Vehicle/btRaycastVehicle.h - src/BulletDynamics/Vehicle/btVehicleRaycaster.h - src/BulletDynamics/Vehicle/btWheelInfo.h + src/BulletDynamics/Character/btCharacterControllerInterface.h + src/BulletDynamics/Character/btKinematicCharacterController.h + src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h + src/BulletDynamics/ConstraintSolver/btConstraintSolver.h + src/BulletDynamics/ConstraintSolver/btContactConstraint.h + src/BulletDynamics/ConstraintSolver/btContactSolverInfo.h + src/BulletDynamics/ConstraintSolver/btFixedConstraint.h + src/BulletDynamics/ConstraintSolver/btGearConstraint.h + src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h + src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.h + src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h + src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h + src/BulletDynamics/ConstraintSolver/btHingeConstraint.h + src/BulletDynamics/ConstraintSolver/btJacobianEntry.h + src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.h + src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h + src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h + src/BulletDynamics/ConstraintSolver/btSliderConstraint.h + src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h + src/BulletDynamics/ConstraintSolver/btSolverBody.h + src/BulletDynamics/ConstraintSolver/btSolverConstraint.h + src/BulletDynamics/ConstraintSolver/btTypedConstraint.h + src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h + src/BulletDynamics/Dynamics/btActionInterface.h + src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h + src/BulletDynamics/Dynamics/btDynamicsWorld.h + src/BulletDynamics/Dynamics/btRigidBody.h + src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h + src/BulletDynamics/Featherstone/btMultiBody.h + src/BulletDynamics/Featherstone/btMultiBodyConstraint.h + src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.h + src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.h + src/BulletDynamics/Featherstone/btMultiBodyJointFeedback.h + src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.h + src/BulletDynamics/Featherstone/btMultiBodyJointMotor.h + src/BulletDynamics/Featherstone/btMultiBodyLink.h + src/BulletDynamics/Featherstone/btMultiBodyLinkCollider.h + src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.h + src/BulletDynamics/Featherstone/btMultiBodySolverConstraint.h + src/BulletDynamics/MLCPSolvers/btDantzigLCP.h + src/BulletDynamics/MLCPSolvers/btDantzigSolver.h + src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.h + src/BulletDynamics/MLCPSolvers/btLemkeSolver.h + src/BulletDynamics/MLCPSolvers/btMLCPSolver.h + src/BulletDynamics/MLCPSolvers/btMLCPSolverInterface.h + src/BulletDynamics/MLCPSolvers/btPATHSolver.h + src/BulletDynamics/MLCPSolvers/btSolveProjectedGaussSeidel.h + src/BulletDynamics/Vehicle/btRaycastVehicle.h + src/BulletDynamics/Vehicle/btVehicleRaycaster.h + src/BulletDynamics/Vehicle/btWheelInfo.h - src/BulletSoftBody/btDefaultSoftBodySolver.h - src/BulletSoftBody/btSoftBody.h - src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h - src/BulletSoftBody/btSoftBodyData.h - src/BulletSoftBody/btSoftBodyHelpers.h - src/BulletSoftBody/btSoftBodyInternals.h - src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h - src/BulletSoftBody/btSoftBodySolverVertexBuffer.h - src/BulletSoftBody/btSoftBodySolvers.h - src/BulletSoftBody/btSoftRigidCollisionAlgorithm.h - src/BulletSoftBody/btSoftRigidDynamicsWorld.h - src/BulletSoftBody/btSoftSoftCollisionAlgorithm.h - src/BulletSoftBody/btSparseSDF.h + src/BulletSoftBody/btDefaultSoftBodySolver.h + src/BulletSoftBody/btSoftBody.h + src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h + src/BulletSoftBody/btSoftBodyData.h + src/BulletSoftBody/btSoftBodyHelpers.h + src/BulletSoftBody/btSoftBodyInternals.h + src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h + src/BulletSoftBody/btSoftBodySolverVertexBuffer.h + src/BulletSoftBody/btSoftBodySolvers.h + src/BulletSoftBody/btSoftRigidCollisionAlgorithm.h + src/BulletSoftBody/btSoftRigidDynamicsWorld.h + src/BulletSoftBody/btSoftSoftCollisionAlgorithm.h + src/BulletSoftBody/btSparseSDF.h - src/LinearMath/btAabbUtil2.h - src/LinearMath/btAlignedAllocator.h - src/LinearMath/btAlignedObjectArray.h - src/LinearMath/btConvexHull.h - src/LinearMath/btConvexHullComputer.h - src/LinearMath/btCpuFeatureUtility.h - src/LinearMath/btDefaultMotionState.h - src/LinearMath/btGeometryUtil.h - src/LinearMath/btGrahamScan2dConvexHull.h - src/LinearMath/btHashMap.h - src/LinearMath/btIDebugDraw.h - src/LinearMath/btList.h - src/LinearMath/btMatrix3x3.h - src/LinearMath/btMatrixX.h - src/LinearMath/btMinMax.h - src/LinearMath/btMotionState.h - src/LinearMath/btPolarDecomposition.h - src/LinearMath/btPoolAllocator.h - src/LinearMath/btQuadWord.h - src/LinearMath/btQuaternion.h - src/LinearMath/btQuickprof.h - src/LinearMath/btRandom.h - src/LinearMath/btScalar.h - src/LinearMath/btSerializer.h - src/LinearMath/btSpatialAlgebra.h - src/LinearMath/btStackAlloc.h - src/LinearMath/btTransform.h - src/LinearMath/btTransformUtil.h - src/LinearMath/btVector3.h + src/LinearMath/btAabbUtil2.h + src/LinearMath/btAlignedAllocator.h + src/LinearMath/btAlignedObjectArray.h + src/LinearMath/btConvexHull.h + src/LinearMath/btConvexHullComputer.h + src/LinearMath/btCpuFeatureUtility.h + src/LinearMath/btDefaultMotionState.h + src/LinearMath/btGeometryUtil.h + src/LinearMath/btGrahamScan2dConvexHull.h + src/LinearMath/btHashMap.h + src/LinearMath/btIDebugDraw.h + src/LinearMath/btList.h + src/LinearMath/btMatrix3x3.h + src/LinearMath/btMatrixX.h + src/LinearMath/btMinMax.h + src/LinearMath/btMotionState.h + src/LinearMath/btPolarDecomposition.h + src/LinearMath/btPoolAllocator.h + src/LinearMath/btQuadWord.h + src/LinearMath/btQuaternion.h + src/LinearMath/btQuickprof.h + src/LinearMath/btRandom.h + src/LinearMath/btScalar.h + src/LinearMath/btSerializer.h + src/LinearMath/btSpatialAlgebra.h + src/LinearMath/btStackAlloc.h + src/LinearMath/btTransform.h + src/LinearMath/btTransformUtil.h + src/LinearMath/btVector3.h - src/btBulletCollisionCommon.h - src/btBulletDynamicsCommon.h - src/Bullet-C-Api.h + src/btBulletCollisionCommon.h + src/btBulletDynamicsCommon.h + src/Bullet-C-Api.h ) set(LIB ) if(CMAKE_COMPILER_IS_GNUCXX) - # needed for gcc 4.6+ - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") + # needed for gcc 4.6+ + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") endif() blender_add_lib(extern_bullet "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") diff --git a/extern/ceres/CMakeLists.txt b/extern/ceres/CMakeLists.txt index d91e64b8fd0..bd3d7f7dab4 100644 --- a/extern/ceres/CMakeLists.txt +++ b/extern/ceres/CMakeLists.txt @@ -23,291 +23,291 @@ # in that script too set(INC - . - include - internal - config - ../gflags/src + . + include + internal + config + ../gflags/src ) set(INC_SYS - ${EIGEN3_INCLUDE_DIRS} - ${GFLAGS_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIRS} + ${GFLAGS_INCLUDE_DIRS} + ${GLOG_INCLUDE_DIRS} ) set(SRC - internal/ceres/array_utils.cc - internal/ceres/blas.cc - internal/ceres/block_evaluate_preparer.cc - internal/ceres/block_jacobian_writer.cc - internal/ceres/block_jacobi_preconditioner.cc - internal/ceres/block_random_access_dense_matrix.cc - internal/ceres/block_random_access_diagonal_matrix.cc - internal/ceres/block_random_access_matrix.cc - internal/ceres/block_random_access_sparse_matrix.cc - internal/ceres/block_sparse_matrix.cc - internal/ceres/block_structure.cc - internal/ceres/callbacks.cc - internal/ceres/c_api.cc - internal/ceres/cgnr_solver.cc - internal/ceres/compressed_col_sparse_matrix_utils.cc - internal/ceres/compressed_row_jacobian_writer.cc - internal/ceres/compressed_row_sparse_matrix.cc - internal/ceres/conditioned_cost_function.cc - internal/ceres/conjugate_gradients_solver.cc - internal/ceres/coordinate_descent_minimizer.cc - internal/ceres/corrector.cc - internal/ceres/covariance.cc - internal/ceres/covariance_impl.cc - internal/ceres/dense_normal_cholesky_solver.cc - internal/ceres/dense_qr_solver.cc - internal/ceres/dense_sparse_matrix.cc - internal/ceres/detect_structure.cc - internal/ceres/dogleg_strategy.cc - internal/ceres/dynamic_compressed_row_jacobian_writer.cc - internal/ceres/dynamic_compressed_row_sparse_matrix.cc - internal/ceres/evaluator.cc - internal/ceres/file.cc - internal/ceres/generated/partitioned_matrix_view_d_d_d.cc - internal/ceres/generated/schur_eliminator_d_d_d.cc - internal/ceres/gradient_checker.cc - internal/ceres/gradient_checking_cost_function.cc - internal/ceres/gradient_problem.cc - internal/ceres/gradient_problem_solver.cc - internal/ceres/implicit_schur_complement.cc - internal/ceres/is_close.cc - internal/ceres/iterative_schur_complement_solver.cc - internal/ceres/lapack.cc - internal/ceres/levenberg_marquardt_strategy.cc - internal/ceres/linear_least_squares_problems.cc - internal/ceres/linear_operator.cc - internal/ceres/linear_solver.cc - internal/ceres/line_search.cc - internal/ceres/line_search_direction.cc - internal/ceres/line_search_minimizer.cc - internal/ceres/line_search_preprocessor.cc - internal/ceres/local_parameterization.cc - internal/ceres/loss_function.cc - internal/ceres/low_rank_inverse_hessian.cc - internal/ceres/minimizer.cc - internal/ceres/normal_prior.cc - internal/ceres/parameter_block_ordering.cc - internal/ceres/partitioned_matrix_view.cc - internal/ceres/polynomial.cc - internal/ceres/preconditioner.cc - internal/ceres/preprocessor.cc - internal/ceres/problem.cc - internal/ceres/problem_impl.cc - internal/ceres/program.cc - internal/ceres/reorder_program.cc - internal/ceres/residual_block.cc - internal/ceres/residual_block_utils.cc - internal/ceres/schur_complement_solver.cc - internal/ceres/schur_eliminator.cc - internal/ceres/schur_jacobi_preconditioner.cc - internal/ceres/scratch_evaluate_preparer.cc - internal/ceres/solver.cc - internal/ceres/solver_utils.cc - internal/ceres/sparse_matrix.cc - internal/ceres/sparse_normal_cholesky_solver.cc - internal/ceres/split.cc - internal/ceres/stringprintf.cc - internal/ceres/triplet_sparse_matrix.cc - internal/ceres/trust_region_minimizer.cc - internal/ceres/trust_region_preprocessor.cc - internal/ceres/trust_region_step_evaluator.cc - internal/ceres/trust_region_strategy.cc - internal/ceres/types.cc - internal/ceres/wall_time.cc + internal/ceres/array_utils.cc + internal/ceres/blas.cc + internal/ceres/block_evaluate_preparer.cc + internal/ceres/block_jacobian_writer.cc + internal/ceres/block_jacobi_preconditioner.cc + internal/ceres/block_random_access_dense_matrix.cc + internal/ceres/block_random_access_diagonal_matrix.cc + internal/ceres/block_random_access_matrix.cc + internal/ceres/block_random_access_sparse_matrix.cc + internal/ceres/block_sparse_matrix.cc + internal/ceres/block_structure.cc + internal/ceres/callbacks.cc + internal/ceres/c_api.cc + internal/ceres/cgnr_solver.cc + internal/ceres/compressed_col_sparse_matrix_utils.cc + internal/ceres/compressed_row_jacobian_writer.cc + internal/ceres/compressed_row_sparse_matrix.cc + internal/ceres/conditioned_cost_function.cc + internal/ceres/conjugate_gradients_solver.cc + internal/ceres/coordinate_descent_minimizer.cc + internal/ceres/corrector.cc + internal/ceres/covariance.cc + internal/ceres/covariance_impl.cc + internal/ceres/dense_normal_cholesky_solver.cc + internal/ceres/dense_qr_solver.cc + internal/ceres/dense_sparse_matrix.cc + internal/ceres/detect_structure.cc + internal/ceres/dogleg_strategy.cc + internal/ceres/dynamic_compressed_row_jacobian_writer.cc + internal/ceres/dynamic_compressed_row_sparse_matrix.cc + internal/ceres/evaluator.cc + internal/ceres/file.cc + internal/ceres/generated/partitioned_matrix_view_d_d_d.cc + internal/ceres/generated/schur_eliminator_d_d_d.cc + internal/ceres/gradient_checker.cc + internal/ceres/gradient_checking_cost_function.cc + internal/ceres/gradient_problem.cc + internal/ceres/gradient_problem_solver.cc + internal/ceres/implicit_schur_complement.cc + internal/ceres/is_close.cc + internal/ceres/iterative_schur_complement_solver.cc + internal/ceres/lapack.cc + internal/ceres/levenberg_marquardt_strategy.cc + internal/ceres/linear_least_squares_problems.cc + internal/ceres/linear_operator.cc + internal/ceres/linear_solver.cc + internal/ceres/line_search.cc + internal/ceres/line_search_direction.cc + internal/ceres/line_search_minimizer.cc + internal/ceres/line_search_preprocessor.cc + internal/ceres/local_parameterization.cc + internal/ceres/loss_function.cc + internal/ceres/low_rank_inverse_hessian.cc + internal/ceres/minimizer.cc + internal/ceres/normal_prior.cc + internal/ceres/parameter_block_ordering.cc + internal/ceres/partitioned_matrix_view.cc + internal/ceres/polynomial.cc + internal/ceres/preconditioner.cc + internal/ceres/preprocessor.cc + internal/ceres/problem.cc + internal/ceres/problem_impl.cc + internal/ceres/program.cc + internal/ceres/reorder_program.cc + internal/ceres/residual_block.cc + internal/ceres/residual_block_utils.cc + internal/ceres/schur_complement_solver.cc + internal/ceres/schur_eliminator.cc + internal/ceres/schur_jacobi_preconditioner.cc + internal/ceres/scratch_evaluate_preparer.cc + internal/ceres/solver.cc + internal/ceres/solver_utils.cc + internal/ceres/sparse_matrix.cc + internal/ceres/sparse_normal_cholesky_solver.cc + internal/ceres/split.cc + internal/ceres/stringprintf.cc + internal/ceres/triplet_sparse_matrix.cc + internal/ceres/trust_region_minimizer.cc + internal/ceres/trust_region_preprocessor.cc + internal/ceres/trust_region_step_evaluator.cc + internal/ceres/trust_region_strategy.cc + internal/ceres/types.cc + internal/ceres/wall_time.cc - include/ceres/autodiff_cost_function.h - include/ceres/autodiff_local_parameterization.h - include/ceres/c_api.h - include/ceres/ceres.h - include/ceres/conditioned_cost_function.h - include/ceres/cost_function.h - include/ceres/cost_function_to_functor.h - include/ceres/covariance.h - include/ceres/crs_matrix.h - include/ceres/dynamic_autodiff_cost_function.h - include/ceres/dynamic_cost_function_to_functor.h - include/ceres/dynamic_numeric_diff_cost_function.h - include/ceres/fpclassify.h - include/ceres/gradient_checker.h - include/ceres/gradient_problem.h - include/ceres/gradient_problem_solver.h - include/ceres/internal/autodiff.h - include/ceres/internal/disable_warnings.h - include/ceres/internal/eigen.h - include/ceres/internal/fixed_array.h - include/ceres/internal/macros.h - include/ceres/internal/manual_constructor.h - include/ceres/internal/numeric_diff.h - include/ceres/internal/port.h - include/ceres/internal/reenable_warnings.h - include/ceres/internal/scoped_ptr.h - include/ceres/internal/variadic_evaluate.h - include/ceres/iteration_callback.h - include/ceres/jet.h - include/ceres/local_parameterization.h - include/ceres/loss_function.h - include/ceres/normal_prior.h - include/ceres/numeric_diff_cost_function.h - include/ceres/numeric_diff_options.h - include/ceres/ordered_groups.h - include/ceres/problem.h - include/ceres/rotation.h - include/ceres/sized_cost_function.h - include/ceres/solver.h - include/ceres/types.h - include/ceres/version.h - internal/ceres/array_utils.h - internal/ceres/blas.h - internal/ceres/block_evaluate_preparer.h - internal/ceres/block_jacobian_writer.h - internal/ceres/block_jacobi_preconditioner.h - internal/ceres/block_random_access_dense_matrix.h - internal/ceres/block_random_access_diagonal_matrix.h - internal/ceres/block_random_access_matrix.h - internal/ceres/block_random_access_sparse_matrix.h - internal/ceres/block_sparse_matrix.h - internal/ceres/block_structure.h - internal/ceres/callbacks.h - internal/ceres/casts.h - internal/ceres/cgnr_linear_operator.h - internal/ceres/cgnr_solver.h - internal/ceres/collections_port.h - internal/ceres/compressed_col_sparse_matrix_utils.h - internal/ceres/compressed_row_jacobian_writer.h - internal/ceres/compressed_row_sparse_matrix.h - internal/ceres/conjugate_gradients_solver.h - internal/ceres/coordinate_descent_minimizer.h - internal/ceres/corrector.h - internal/ceres/covariance_impl.h - internal/ceres/cxsparse.h - internal/ceres/dense_jacobian_writer.h - internal/ceres/dense_normal_cholesky_solver.h - internal/ceres/dense_qr_solver.h - internal/ceres/dense_sparse_matrix.h - internal/ceres/detect_structure.h - internal/ceres/dogleg_strategy.h - internal/ceres/dynamic_compressed_row_finalizer.h - internal/ceres/dynamic_compressed_row_jacobian_writer.h - internal/ceres/dynamic_compressed_row_sparse_matrix.h - internal/ceres/evaluator.h - internal/ceres/execution_summary.h - internal/ceres/file.h - internal/ceres/gradient_checking_cost_function.h - internal/ceres/gradient_problem_evaluator.h - internal/ceres/graph_algorithms.h - internal/ceres/graph.h - internal/ceres/householder_vector.h - internal/ceres/implicit_schur_complement.h - internal/ceres/integral_types.h - internal/ceres/is_close.h - internal/ceres/iterative_schur_complement_solver.h - internal/ceres/lapack.h - internal/ceres/levenberg_marquardt_strategy.h - internal/ceres/linear_least_squares_problems.h - internal/ceres/linear_operator.h - internal/ceres/linear_solver.h - internal/ceres/line_search_direction.h - internal/ceres/line_search.h - internal/ceres/line_search_minimizer.h - internal/ceres/line_search_preprocessor.h - internal/ceres/low_rank_inverse_hessian.h - internal/ceres/map_util.h - internal/ceres/minimizer.h - internal/ceres/mutex.h - internal/ceres/parameter_block.h - internal/ceres/parameter_block_ordering.h - internal/ceres/partitioned_matrix_view.h - internal/ceres/partitioned_matrix_view_impl.h - internal/ceres/polynomial.h - internal/ceres/preconditioner.h - internal/ceres/preprocessor.h - internal/ceres/problem_impl.h - internal/ceres/program_evaluator.h - internal/ceres/program.h - internal/ceres/random.h - internal/ceres/reorder_program.h - internal/ceres/residual_block.h - internal/ceres/residual_block_utils.h - internal/ceres/schur_complement_solver.h - internal/ceres/schur_eliminator.h - internal/ceres/schur_eliminator_impl.h - internal/ceres/schur_jacobi_preconditioner.h - internal/ceres/scratch_evaluate_preparer.h - internal/ceres/small_blas.h - internal/ceres/solver_utils.h - internal/ceres/sparse_matrix.h - internal/ceres/sparse_normal_cholesky_solver.h - internal/ceres/split.h - internal/ceres/stl_util.h - internal/ceres/stringprintf.h - internal/ceres/suitesparse.h - internal/ceres/triplet_sparse_matrix.h - internal/ceres/trust_region_minimizer.h - internal/ceres/trust_region_preprocessor.h - internal/ceres/trust_region_step_evaluator.h - internal/ceres/trust_region_strategy.h - internal/ceres/visibility_based_preconditioner.h - internal/ceres/wall_time.h + include/ceres/autodiff_cost_function.h + include/ceres/autodiff_local_parameterization.h + include/ceres/c_api.h + include/ceres/ceres.h + include/ceres/conditioned_cost_function.h + include/ceres/cost_function.h + include/ceres/cost_function_to_functor.h + include/ceres/covariance.h + include/ceres/crs_matrix.h + include/ceres/dynamic_autodiff_cost_function.h + include/ceres/dynamic_cost_function_to_functor.h + include/ceres/dynamic_numeric_diff_cost_function.h + include/ceres/fpclassify.h + include/ceres/gradient_checker.h + include/ceres/gradient_problem.h + include/ceres/gradient_problem_solver.h + include/ceres/internal/autodiff.h + include/ceres/internal/disable_warnings.h + include/ceres/internal/eigen.h + include/ceres/internal/fixed_array.h + include/ceres/internal/macros.h + include/ceres/internal/manual_constructor.h + include/ceres/internal/numeric_diff.h + include/ceres/internal/port.h + include/ceres/internal/reenable_warnings.h + include/ceres/internal/scoped_ptr.h + include/ceres/internal/variadic_evaluate.h + include/ceres/iteration_callback.h + include/ceres/jet.h + include/ceres/local_parameterization.h + include/ceres/loss_function.h + include/ceres/normal_prior.h + include/ceres/numeric_diff_cost_function.h + include/ceres/numeric_diff_options.h + include/ceres/ordered_groups.h + include/ceres/problem.h + include/ceres/rotation.h + include/ceres/sized_cost_function.h + include/ceres/solver.h + include/ceres/types.h + include/ceres/version.h + internal/ceres/array_utils.h + internal/ceres/blas.h + internal/ceres/block_evaluate_preparer.h + internal/ceres/block_jacobian_writer.h + internal/ceres/block_jacobi_preconditioner.h + internal/ceres/block_random_access_dense_matrix.h + internal/ceres/block_random_access_diagonal_matrix.h + internal/ceres/block_random_access_matrix.h + internal/ceres/block_random_access_sparse_matrix.h + internal/ceres/block_sparse_matrix.h + internal/ceres/block_structure.h + internal/ceres/callbacks.h + internal/ceres/casts.h + internal/ceres/cgnr_linear_operator.h + internal/ceres/cgnr_solver.h + internal/ceres/collections_port.h + internal/ceres/compressed_col_sparse_matrix_utils.h + internal/ceres/compressed_row_jacobian_writer.h + internal/ceres/compressed_row_sparse_matrix.h + internal/ceres/conjugate_gradients_solver.h + internal/ceres/coordinate_descent_minimizer.h + internal/ceres/corrector.h + internal/ceres/covariance_impl.h + internal/ceres/cxsparse.h + internal/ceres/dense_jacobian_writer.h + internal/ceres/dense_normal_cholesky_solver.h + internal/ceres/dense_qr_solver.h + internal/ceres/dense_sparse_matrix.h + internal/ceres/detect_structure.h + internal/ceres/dogleg_strategy.h + internal/ceres/dynamic_compressed_row_finalizer.h + internal/ceres/dynamic_compressed_row_jacobian_writer.h + internal/ceres/dynamic_compressed_row_sparse_matrix.h + internal/ceres/evaluator.h + internal/ceres/execution_summary.h + internal/ceres/file.h + internal/ceres/gradient_checking_cost_function.h + internal/ceres/gradient_problem_evaluator.h + internal/ceres/graph_algorithms.h + internal/ceres/graph.h + internal/ceres/householder_vector.h + internal/ceres/implicit_schur_complement.h + internal/ceres/integral_types.h + internal/ceres/is_close.h + internal/ceres/iterative_schur_complement_solver.h + internal/ceres/lapack.h + internal/ceres/levenberg_marquardt_strategy.h + internal/ceres/linear_least_squares_problems.h + internal/ceres/linear_operator.h + internal/ceres/linear_solver.h + internal/ceres/line_search_direction.h + internal/ceres/line_search.h + internal/ceres/line_search_minimizer.h + internal/ceres/line_search_preprocessor.h + internal/ceres/low_rank_inverse_hessian.h + internal/ceres/map_util.h + internal/ceres/minimizer.h + internal/ceres/mutex.h + internal/ceres/parameter_block.h + internal/ceres/parameter_block_ordering.h + internal/ceres/partitioned_matrix_view.h + internal/ceres/partitioned_matrix_view_impl.h + internal/ceres/polynomial.h + internal/ceres/preconditioner.h + internal/ceres/preprocessor.h + internal/ceres/problem_impl.h + internal/ceres/program_evaluator.h + internal/ceres/program.h + internal/ceres/random.h + internal/ceres/reorder_program.h + internal/ceres/residual_block.h + internal/ceres/residual_block_utils.h + internal/ceres/schur_complement_solver.h + internal/ceres/schur_eliminator.h + internal/ceres/schur_eliminator_impl.h + internal/ceres/schur_jacobi_preconditioner.h + internal/ceres/scratch_evaluate_preparer.h + internal/ceres/small_blas.h + internal/ceres/solver_utils.h + internal/ceres/sparse_matrix.h + internal/ceres/sparse_normal_cholesky_solver.h + internal/ceres/split.h + internal/ceres/stl_util.h + internal/ceres/stringprintf.h + internal/ceres/suitesparse.h + internal/ceres/triplet_sparse_matrix.h + internal/ceres/trust_region_minimizer.h + internal/ceres/trust_region_preprocessor.h + internal/ceres/trust_region_step_evaluator.h + internal/ceres/trust_region_strategy.h + internal/ceres/visibility_based_preconditioner.h + internal/ceres/wall_time.h ) set(LIB ) if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING)) - list(APPEND LIB - extern_glog - ) + list(APPEND LIB + extern_glog + ) endif() if(WITH_LIBMV_SCHUR_SPECIALIZATIONS) - list(APPEND SRC - internal/ceres/generated/partitioned_matrix_view_2_2_2.cc - internal/ceres/generated/partitioned_matrix_view_2_2_3.cc - internal/ceres/generated/partitioned_matrix_view_2_2_4.cc - internal/ceres/generated/partitioned_matrix_view_2_2_d.cc - internal/ceres/generated/partitioned_matrix_view_2_3_3.cc - internal/ceres/generated/partitioned_matrix_view_2_3_4.cc - internal/ceres/generated/partitioned_matrix_view_2_3_6.cc - internal/ceres/generated/partitioned_matrix_view_2_3_9.cc - internal/ceres/generated/partitioned_matrix_view_2_3_d.cc - internal/ceres/generated/partitioned_matrix_view_2_4_3.cc - internal/ceres/generated/partitioned_matrix_view_2_4_4.cc - internal/ceres/generated/partitioned_matrix_view_2_4_8.cc - internal/ceres/generated/partitioned_matrix_view_2_4_9.cc - internal/ceres/generated/partitioned_matrix_view_2_4_d.cc - internal/ceres/generated/partitioned_matrix_view_2_d_d.cc - internal/ceres/generated/partitioned_matrix_view_4_4_2.cc - internal/ceres/generated/partitioned_matrix_view_4_4_3.cc - internal/ceres/generated/partitioned_matrix_view_4_4_4.cc - internal/ceres/generated/partitioned_matrix_view_4_4_d.cc - internal/ceres/generated/schur_eliminator_2_2_2.cc - internal/ceres/generated/schur_eliminator_2_2_3.cc - internal/ceres/generated/schur_eliminator_2_2_4.cc - internal/ceres/generated/schur_eliminator_2_2_d.cc - internal/ceres/generated/schur_eliminator_2_3_3.cc - internal/ceres/generated/schur_eliminator_2_3_4.cc - internal/ceres/generated/schur_eliminator_2_3_6.cc - internal/ceres/generated/schur_eliminator_2_3_9.cc - internal/ceres/generated/schur_eliminator_2_3_d.cc - internal/ceres/generated/schur_eliminator_2_4_3.cc - internal/ceres/generated/schur_eliminator_2_4_4.cc - internal/ceres/generated/schur_eliminator_2_4_8.cc - internal/ceres/generated/schur_eliminator_2_4_9.cc - internal/ceres/generated/schur_eliminator_2_4_d.cc - internal/ceres/generated/schur_eliminator_2_d_d.cc - internal/ceres/generated/schur_eliminator_4_4_2.cc - internal/ceres/generated/schur_eliminator_4_4_3.cc - internal/ceres/generated/schur_eliminator_4_4_4.cc - internal/ceres/generated/schur_eliminator_4_4_d.cc - ) + list(APPEND SRC + internal/ceres/generated/partitioned_matrix_view_2_2_2.cc + internal/ceres/generated/partitioned_matrix_view_2_2_3.cc + internal/ceres/generated/partitioned_matrix_view_2_2_4.cc + internal/ceres/generated/partitioned_matrix_view_2_2_d.cc + internal/ceres/generated/partitioned_matrix_view_2_3_3.cc + internal/ceres/generated/partitioned_matrix_view_2_3_4.cc + internal/ceres/generated/partitioned_matrix_view_2_3_6.cc + internal/ceres/generated/partitioned_matrix_view_2_3_9.cc + internal/ceres/generated/partitioned_matrix_view_2_3_d.cc + internal/ceres/generated/partitioned_matrix_view_2_4_3.cc + internal/ceres/generated/partitioned_matrix_view_2_4_4.cc + internal/ceres/generated/partitioned_matrix_view_2_4_8.cc + internal/ceres/generated/partitioned_matrix_view_2_4_9.cc + internal/ceres/generated/partitioned_matrix_view_2_4_d.cc + internal/ceres/generated/partitioned_matrix_view_2_d_d.cc + internal/ceres/generated/partitioned_matrix_view_4_4_2.cc + internal/ceres/generated/partitioned_matrix_view_4_4_3.cc + internal/ceres/generated/partitioned_matrix_view_4_4_4.cc + internal/ceres/generated/partitioned_matrix_view_4_4_d.cc + internal/ceres/generated/schur_eliminator_2_2_2.cc + internal/ceres/generated/schur_eliminator_2_2_3.cc + internal/ceres/generated/schur_eliminator_2_2_4.cc + internal/ceres/generated/schur_eliminator_2_2_d.cc + internal/ceres/generated/schur_eliminator_2_3_3.cc + internal/ceres/generated/schur_eliminator_2_3_4.cc + internal/ceres/generated/schur_eliminator_2_3_6.cc + internal/ceres/generated/schur_eliminator_2_3_9.cc + internal/ceres/generated/schur_eliminator_2_3_d.cc + internal/ceres/generated/schur_eliminator_2_4_3.cc + internal/ceres/generated/schur_eliminator_2_4_4.cc + internal/ceres/generated/schur_eliminator_2_4_8.cc + internal/ceres/generated/schur_eliminator_2_4_9.cc + internal/ceres/generated/schur_eliminator_2_4_d.cc + internal/ceres/generated/schur_eliminator_2_d_d.cc + internal/ceres/generated/schur_eliminator_4_4_2.cc + internal/ceres/generated/schur_eliminator_4_4_3.cc + internal/ceres/generated/schur_eliminator_4_4_4.cc + internal/ceres/generated/schur_eliminator_4_4_d.cc + ) else() - add_definitions(-DCERES_RESTRICT_SCHUR_SPECIALIZATION) + add_definitions(-DCERES_RESTRICT_SCHUR_SPECIALIZATION) endif() add_definitions(${GFLAGS_DEFINES}) @@ -315,17 +315,17 @@ add_definitions(${GLOG_DEFINES}) add_definitions(${CERES_DEFINES}) add_definitions( - -DCERES_HAVE_PTHREAD - -DCERES_NO_SUITESPARSE - -DCERES_NO_CXSPARSE - -DCERES_NO_LAPACK - -DCERES_HAVE_RWLOCK + -DCERES_HAVE_PTHREAD + -DCERES_NO_SUITESPARSE + -DCERES_NO_CXSPARSE + -DCERES_NO_LAPACK + -DCERES_HAVE_RWLOCK ) if(WITH_OPENMP) - add_definitions( - -DCERES_USE_OPENMP - ) + add_definitions( + -DCERES_USE_OPENMP + ) endif() blender_add_lib(extern_ceres "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") diff --git a/extern/ceres/bundle.sh b/extern/ceres/bundle.sh index 561e2b404c1..bf5a43852b5 100755 --- a/extern/ceres/bundle.sh +++ b/extern/ceres/bundle.sh @@ -116,17 +116,17 @@ cat > CMakeLists.txt << EOF # in that script too set(INC - . - include - internal - config - ../gflags/src + . + include + internal + config + ../gflags/src ) set(INC_SYS - \${EIGEN3_INCLUDE_DIRS} - \${GFLAGS_INCLUDE_DIRS} - \${GLOG_INCLUDE_DIRS} + \${EIGEN3_INCLUDE_DIRS} + \${GFLAGS_INCLUDE_DIRS} + \${GLOG_INCLUDE_DIRS} ) set(SRC @@ -136,15 +136,15 @@ ${headers} ) set(LIB - extern_glog + extern_glog ) if(WITH_LIBMV_SCHUR_SPECIALIZATIONS) - list(APPEND SRC + list(APPEND SRC ${generated_sources} - ) + ) else() - add_definitions(-DCERES_RESTRICT_SCHUR_SPECIALIZATION) + add_definitions(-DCERES_RESTRICT_SCHUR_SPECIALIZATION) endif() add_definitions(\${GFLAGS_DEFINES}) @@ -152,17 +152,17 @@ add_definitions(\${GLOG_DEFINES}) add_definitions(\${CERES_DEFINES}) add_definitions( - -DCERES_HAVE_PTHREAD - -DCERES_NO_SUITESPARSE - -DCERES_NO_CXSPARSE - -DCERES_NO_LAPACK - -DCERES_HAVE_RWLOCK + -DCERES_HAVE_PTHREAD + -DCERES_NO_SUITESPARSE + -DCERES_NO_CXSPARSE + -DCERES_NO_LAPACK + -DCERES_HAVE_RWLOCK ) if(WITH_OPENMP) - add_definitions( - -DCERES_USE_OPENMP - ) + add_definitions( + -DCERES_USE_OPENMP + ) endif() blender_add_lib(extern_ceres "\${SRC}" "\${INC}" "\${INC_SYS}" "\${LIB}") diff --git a/extern/clew/CMakeLists.txt b/extern/clew/CMakeLists.txt index 806771cb7f4..cffbf4e855f 100644 --- a/extern/clew/CMakeLists.txt +++ b/extern/clew/CMakeLists.txt @@ -19,8 +19,8 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . - include + . + include ) set(INC_SYS @@ -28,8 +28,8 @@ set(INC_SYS ) set(SRC - include/clew.h - src/clew.c + include/clew.h + src/clew.c ) set(LIB diff --git a/extern/cuew/CMakeLists.txt b/extern/cuew/CMakeLists.txt index 45d10e29799..de54d9642ce 100644 --- a/extern/cuew/CMakeLists.txt +++ b/extern/cuew/CMakeLists.txt @@ -19,8 +19,8 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . - include + . + include ) set(INC_SYS @@ -28,9 +28,9 @@ set(INC_SYS ) set(SRC - src/cuew.c + src/cuew.c - include/cuew.h + include/cuew.h ) set(LIB diff --git a/extern/curve_fit_nd/CMakeLists.txt b/extern/curve_fit_nd/CMakeLists.txt index f9264f9b890..11b16c8fa8a 100644 --- a/extern/curve_fit_nd/CMakeLists.txt +++ b/extern/curve_fit_nd/CMakeLists.txt @@ -17,7 +17,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . + . ) set(INC_SYS @@ -25,15 +25,15 @@ set(INC_SYS ) set(SRC - intern/curve_fit_cubic.c - intern/curve_fit_cubic_refit.c - intern/curve_fit_corners_detect.c + intern/curve_fit_cubic.c + intern/curve_fit_cubic_refit.c + intern/curve_fit_corners_detect.c - curve_fit_nd.h - intern/curve_fit_inline.h - intern/generic_alloc_impl.h - intern/generic_heap.c - intern/generic_heap.h + curve_fit_nd.h + intern/curve_fit_inline.h + intern/generic_alloc_impl.h + intern/generic_heap.c + intern/generic_heap.h ) set(LIB diff --git a/extern/draco/dracoenc/CMakeLists.txt b/extern/draco/dracoenc/CMakeLists.txt index 04f54ab9293..3d33bdb74c2 100644 --- a/extern/draco/dracoenc/CMakeLists.txt +++ b/extern/draco/dracoenc/CMakeLists.txt @@ -1,188 +1,188 @@ remove_strict_flags() set(SRC - src/draco/animation/keyframe_animation.cc - src/draco/animation/keyframe_animation_encoder.cc - src/draco/animation/keyframe_animation_encoder.h - src/draco/animation/keyframe_animation.h - src/draco/attributes/attribute_octahedron_transform.cc - src/draco/attributes/attribute_octahedron_transform.h - src/draco/attributes/attribute_quantization_transform.cc - src/draco/attributes/attribute_quantization_transform.h - src/draco/attributes/attribute_transform.cc - src/draco/attributes/attribute_transform_data.h - src/draco/attributes/attribute_transform.h - src/draco/attributes/attribute_transform_type.h - src/draco/attributes/geometry_attribute.cc - src/draco/attributes/geometry_attribute.h - src/draco/attributes/geometry_indices.h - src/draco/attributes/point_attribute.cc - src/draco/attributes/point_attribute.h - src/draco/compression/attributes/attributes_encoder.cc - src/draco/compression/attributes/attributes_encoder.h - src/draco/compression/attributes/kd_tree_attributes_encoder.cc - src/draco/compression/attributes/kd_tree_attributes_encoder.h - src/draco/compression/attributes/linear_sequencer.h - src/draco/compression/attributes/points_sequencer.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_encoder.h - src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_delta_encoder.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.cc - src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_interface.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoding_transform.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_factory.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_interface.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_encoding_transform.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_encoding_transform.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_encoding_transform.h - src/draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h - src/draco/compression/attributes/sequential_attribute_encoder.cc - src/draco/compression/attributes/sequential_attribute_encoder.h - src/draco/compression/attributes/sequential_attribute_encoders_controller.cc - src/draco/compression/attributes/sequential_attribute_encoders_controller.h - src/draco/compression/attributes/sequential_integer_attribute_encoder.cc - src/draco/compression/attributes/sequential_integer_attribute_encoder.h - src/draco/compression/attributes/sequential_normal_attribute_encoder.cc - src/draco/compression/attributes/sequential_normal_attribute_encoder.h - src/draco/compression/attributes/sequential_quantization_attribute_encoder.cc - src/draco/compression/attributes/sequential_quantization_attribute_encoder.h - src/draco/compression/bit_coders/adaptive_rans_bit_coding_shared.h - src/draco/compression/bit_coders/adaptive_rans_bit_encoder.cc - src/draco/compression/bit_coders/adaptive_rans_bit_encoder.h - src/draco/compression/bit_coders/direct_bit_encoder.cc - src/draco/compression/bit_coders/direct_bit_encoder.h - src/draco/compression/bit_coders/folded_integer_bit_encoder.h - src/draco/compression/bit_coders/rans_bit_encoder.cc - src/draco/compression/bit_coders/rans_bit_encoder.h - src/draco/compression/bit_coders/symbol_bit_encoder.cc - src/draco/compression/bit_coders/symbol_bit_encoder.h - src/draco/compression/config/compression_shared.h - src/draco/compression/config/draco_options.h - src/draco/compression/config/encoder_options.h - src/draco/compression/config/encoding_features.h - src/draco/compression/encode_base.h - src/draco/compression/encode.cc - src/draco/compression/encode.h - src/draco/compression/entropy/ans.h - src/draco/compression/entropy/rans_symbol_coding.h - src/draco/compression/entropy/rans_symbol_encoder.h - src/draco/compression/entropy/shannon_entropy.cc - src/draco/compression/entropy/shannon_entropy.h - src/draco/compression/entropy/symbol_encoding.cc - src/draco/compression/entropy/symbol_encoding.h - src/draco/compression/expert_encode.cc - src/draco/compression/expert_encode.h - src/draco/compression/mesh/mesh_edgebreaker_encoder.cc - src/draco/compression/mesh/mesh_edgebreaker_encoder.h - src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc - src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.h - src/draco/compression/mesh/mesh_edgebreaker_encoder_impl_interface.h - src/draco/compression/mesh/mesh_edgebreaker_shared.h - src/draco/compression/mesh/mesh_edgebreaker_traversal_encoder.h - src/draco/compression/mesh/mesh_edgebreaker_traversal_predictive_encoder.h - src/draco/compression/mesh/mesh_edgebreaker_traversal_valence_encoder.h - src/draco/compression/mesh/mesh_encoder.cc - src/draco/compression/mesh/mesh_encoder.h - src/draco/compression/mesh/mesh_encoder_helpers.h - src/draco/compression/mesh/mesh_sequential_encoder.cc - src/draco/compression/mesh/mesh_sequential_encoder.h - src/draco/compression/mesh/traverser/depth_first_traverser.h - src/draco/compression/mesh/traverser/max_prediction_degree_traverser.h - src/draco/compression/mesh/traverser/mesh_attribute_indices_encoding_observer.h - src/draco/compression/mesh/traverser/mesh_traversal_sequencer.h - src/draco/compression/mesh/traverser/traverser_base.h - src/draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.cc - src/draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.h - src/draco/compression/point_cloud/algorithms/float_points_tree_encoder.cc - src/draco/compression/point_cloud/algorithms/float_points_tree_encoder.h - src/draco/compression/point_cloud/algorithms/point_cloud_compression_method.h - src/draco/compression/point_cloud/algorithms/point_cloud_types.h - src/draco/compression/point_cloud/algorithms/quantize_points_3.h - src/draco/compression/point_cloud/algorithms/queuing_policy.h - src/draco/compression/point_cloud/point_cloud_encoder.cc - src/draco/compression/point_cloud/point_cloud_encoder.h - src/draco/compression/point_cloud/point_cloud_kd_tree_encoder.cc - src/draco/compression/point_cloud/point_cloud_kd_tree_encoder.h - src/draco/compression/point_cloud/point_cloud_sequential_encoder.cc - src/draco/compression/point_cloud/point_cloud_sequential_encoder.h - src/draco/core/bit_utils.cc - src/draco/core/bit_utils.h - src/draco/core/bounding_box.cc - src/draco/core/bounding_box.h - src/draco/core/cycle_timer.cc - src/draco/core/cycle_timer.h - src/draco/core/data_buffer.cc - src/draco/core/data_buffer.h - src/draco/core/divide.cc - src/draco/core/divide.h - src/draco/core/draco_index_type.h - src/draco/core/draco_index_type_vector.h - src/draco/core/draco_types.cc - src/draco/core/draco_types.h - src/draco/core/encoder_buffer.cc - src/draco/core/encoder_buffer.h - src/draco/core/hash_utils.cc - src/draco/core/hash_utils.h - src/draco/core/macros.h - src/draco/core/math_utils.h - src/draco/core/options.cc - src/draco/core/options.h - src/draco/core/quantization_utils.cc - src/draco/core/quantization_utils.h - src/draco/core/status.h - src/draco/core/statusor.h - src/draco/core/varint_encoding.h - src/draco/core/vector_d.h - src/draco/mesh/corner_table.cc - src/draco/mesh/corner_table.h - src/draco/mesh/corner_table_iterators.h - src/draco/mesh/mesh_are_equivalent.cc - src/draco/mesh/mesh_are_equivalent.h - src/draco/mesh/mesh_attribute_corner_table.cc - src/draco/mesh/mesh_attribute_corner_table.h - src/draco/mesh/mesh.cc - src/draco/mesh/mesh_cleanup.cc - src/draco/mesh/mesh_cleanup.h - src/draco/mesh/mesh.h - src/draco/mesh/mesh_misc_functions.cc - src/draco/mesh/mesh_misc_functions.h - src/draco/mesh/mesh_stripifier.cc - src/draco/mesh/mesh_stripifier.h - src/draco/mesh/triangle_soup_mesh_builder.cc - src/draco/mesh/triangle_soup_mesh_builder.h - src/draco/mesh/valence_cache.h - src/draco/metadata/geometry_metadata.cc - src/draco/metadata/geometry_metadata.h - src/draco/metadata/metadata.cc - src/draco/metadata/metadata_encoder.cc - src/draco/metadata/metadata_encoder.h - src/draco/metadata/metadata.h - src/draco/point_cloud/point_cloud_builder.cc - src/draco/point_cloud/point_cloud_builder.h - src/draco/point_cloud/point_cloud.cc - src/draco/point_cloud/point_cloud.h + src/draco/animation/keyframe_animation.cc + src/draco/animation/keyframe_animation_encoder.cc + src/draco/animation/keyframe_animation_encoder.h + src/draco/animation/keyframe_animation.h + src/draco/attributes/attribute_octahedron_transform.cc + src/draco/attributes/attribute_octahedron_transform.h + src/draco/attributes/attribute_quantization_transform.cc + src/draco/attributes/attribute_quantization_transform.h + src/draco/attributes/attribute_transform.cc + src/draco/attributes/attribute_transform_data.h + src/draco/attributes/attribute_transform.h + src/draco/attributes/attribute_transform_type.h + src/draco/attributes/geometry_attribute.cc + src/draco/attributes/geometry_attribute.h + src/draco/attributes/geometry_indices.h + src/draco/attributes/point_attribute.cc + src/draco/attributes/point_attribute.h + src/draco/compression/attributes/attributes_encoder.cc + src/draco/compression/attributes/attributes_encoder.h + src/draco/compression/attributes/kd_tree_attributes_encoder.cc + src/draco/compression/attributes/kd_tree_attributes_encoder.h + src/draco/compression/attributes/linear_sequencer.h + src/draco/compression/attributes/points_sequencer.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_encoder.h + src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_delta_encoder.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.cc + src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_interface.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_encoding_transform.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_factory.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_interface.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_encoding_transform.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_encoding_transform.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_encoding_transform.h + src/draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h + src/draco/compression/attributes/sequential_attribute_encoder.cc + src/draco/compression/attributes/sequential_attribute_encoder.h + src/draco/compression/attributes/sequential_attribute_encoders_controller.cc + src/draco/compression/attributes/sequential_attribute_encoders_controller.h + src/draco/compression/attributes/sequential_integer_attribute_encoder.cc + src/draco/compression/attributes/sequential_integer_attribute_encoder.h + src/draco/compression/attributes/sequential_normal_attribute_encoder.cc + src/draco/compression/attributes/sequential_normal_attribute_encoder.h + src/draco/compression/attributes/sequential_quantization_attribute_encoder.cc + src/draco/compression/attributes/sequential_quantization_attribute_encoder.h + src/draco/compression/bit_coders/adaptive_rans_bit_coding_shared.h + src/draco/compression/bit_coders/adaptive_rans_bit_encoder.cc + src/draco/compression/bit_coders/adaptive_rans_bit_encoder.h + src/draco/compression/bit_coders/direct_bit_encoder.cc + src/draco/compression/bit_coders/direct_bit_encoder.h + src/draco/compression/bit_coders/folded_integer_bit_encoder.h + src/draco/compression/bit_coders/rans_bit_encoder.cc + src/draco/compression/bit_coders/rans_bit_encoder.h + src/draco/compression/bit_coders/symbol_bit_encoder.cc + src/draco/compression/bit_coders/symbol_bit_encoder.h + src/draco/compression/config/compression_shared.h + src/draco/compression/config/draco_options.h + src/draco/compression/config/encoder_options.h + src/draco/compression/config/encoding_features.h + src/draco/compression/encode_base.h + src/draco/compression/encode.cc + src/draco/compression/encode.h + src/draco/compression/entropy/ans.h + src/draco/compression/entropy/rans_symbol_coding.h + src/draco/compression/entropy/rans_symbol_encoder.h + src/draco/compression/entropy/shannon_entropy.cc + src/draco/compression/entropy/shannon_entropy.h + src/draco/compression/entropy/symbol_encoding.cc + src/draco/compression/entropy/symbol_encoding.h + src/draco/compression/expert_encode.cc + src/draco/compression/expert_encode.h + src/draco/compression/mesh/mesh_edgebreaker_encoder.cc + src/draco/compression/mesh/mesh_edgebreaker_encoder.h + src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc + src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.h + src/draco/compression/mesh/mesh_edgebreaker_encoder_impl_interface.h + src/draco/compression/mesh/mesh_edgebreaker_shared.h + src/draco/compression/mesh/mesh_edgebreaker_traversal_encoder.h + src/draco/compression/mesh/mesh_edgebreaker_traversal_predictive_encoder.h + src/draco/compression/mesh/mesh_edgebreaker_traversal_valence_encoder.h + src/draco/compression/mesh/mesh_encoder.cc + src/draco/compression/mesh/mesh_encoder.h + src/draco/compression/mesh/mesh_encoder_helpers.h + src/draco/compression/mesh/mesh_sequential_encoder.cc + src/draco/compression/mesh/mesh_sequential_encoder.h + src/draco/compression/mesh/traverser/depth_first_traverser.h + src/draco/compression/mesh/traverser/max_prediction_degree_traverser.h + src/draco/compression/mesh/traverser/mesh_attribute_indices_encoding_observer.h + src/draco/compression/mesh/traverser/mesh_traversal_sequencer.h + src/draco/compression/mesh/traverser/traverser_base.h + src/draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.cc + src/draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.h + src/draco/compression/point_cloud/algorithms/float_points_tree_encoder.cc + src/draco/compression/point_cloud/algorithms/float_points_tree_encoder.h + src/draco/compression/point_cloud/algorithms/point_cloud_compression_method.h + src/draco/compression/point_cloud/algorithms/point_cloud_types.h + src/draco/compression/point_cloud/algorithms/quantize_points_3.h + src/draco/compression/point_cloud/algorithms/queuing_policy.h + src/draco/compression/point_cloud/point_cloud_encoder.cc + src/draco/compression/point_cloud/point_cloud_encoder.h + src/draco/compression/point_cloud/point_cloud_kd_tree_encoder.cc + src/draco/compression/point_cloud/point_cloud_kd_tree_encoder.h + src/draco/compression/point_cloud/point_cloud_sequential_encoder.cc + src/draco/compression/point_cloud/point_cloud_sequential_encoder.h + src/draco/core/bit_utils.cc + src/draco/core/bit_utils.h + src/draco/core/bounding_box.cc + src/draco/core/bounding_box.h + src/draco/core/cycle_timer.cc + src/draco/core/cycle_timer.h + src/draco/core/data_buffer.cc + src/draco/core/data_buffer.h + src/draco/core/divide.cc + src/draco/core/divide.h + src/draco/core/draco_index_type.h + src/draco/core/draco_index_type_vector.h + src/draco/core/draco_types.cc + src/draco/core/draco_types.h + src/draco/core/encoder_buffer.cc + src/draco/core/encoder_buffer.h + src/draco/core/hash_utils.cc + src/draco/core/hash_utils.h + src/draco/core/macros.h + src/draco/core/math_utils.h + src/draco/core/options.cc + src/draco/core/options.h + src/draco/core/quantization_utils.cc + src/draco/core/quantization_utils.h + src/draco/core/status.h + src/draco/core/statusor.h + src/draco/core/varint_encoding.h + src/draco/core/vector_d.h + src/draco/mesh/corner_table.cc + src/draco/mesh/corner_table.h + src/draco/mesh/corner_table_iterators.h + src/draco/mesh/mesh_are_equivalent.cc + src/draco/mesh/mesh_are_equivalent.h + src/draco/mesh/mesh_attribute_corner_table.cc + src/draco/mesh/mesh_attribute_corner_table.h + src/draco/mesh/mesh.cc + src/draco/mesh/mesh_cleanup.cc + src/draco/mesh/mesh_cleanup.h + src/draco/mesh/mesh.h + src/draco/mesh/mesh_misc_functions.cc + src/draco/mesh/mesh_misc_functions.h + src/draco/mesh/mesh_stripifier.cc + src/draco/mesh/mesh_stripifier.h + src/draco/mesh/triangle_soup_mesh_builder.cc + src/draco/mesh/triangle_soup_mesh_builder.h + src/draco/mesh/valence_cache.h + src/draco/metadata/geometry_metadata.cc + src/draco/metadata/geometry_metadata.h + src/draco/metadata/metadata.cc + src/draco/metadata/metadata_encoder.cc + src/draco/metadata/metadata_encoder.h + src/draco/metadata/metadata.h + src/draco/point_cloud/point_cloud_builder.cc + src/draco/point_cloud/point_cloud_builder.h + src/draco/point_cloud/point_cloud.cc + src/draco/point_cloud/point_cloud.h ) set(LIB ) set(INC - src + src ) blender_add_lib(dracoenc "${SRC}" "${INC}" "" "${LIB}") diff --git a/extern/gflags/CMakeLists.txt b/extern/gflags/CMakeLists.txt index 13c3a2a03a9..9179ad7fed0 100644 --- a/extern/gflags/CMakeLists.txt +++ b/extern/gflags/CMakeLists.txt @@ -19,35 +19,35 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - src - src/gflags + src + src/gflags ) set(INC_SYS ) set(SRC - src/gflags.cc - src/gflags_completions.cc - src/gflags_reporting.cc + src/gflags.cc + src/gflags_completions.cc + src/gflags_reporting.cc - src/gflags/config.h - src/gflags/gflags_completions.h - src/gflags/gflags_declare.h - src/gflags/gflags_gflags.h - src/gflags/gflags.h - src/mutex.h - src/util.h + src/gflags/config.h + src/gflags/gflags_completions.h + src/gflags/gflags_declare.h + src/gflags/gflags_gflags.h + src/gflags/gflags.h + src/mutex.h + src/util.h ) set(LIB ) if(WIN32) - list(APPEND SRC - src/windows_port.cc - src/windows_port.h - ) + list(APPEND SRC + src/windows_port.cc + src/windows_port.h + ) endif() add_definitions(${GFLAGS_DEFINES}) diff --git a/extern/glew-es/CMakeLists.txt b/extern/glew-es/CMakeLists.txt index 5bb46d3f653..deb73b30455 100644 --- a/extern/glew-es/CMakeLists.txt +++ b/extern/glew-es/CMakeLists.txt @@ -19,7 +19,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - include + include ) set(INC_SYS @@ -27,19 +27,19 @@ set(INC_SYS ) if(UNIX) - list(APPEND INC_SYS - ${X11_X11_INCLUDE_PATH} - ) + list(APPEND INC_SYS + ${X11_X11_INCLUDE_PATH} + ) endif() set(SRC - src/glew.c + src/glew.c - include/GL/eglew.h - include/GL/glesew.h - include/GL/glew.h - include/GL/glxew.h - include/GL/wglew.h + include/GL/eglew.h + include/GL/glesew.h + include/GL/glew.h + include/GL/glxew.h + include/GL/wglew.h ) set(LIB diff --git a/extern/glew/CMakeLists.txt b/extern/glew/CMakeLists.txt index b84b0a30199..e0773d828ec 100644 --- a/extern/glew/CMakeLists.txt +++ b/extern/glew/CMakeLists.txt @@ -19,7 +19,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - include + include ) set(INC_SYS @@ -27,18 +27,18 @@ set(INC_SYS ) if(UNIX) - list(APPEND INC_SYS - ${X11_X11_INCLUDE_PATH} - ) + list(APPEND INC_SYS + ${X11_X11_INCLUDE_PATH} + ) endif() set(SRC - src/glew.c + src/glew.c - include/GL/eglew.h - include/GL/glew.h - include/GL/glxew.h - include/GL/wglew.h + include/GL/eglew.h + include/GL/glew.h + include/GL/glxew.h + include/GL/wglew.h ) set(LIB diff --git a/extern/glog/CMakeLists.txt b/extern/glog/CMakeLists.txt index 05a6590ea81..c60e30d0b48 100644 --- a/extern/glog/CMakeLists.txt +++ b/extern/glog/CMakeLists.txt @@ -19,81 +19,81 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - src - ../gflags/src + src + ../gflags/src ) set(INC_SYS ) set(SRC - src/logging.cc - src/raw_logging.cc - src/utilities.cc - src/vlog_is_on.cc + src/logging.cc + src/raw_logging.cc + src/utilities.cc + src/vlog_is_on.cc - src/utilities.h + src/utilities.h - src/config.h - src/config_freebsd.h - src/config_haiku.h - src/config_hurd.h - src/config_linux.h - src/config_mac.h + src/config.h + src/config_freebsd.h + src/config_haiku.h + src/config_hurd.h + src/config_linux.h + src/config_mac.h - src/base/commandlineflags.h - src/base/googleinit.h - src/base/mutex.h + src/base/commandlineflags.h + src/base/googleinit.h + src/base/mutex.h - src/stacktrace.h - src/stacktrace_generic-inl.h - src/stacktrace_libunwind-inl.h - src/stacktrace_powerpc-inl.h - src/stacktrace_x86_64-inl.h - src/stacktrace_x86-inl.h + src/stacktrace.h + src/stacktrace_generic-inl.h + src/stacktrace_libunwind-inl.h + src/stacktrace_powerpc-inl.h + src/stacktrace_x86_64-inl.h + src/stacktrace_x86-inl.h ) set(LIB ) if(NOT WITH_SYSTEM_GFLAGS) - list(APPEND LIB - extern_gflags - ) + list(APPEND LIB + extern_gflags + ) endif() if(WIN32) - list(APPEND SRC - src/windows/port.cc + list(APPEND SRC + src/windows/port.cc - src/windows/glog/raw_logging.h - src/windows/glog/vlog_is_on.h - src/windows/glog/logging.h - src/windows/glog/log_severity.h - src/windows/port.h - src/windows/config.h - ) + src/windows/glog/raw_logging.h + src/windows/glog/vlog_is_on.h + src/windows/glog/logging.h + src/windows/glog/log_severity.h + src/windows/port.h + src/windows/config.h + ) - list(APPEND INC - src/windows - ) + list(APPEND INC + src/windows + ) else() - list(APPEND INC - include - ) - list(APPEND SRC - src/demangle.cc - src/signalhandler.cc - src/symbolize.cc + list(APPEND INC + include + ) + list(APPEND SRC + src/demangle.cc + src/signalhandler.cc + src/symbolize.cc - src/demangle.h - src/symbolize.h + src/demangle.h + src/symbolize.h - include/glog/logging.h - include/glog/log_severity.h - include/glog/raw_logging.h - include/glog/vlog_is_on.h - ) + include/glog/logging.h + include/glog/log_severity.h + include/glog/raw_logging.h + include/glog/vlog_is_on.h + ) endif() add_definitions(${GFLAGS_DEFINES}) diff --git a/extern/gtest/CMakeLists.txt b/extern/gtest/CMakeLists.txt index f33e012b0f4..056b32cc99e 100644 --- a/extern/gtest/CMakeLists.txt +++ b/extern/gtest/CMakeLists.txt @@ -20,14 +20,14 @@ # avoid noisy warnings if(CMAKE_COMPILER_IS_GNUCC) - remove_cc_flag( - "-Wmissing-declarations" - ) + remove_cc_flag( + "-Wmissing-declarations" + ) endif() set(INC - . - include + . + include ) set(INC_SYS @@ -35,35 +35,35 @@ set(INC_SYS ) set(SRC - src/gtest.cc - src/gtest-death-test.cc - src/gtest-filepath.cc - src/gtest-port.cc - src/gtest-printers.cc - src/gtest-test-part.cc - src/gtest-typed-test.cc + src/gtest.cc + src/gtest-death-test.cc + src/gtest-filepath.cc + src/gtest-port.cc + src/gtest-printers.cc + src/gtest-test-part.cc + src/gtest-typed-test.cc - src/gtest-internal-inl.h - include/gtest/gtest-death-test.h - include/gtest/gtest.h - include/gtest/gtest-message.h - include/gtest/gtest-param-test.h - include/gtest/gtest_pred_impl.h - include/gtest/gtest-printers.h - include/gtest/gtest_prod.h - include/gtest/gtest-spi.h - include/gtest/gtest-test-part.h - include/gtest/gtest-typed-test.h - include/gtest/internal/gtest-death-test-internal.h - include/gtest/internal/gtest-filepath.h - include/gtest/internal/gtest-internal.h - include/gtest/internal/gtest-linked_ptr.h - include/gtest/internal/gtest-param-util-generated.h - include/gtest/internal/gtest-param-util.h - include/gtest/internal/gtest-port.h - include/gtest/internal/gtest-string.h - include/gtest/internal/gtest-tuple.h - include/gtest/internal/gtest-type-util.h + src/gtest-internal-inl.h + include/gtest/gtest-death-test.h + include/gtest/gtest.h + include/gtest/gtest-message.h + include/gtest/gtest-param-test.h + include/gtest/gtest_pred_impl.h + include/gtest/gtest-printers.h + include/gtest/gtest_prod.h + include/gtest/gtest-spi.h + include/gtest/gtest-test-part.h + include/gtest/gtest-typed-test.h + include/gtest/internal/gtest-death-test-internal.h + include/gtest/internal/gtest-filepath.h + include/gtest/internal/gtest-internal.h + include/gtest/internal/gtest-linked_ptr.h + include/gtest/internal/gtest-param-util-generated.h + include/gtest/internal/gtest-param-util.h + include/gtest/internal/gtest-port.h + include/gtest/internal/gtest-string.h + include/gtest/internal/gtest-tuple.h + include/gtest/internal/gtest-type-util.h ) set(LIB diff --git a/extern/lzma/CMakeLists.txt b/extern/lzma/CMakeLists.txt index 8be848f83ce..8bdddf0aced 100644 --- a/extern/lzma/CMakeLists.txt +++ b/extern/lzma/CMakeLists.txt @@ -19,7 +19,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . + . ) set(INC_SYS @@ -27,19 +27,19 @@ set(INC_SYS ) set(SRC - Alloc.c - LzFind.c - LzmaDec.c - LzmaEnc.c - LzmaLib.c + Alloc.c + LzFind.c + LzmaDec.c + LzmaEnc.c + LzmaLib.c - Alloc.h - LzFind.h - LzHash.h - LzmaDec.h - LzmaEnc.h - LzmaLib.h - Types.h + Alloc.h + LzFind.h + LzHash.h + LzmaDec.h + LzmaEnc.h + LzmaLib.h + Types.h ) set(LIB diff --git a/extern/lzo/CMakeLists.txt b/extern/lzo/CMakeLists.txt index 7eebc92c46d..630918dc92c 100644 --- a/extern/lzo/CMakeLists.txt +++ b/extern/lzo/CMakeLists.txt @@ -29,11 +29,11 @@ set(INC_SYS ) set(SRC - minilzo/minilzo.c + minilzo/minilzo.c - minilzo/lzoconf.h - minilzo/lzodefs.h - minilzo/minilzo.h + minilzo/lzoconf.h + minilzo/lzodefs.h + minilzo/minilzo.h ) set(LIB diff --git a/extern/rangetree/CMakeLists.txt b/extern/rangetree/CMakeLists.txt index cb0b424a023..b5c209d5aa3 100644 --- a/extern/rangetree/CMakeLists.txt +++ b/extern/rangetree/CMakeLists.txt @@ -17,14 +17,14 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . + . ) set(SRC - range_tree.h - intern/generic_alloc_impl.h + range_tree.h + intern/generic_alloc_impl.h - intern/range_tree.c + intern/range_tree.c ) set(LIB diff --git a/extern/sdlew/CMakeLists.txt b/extern/sdlew/CMakeLists.txt index 5698d87108b..29bae5e4782 100644 --- a/extern/sdlew/CMakeLists.txt +++ b/extern/sdlew/CMakeLists.txt @@ -19,8 +19,8 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . - include + . + include ) set(INC_SYS @@ -28,8 +28,8 @@ set(INC_SYS ) set(SRC - include/sdlew.h - src/sdlew.c + include/sdlew.h + src/sdlew.c ) set(LIB diff --git a/extern/wcwidth/CMakeLists.txt b/extern/wcwidth/CMakeLists.txt index 384a2c4f58c..805655de26a 100644 --- a/extern/wcwidth/CMakeLists.txt +++ b/extern/wcwidth/CMakeLists.txt @@ -19,7 +19,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . + . ) set(INC_SYS @@ -27,9 +27,9 @@ set(INC_SYS ) set(SRC - wcwidth.c + wcwidth.c - wcwidth.h + wcwidth.h ) set(LIB diff --git a/extern/xdnd/CMakeLists.txt b/extern/xdnd/CMakeLists.txt index 54d6648c2a6..3da6f728620 100644 --- a/extern/xdnd/CMakeLists.txt +++ b/extern/xdnd/CMakeLists.txt @@ -19,23 +19,23 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - . + . ) set(INC_SYS - ${X11_X11_INCLUDE_PATH} + ${X11_X11_INCLUDE_PATH} ) set(SRC - xdnd.c - xdnd.h + xdnd.c + xdnd.h ) set(LIB ) add_definitions( - -DHAVE_SYS_TIME_H + -DHAVE_SYS_TIME_H ) blender_add_lib(extern_xdnd "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt index 83e3bc8208d..b93f2057b47 100644 --- a/intern/CMakeLists.txt +++ b/intern/CMakeLists.txt @@ -33,46 +33,46 @@ add_subdirectory(glew-mx) add_subdirectory(eigen) if(WITH_AUDASPACE) - add_subdirectory(audaspace) + add_subdirectory(audaspace) endif() if(WITH_MOD_REMESH) - add_subdirectory(dualcon) + add_subdirectory(dualcon) endif() if(WITH_MOD_FLUID) - add_subdirectory(elbeem) + add_subdirectory(elbeem) endif() if(WITH_MOD_SMOKE) - add_subdirectory(smoke) + add_subdirectory(smoke) endif() if(WITH_IK_SOLVER) - add_subdirectory(iksolver) + add_subdirectory(iksolver) endif() if(WITH_IK_ITASC) - add_subdirectory(itasc) + add_subdirectory(itasc) endif() if(WITH_CYCLES) - add_subdirectory(cycles) + add_subdirectory(cycles) endif() if(WITH_INTERNATIONAL) - add_subdirectory(locale) + add_subdirectory(locale) endif() if(WITH_BULLET) - add_subdirectory(rigidbody) + add_subdirectory(rigidbody) endif() # only windows needs utf16 converter if(WIN32) - add_subdirectory(utfconv) + add_subdirectory(utfconv) endif() if(WITH_OPENVDB) - add_subdirectory(openvdb) + add_subdirectory(openvdb) endif() diff --git a/intern/elbeem/CMakeLists.txt b/intern/elbeem/CMakeLists.txt index d70f3939a40..926329be61b 100644 --- a/intern/elbeem/CMakeLists.txt +++ b/intern/elbeem/CMakeLists.txt @@ -19,70 +19,70 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - extern - ../guardedalloc + extern + ../guardedalloc ) set(INC_SYS - ${PNG_INCLUDE_DIRS} - ${ZLIB_INCLUDE_DIRS} + ${PNG_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIRS} ) set(SRC - intern/attributes.cpp - intern/controlparticles.cpp - intern/elbeem.cpp - intern/elbeem_control.cpp - intern/isosurface.cpp - intern/mvmcoords.cpp - intern/ntl_blenderdumper.cpp - intern/ntl_bsptree.cpp - intern/ntl_geometrymodel.cpp - intern/ntl_geometryobject.cpp - intern/ntl_lighting.cpp - intern/ntl_ray.cpp - intern/ntl_world.cpp - intern/parametrizer.cpp - intern/particletracer.cpp - intern/simulation_object.cpp - intern/solver_adap.cpp - intern/solver_control.cpp - intern/solver_init.cpp - intern/solver_interface.cpp - intern/solver_main.cpp - intern/solver_util.cpp - intern/utilities.cpp + intern/attributes.cpp + intern/controlparticles.cpp + intern/elbeem.cpp + intern/elbeem_control.cpp + intern/isosurface.cpp + intern/mvmcoords.cpp + intern/ntl_blenderdumper.cpp + intern/ntl_bsptree.cpp + intern/ntl_geometrymodel.cpp + intern/ntl_geometryobject.cpp + intern/ntl_lighting.cpp + intern/ntl_ray.cpp + intern/ntl_world.cpp + intern/parametrizer.cpp + intern/particletracer.cpp + intern/simulation_object.cpp + intern/solver_adap.cpp + intern/solver_control.cpp + intern/solver_init.cpp + intern/solver_interface.cpp + intern/solver_main.cpp + intern/solver_util.cpp + intern/utilities.cpp - extern/LBM_fluidsim.h - extern/elbeem.h - intern/attributes.h - intern/controlparticles.h - intern/elbeem_control.h - intern/isosurface.h - intern/loop_tools.h - intern/mcubes_tables.h - intern/mvmcoords.h - intern/ntl_blenderdumper.h - intern/ntl_bsptree.h - intern/ntl_geometryclass.h - intern/ntl_geometrymodel.h - intern/ntl_geometryobject.h - intern/ntl_geometryshader.h - intern/ntl_lighting.h - intern/ntl_matrices.h - intern/ntl_ray.h - intern/ntl_vector3dim.h - intern/ntl_world.h - intern/paraloopend.h - intern/parametrizer.h - intern/particletracer.h - intern/simulation_object.h - intern/solver_class.h - intern/solver_control.h - intern/solver_interface.h - intern/solver_relax.h - intern/utilities.h - intern/globals.h + extern/LBM_fluidsim.h + extern/elbeem.h + intern/attributes.h + intern/controlparticles.h + intern/elbeem_control.h + intern/isosurface.h + intern/loop_tools.h + intern/mcubes_tables.h + intern/mvmcoords.h + intern/ntl_blenderdumper.h + intern/ntl_bsptree.h + intern/ntl_geometryclass.h + intern/ntl_geometrymodel.h + intern/ntl_geometryobject.h + intern/ntl_geometryshader.h + intern/ntl_lighting.h + intern/ntl_matrices.h + intern/ntl_ray.h + intern/ntl_vector3dim.h + intern/ntl_world.h + intern/paraloopend.h + intern/parametrizer.h + intern/particletracer.h + intern/simulation_object.h + intern/solver_class.h + intern/solver_control.h + intern/solver_interface.h + intern/solver_relax.h + intern/utilities.h + intern/globals.h ) set(LIB @@ -92,31 +92,31 @@ set(LIB remove_strict_flags() add_definitions( - -DNOGUI - -DELBEEM_BLENDER=1 + -DNOGUI + -DELBEEM_BLENDER=1 ) # not essential but quiet gcc's -Wundef add_definitions( - -DLBM_PRECISION=1 - -DLBM_INCLUDE_TESTSOLVERS=0 - -DFSGR_STRICT_DEBUG=0 - -DELBEEM_MPI=0 - -DNEWDIRVELMOTEST=0 + -DLBM_PRECISION=1 + -DLBM_INCLUDE_TESTSOLVERS=0 + -DFSGR_STRICT_DEBUG=0 + -DELBEEM_MPI=0 + -DNEWDIRVELMOTEST=0 ) if(WIN32) - # We need BLI_gzopen on win32 for unicode paths - add_definitions( - -DLBM_GZIP_OVERRIDE_H="${CMAKE_SOURCE_DIR}/source/blender/blenlib/BLI_fileops.h" - -D LBM_GZIP_OPEN_FN="\(gzFile\)BLI_gzopen" - ) + # We need BLI_gzopen on win32 for unicode paths + add_definitions( + -DLBM_GZIP_OVERRIDE_H="${CMAKE_SOURCE_DIR}/source/blender/blenlib/BLI_fileops.h" + -D LBM_GZIP_OPEN_FN="\(gzFile\)BLI_gzopen" + ) endif() if(WITH_OPENMP) - add_definitions(-DPARALLEL=1) + add_definitions(-DPARALLEL=1) else() - add_definitions(-DPARALLEL=0) + add_definitions(-DPARALLEL=0) endif() blender_add_lib_nolist(bf_intern_elbeem "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") diff --git a/intern/itasc/CMakeLists.txt b/intern/itasc/CMakeLists.txt index c0f48bcf957..060e5378fc4 100644 --- a/intern/itasc/CMakeLists.txt +++ b/intern/itasc/CMakeLists.txt @@ -23,334 +23,334 @@ set(INC ) set(INC_SYS - ${EIGEN3_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIRS} ) if(NOT WITH_SYSTEM_EIGEN3) - set(EIGEN3_HEADERS - # until we have another user... - ../../extern/Eigen3/Eigen/src/Cholesky/LDLT.h - ../../extern/Eigen3/Eigen/src/Cholesky/LLT.h - ../../extern/Eigen3/Eigen/src/Cholesky/LLT_MKL.h - ../../extern/Eigen3/Eigen/src/CholmodSupport/CholmodSupport.h - ../../extern/Eigen3/Eigen/src/Core/Array.h - ../../extern/Eigen3/Eigen/src/Core/ArrayBase.h - ../../extern/Eigen3/Eigen/src/Core/ArrayWrapper.h - ../../extern/Eigen3/Eigen/src/Core/Assign.h - ../../extern/Eigen3/Eigen/src/Core/Assign_MKL.h - ../../extern/Eigen3/Eigen/src/Core/BandMatrix.h - ../../extern/Eigen3/Eigen/src/Core/Block.h - ../../extern/Eigen3/Eigen/src/Core/BooleanRedux.h - ../../extern/Eigen3/Eigen/src/Core/CommaInitializer.h - ../../extern/Eigen3/Eigen/src/Core/CwiseBinaryOp.h - ../../extern/Eigen3/Eigen/src/Core/CwiseNullaryOp.h - ../../extern/Eigen3/Eigen/src/Core/CwiseUnaryOp.h - ../../extern/Eigen3/Eigen/src/Core/CwiseUnaryView.h - ../../extern/Eigen3/Eigen/src/Core/DenseBase.h - ../../extern/Eigen3/Eigen/src/Core/DenseCoeffsBase.h - ../../extern/Eigen3/Eigen/src/Core/DenseStorage.h - ../../extern/Eigen3/Eigen/src/Core/Diagonal.h - ../../extern/Eigen3/Eigen/src/Core/DiagonalMatrix.h - ../../extern/Eigen3/Eigen/src/Core/DiagonalProduct.h - ../../extern/Eigen3/Eigen/src/Core/Dot.h - ../../extern/Eigen3/Eigen/src/Core/EigenBase.h - ../../extern/Eigen3/Eigen/src/Core/Flagged.h - ../../extern/Eigen3/Eigen/src/Core/ForceAlignedAccess.h - ../../extern/Eigen3/Eigen/src/Core/Functors.h - ../../extern/Eigen3/Eigen/src/Core/Fuzzy.h - ../../extern/Eigen3/Eigen/src/Core/GeneralProduct.h - ../../extern/Eigen3/Eigen/src/Core/GenericPacketMath.h - ../../extern/Eigen3/Eigen/src/Core/GlobalFunctions.h - ../../extern/Eigen3/Eigen/src/Core/IO.h - ../../extern/Eigen3/Eigen/src/Core/Map.h - ../../extern/Eigen3/Eigen/src/Core/MapBase.h - ../../extern/Eigen3/Eigen/src/Core/MathFunctions.h - ../../extern/Eigen3/Eigen/src/Core/Matrix.h - ../../extern/Eigen3/Eigen/src/Core/MatrixBase.h - ../../extern/Eigen3/Eigen/src/Core/NestByValue.h - ../../extern/Eigen3/Eigen/src/Core/NoAlias.h - ../../extern/Eigen3/Eigen/src/Core/NumTraits.h - ../../extern/Eigen3/Eigen/src/Core/PermutationMatrix.h - ../../extern/Eigen3/Eigen/src/Core/PlainObjectBase.h - ../../extern/Eigen3/Eigen/src/Core/Product.h - ../../extern/Eigen3/Eigen/src/Core/ProductBase.h - ../../extern/Eigen3/Eigen/src/Core/Random.h - ../../extern/Eigen3/Eigen/src/Core/Redux.h - ../../extern/Eigen3/Eigen/src/Core/Replicate.h - ../../extern/Eigen3/Eigen/src/Core/ReturnByValue.h - ../../extern/Eigen3/Eigen/src/Core/Reverse.h - ../../extern/Eigen3/Eigen/src/Core/Select.h - ../../extern/Eigen3/Eigen/src/Core/SelfAdjointView.h - ../../extern/Eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h - ../../extern/Eigen3/Eigen/src/Core/SolveTriangular.h - ../../extern/Eigen3/Eigen/src/Core/StableNorm.h - ../../extern/Eigen3/Eigen/src/Core/Stride.h - ../../extern/Eigen3/Eigen/src/Core/Swap.h - ../../extern/Eigen3/Eigen/src/Core/Transpose.h - ../../extern/Eigen3/Eigen/src/Core/Transpositions.h - ../../extern/Eigen3/Eigen/src/Core/TriangularMatrix.h - ../../extern/Eigen3/Eigen/src/Core/VectorBlock.h - ../../extern/Eigen3/Eigen/src/Core/VectorwiseOp.h - ../../extern/Eigen3/Eigen/src/Core/Visitor.h - ../../extern/Eigen3/Eigen/src/Core/arch/AltiVec/Complex.h - ../../extern/Eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h - ../../extern/Eigen3/Eigen/src/Core/arch/Default/Settings.h - ../../extern/Eigen3/Eigen/src/Core/arch/NEON/Complex.h - ../../extern/Eigen3/Eigen/src/Core/arch/NEON/PacketMath.h - ../../extern/Eigen3/Eigen/src/Core/arch/SSE/Complex.h - ../../extern/Eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h - ../../extern/Eigen3/Eigen/src/Core/arch/SSE/PacketMath.h - ../../extern/Eigen3/Eigen/src/Core/products/CoeffBasedProduct.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixVector.h - ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixVector_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/Parallelizer.h - ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h - ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h - ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointProduct.h - ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h - ../../extern/Eigen3/Eigen/src/Core/products/TriangularSolverVector.h - ../../extern/Eigen3/Eigen/src/Core/util/BlasUtil.h - ../../extern/Eigen3/Eigen/src/Core/util/Constants.h - ../../extern/Eigen3/Eigen/src/Core/util/DisableStupidWarnings.h - ../../extern/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h - ../../extern/Eigen3/Eigen/src/Core/util/Macros.h - ../../extern/Eigen3/Eigen/src/Core/util/Memory.h - ../../extern/Eigen3/Eigen/src/Core/util/Meta.h - ../../extern/Eigen3/Eigen/src/Core/util/MKL_support.h - ../../extern/Eigen3/Eigen/src/Core/util/NonMPL2.h - ../../extern/Eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h - ../../extern/Eigen3/Eigen/src/Core/util/StaticAssert.h - ../../extern/Eigen3/Eigen/src/Core/util/XprHelper.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Block.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Cwise.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/CwiseOperators.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Lazy.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/LeastSquares.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/LU.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Macros.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/MathFunctions.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Memory.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Meta.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Minor.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/QR.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/SVD.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/TriangularSolver.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/VectorBlock.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/AlignedBox.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/All.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/AngleAxis.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Hyperplane.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Quaternion.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Rotation2D.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/RotationBase.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Scaling.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Transform.h - ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Translation.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/ComplexSchur.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/ComplexSchur_MKL.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/EigenSolver.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/RealSchur.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/RealSchur_MKL.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h - ../../extern/Eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h - ../../extern/Eigen3/Eigen/src/Geometry/AlignedBox.h - ../../extern/Eigen3/Eigen/src/Geometry/AngleAxis.h - ../../extern/Eigen3/Eigen/src/Geometry/EulerAngles.h - ../../extern/Eigen3/Eigen/src/Geometry/Homogeneous.h - ../../extern/Eigen3/Eigen/src/Geometry/Hyperplane.h - ../../extern/Eigen3/Eigen/src/Geometry/OrthoMethods.h - ../../extern/Eigen3/Eigen/src/Geometry/ParametrizedLine.h - ../../extern/Eigen3/Eigen/src/Geometry/Quaternion.h - ../../extern/Eigen3/Eigen/src/Geometry/Rotation2D.h - ../../extern/Eigen3/Eigen/src/Geometry/RotationBase.h - ../../extern/Eigen3/Eigen/src/Geometry/Scaling.h - ../../extern/Eigen3/Eigen/src/Geometry/Transform.h - ../../extern/Eigen3/Eigen/src/Geometry/Translation.h - ../../extern/Eigen3/Eigen/src/Geometry/Umeyama.h - ../../extern/Eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h - ../../extern/Eigen3/Eigen/src/Householder/BlockHouseholder.h - ../../extern/Eigen3/Eigen/src/Householder/Householder.h - ../../extern/Eigen3/Eigen/src/Householder/HouseholderSequence.h - ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h - ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h - ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h - ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h - ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h - ../../extern/Eigen3/Eigen/src/Jacobi/Jacobi.h - ../../extern/Eigen3/Eigen/src/LU/Determinant.h - ../../extern/Eigen3/Eigen/src/LU/FullPivLU.h - ../../extern/Eigen3/Eigen/src/LU/Inverse.h - ../../extern/Eigen3/Eigen/src/LU/PartialPivLU.h - ../../extern/Eigen3/Eigen/src/LU/PartialPivLU_MKL.h - ../../extern/Eigen3/Eigen/src/LU/arch/Inverse_SSE.h - ../../extern/Eigen3/Eigen/src/misc/blas.h - ../../extern/Eigen3/Eigen/src/misc/Image.h - ../../extern/Eigen3/Eigen/src/misc/Kernel.h - ../../extern/Eigen3/Eigen/src/misc/Solve.h - ../../extern/Eigen3/Eigen/src/misc/SparseSolve.h - ../../extern/Eigen3/Eigen/src/OrderingMethods/Amd.h - ../../extern/Eigen3/Eigen/src/PardisoSupport/PardisoSupport.h - ../../extern/Eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h - ../../extern/Eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h - ../../extern/Eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h - ../../extern/Eigen3/Eigen/src/plugins/BlockMethods.h - ../../extern/Eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h - ../../extern/Eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h - ../../extern/Eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h - ../../extern/Eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h - ../../extern/Eigen3/Eigen/src/QR/ColPivHouseholderQR.h - ../../extern/Eigen3/Eigen/src/QR/ColPivHouseholderQR_MKL.h - ../../extern/Eigen3/Eigen/src/QR/FullPivHouseholderQR.h - ../../extern/Eigen3/Eigen/src/QR/HouseholderQR.h - ../../extern/Eigen3/Eigen/src/QR/HouseholderQR_MKL.h - ../../extern/Eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h - ../../extern/Eigen3/Eigen/src/SparseCore/AmbiVector.h - ../../extern/Eigen3/Eigen/src/SparseCore/CompressedStorage.h - ../../extern/Eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h - ../../extern/Eigen3/Eigen/src/SparseCore/CoreIterators.h - ../../extern/Eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseAssign.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseBlock.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseDenseProduct.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseDot.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseFuzzy.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseMatrix.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseMatrixBase.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparsePermutation.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseProduct.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseRedux.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseTranspose.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseTriangularView.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseUtil.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseVector.h - ../../extern/Eigen3/Eigen/src/SparseCore/SparseView.h - ../../extern/Eigen3/Eigen/src/SparseCore/TriangularSolver.h - ../../extern/Eigen3/Eigen/src/StlSupport/details.h - ../../extern/Eigen3/Eigen/src/StlSupport/StdDeque.h - ../../extern/Eigen3/Eigen/src/StlSupport/StdList.h - ../../extern/Eigen3/Eigen/src/StlSupport/StdVector.h - ../../extern/Eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h - ../../extern/Eigen3/Eigen/src/SVD/JacobiSVD.h - ../../extern/Eigen3/Eigen/src/SVD/JacobiSVD_MKL.h - ../../extern/Eigen3/Eigen/src/SVD/UpperBidiagonalization.h - ../../extern/Eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h - ) + set(EIGEN3_HEADERS + # until we have another user... + ../../extern/Eigen3/Eigen/src/Cholesky/LDLT.h + ../../extern/Eigen3/Eigen/src/Cholesky/LLT.h + ../../extern/Eigen3/Eigen/src/Cholesky/LLT_MKL.h + ../../extern/Eigen3/Eigen/src/CholmodSupport/CholmodSupport.h + ../../extern/Eigen3/Eigen/src/Core/Array.h + ../../extern/Eigen3/Eigen/src/Core/ArrayBase.h + ../../extern/Eigen3/Eigen/src/Core/ArrayWrapper.h + ../../extern/Eigen3/Eigen/src/Core/Assign.h + ../../extern/Eigen3/Eigen/src/Core/Assign_MKL.h + ../../extern/Eigen3/Eigen/src/Core/BandMatrix.h + ../../extern/Eigen3/Eigen/src/Core/Block.h + ../../extern/Eigen3/Eigen/src/Core/BooleanRedux.h + ../../extern/Eigen3/Eigen/src/Core/CommaInitializer.h + ../../extern/Eigen3/Eigen/src/Core/CwiseBinaryOp.h + ../../extern/Eigen3/Eigen/src/Core/CwiseNullaryOp.h + ../../extern/Eigen3/Eigen/src/Core/CwiseUnaryOp.h + ../../extern/Eigen3/Eigen/src/Core/CwiseUnaryView.h + ../../extern/Eigen3/Eigen/src/Core/DenseBase.h + ../../extern/Eigen3/Eigen/src/Core/DenseCoeffsBase.h + ../../extern/Eigen3/Eigen/src/Core/DenseStorage.h + ../../extern/Eigen3/Eigen/src/Core/Diagonal.h + ../../extern/Eigen3/Eigen/src/Core/DiagonalMatrix.h + ../../extern/Eigen3/Eigen/src/Core/DiagonalProduct.h + ../../extern/Eigen3/Eigen/src/Core/Dot.h + ../../extern/Eigen3/Eigen/src/Core/EigenBase.h + ../../extern/Eigen3/Eigen/src/Core/Flagged.h + ../../extern/Eigen3/Eigen/src/Core/ForceAlignedAccess.h + ../../extern/Eigen3/Eigen/src/Core/Functors.h + ../../extern/Eigen3/Eigen/src/Core/Fuzzy.h + ../../extern/Eigen3/Eigen/src/Core/GeneralProduct.h + ../../extern/Eigen3/Eigen/src/Core/GenericPacketMath.h + ../../extern/Eigen3/Eigen/src/Core/GlobalFunctions.h + ../../extern/Eigen3/Eigen/src/Core/IO.h + ../../extern/Eigen3/Eigen/src/Core/Map.h + ../../extern/Eigen3/Eigen/src/Core/MapBase.h + ../../extern/Eigen3/Eigen/src/Core/MathFunctions.h + ../../extern/Eigen3/Eigen/src/Core/Matrix.h + ../../extern/Eigen3/Eigen/src/Core/MatrixBase.h + ../../extern/Eigen3/Eigen/src/Core/NestByValue.h + ../../extern/Eigen3/Eigen/src/Core/NoAlias.h + ../../extern/Eigen3/Eigen/src/Core/NumTraits.h + ../../extern/Eigen3/Eigen/src/Core/PermutationMatrix.h + ../../extern/Eigen3/Eigen/src/Core/PlainObjectBase.h + ../../extern/Eigen3/Eigen/src/Core/Product.h + ../../extern/Eigen3/Eigen/src/Core/ProductBase.h + ../../extern/Eigen3/Eigen/src/Core/Random.h + ../../extern/Eigen3/Eigen/src/Core/Redux.h + ../../extern/Eigen3/Eigen/src/Core/Replicate.h + ../../extern/Eigen3/Eigen/src/Core/ReturnByValue.h + ../../extern/Eigen3/Eigen/src/Core/Reverse.h + ../../extern/Eigen3/Eigen/src/Core/Select.h + ../../extern/Eigen3/Eigen/src/Core/SelfAdjointView.h + ../../extern/Eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h + ../../extern/Eigen3/Eigen/src/Core/SolveTriangular.h + ../../extern/Eigen3/Eigen/src/Core/StableNorm.h + ../../extern/Eigen3/Eigen/src/Core/Stride.h + ../../extern/Eigen3/Eigen/src/Core/Swap.h + ../../extern/Eigen3/Eigen/src/Core/Transpose.h + ../../extern/Eigen3/Eigen/src/Core/Transpositions.h + ../../extern/Eigen3/Eigen/src/Core/TriangularMatrix.h + ../../extern/Eigen3/Eigen/src/Core/VectorBlock.h + ../../extern/Eigen3/Eigen/src/Core/VectorwiseOp.h + ../../extern/Eigen3/Eigen/src/Core/Visitor.h + ../../extern/Eigen3/Eigen/src/Core/arch/AltiVec/Complex.h + ../../extern/Eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h + ../../extern/Eigen3/Eigen/src/Core/arch/Default/Settings.h + ../../extern/Eigen3/Eigen/src/Core/arch/NEON/Complex.h + ../../extern/Eigen3/Eigen/src/Core/arch/NEON/PacketMath.h + ../../extern/Eigen3/Eigen/src/Core/arch/SSE/Complex.h + ../../extern/Eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h + ../../extern/Eigen3/Eigen/src/Core/arch/SSE/PacketMath.h + ../../extern/Eigen3/Eigen/src/Core/products/CoeffBasedProduct.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixVector.h + ../../extern/Eigen3/Eigen/src/Core/products/GeneralMatrixVector_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/Parallelizer.h + ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h + ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h + ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointProduct.h + ../../extern/Eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularMatrixVector_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h + ../../extern/Eigen3/Eigen/src/Core/products/TriangularSolverVector.h + ../../extern/Eigen3/Eigen/src/Core/util/BlasUtil.h + ../../extern/Eigen3/Eigen/src/Core/util/Constants.h + ../../extern/Eigen3/Eigen/src/Core/util/DisableStupidWarnings.h + ../../extern/Eigen3/Eigen/src/Core/util/ForwardDeclarations.h + ../../extern/Eigen3/Eigen/src/Core/util/Macros.h + ../../extern/Eigen3/Eigen/src/Core/util/Memory.h + ../../extern/Eigen3/Eigen/src/Core/util/Meta.h + ../../extern/Eigen3/Eigen/src/Core/util/MKL_support.h + ../../extern/Eigen3/Eigen/src/Core/util/NonMPL2.h + ../../extern/Eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h + ../../extern/Eigen3/Eigen/src/Core/util/StaticAssert.h + ../../extern/Eigen3/Eigen/src/Core/util/XprHelper.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Block.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Cwise.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/CwiseOperators.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Lazy.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/LeastSquares.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/LU.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Macros.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/MathFunctions.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Memory.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Meta.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Minor.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/QR.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/SVD.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/TriangularSolver.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/VectorBlock.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/AlignedBox.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/All.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/AngleAxis.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Hyperplane.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/ParametrizedLine.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Quaternion.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Rotation2D.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/RotationBase.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Scaling.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Transform.h + ../../extern/Eigen3/Eigen/src/Eigen2Support/Geometry/Translation.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/ComplexSchur.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/ComplexSchur_MKL.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/EigenSolver.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/RealSchur.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/RealSchur_MKL.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h + ../../extern/Eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h + ../../extern/Eigen3/Eigen/src/Geometry/AlignedBox.h + ../../extern/Eigen3/Eigen/src/Geometry/AngleAxis.h + ../../extern/Eigen3/Eigen/src/Geometry/EulerAngles.h + ../../extern/Eigen3/Eigen/src/Geometry/Homogeneous.h + ../../extern/Eigen3/Eigen/src/Geometry/Hyperplane.h + ../../extern/Eigen3/Eigen/src/Geometry/OrthoMethods.h + ../../extern/Eigen3/Eigen/src/Geometry/ParametrizedLine.h + ../../extern/Eigen3/Eigen/src/Geometry/Quaternion.h + ../../extern/Eigen3/Eigen/src/Geometry/Rotation2D.h + ../../extern/Eigen3/Eigen/src/Geometry/RotationBase.h + ../../extern/Eigen3/Eigen/src/Geometry/Scaling.h + ../../extern/Eigen3/Eigen/src/Geometry/Transform.h + ../../extern/Eigen3/Eigen/src/Geometry/Translation.h + ../../extern/Eigen3/Eigen/src/Geometry/Umeyama.h + ../../extern/Eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h + ../../extern/Eigen3/Eigen/src/Householder/BlockHouseholder.h + ../../extern/Eigen3/Eigen/src/Householder/Householder.h + ../../extern/Eigen3/Eigen/src/Householder/HouseholderSequence.h + ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h + ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h + ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h + ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h + ../../extern/Eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h + ../../extern/Eigen3/Eigen/src/Jacobi/Jacobi.h + ../../extern/Eigen3/Eigen/src/LU/Determinant.h + ../../extern/Eigen3/Eigen/src/LU/FullPivLU.h + ../../extern/Eigen3/Eigen/src/LU/Inverse.h + ../../extern/Eigen3/Eigen/src/LU/PartialPivLU.h + ../../extern/Eigen3/Eigen/src/LU/PartialPivLU_MKL.h + ../../extern/Eigen3/Eigen/src/LU/arch/Inverse_SSE.h + ../../extern/Eigen3/Eigen/src/misc/blas.h + ../../extern/Eigen3/Eigen/src/misc/Image.h + ../../extern/Eigen3/Eigen/src/misc/Kernel.h + ../../extern/Eigen3/Eigen/src/misc/Solve.h + ../../extern/Eigen3/Eigen/src/misc/SparseSolve.h + ../../extern/Eigen3/Eigen/src/OrderingMethods/Amd.h + ../../extern/Eigen3/Eigen/src/PardisoSupport/PardisoSupport.h + ../../extern/Eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h + ../../extern/Eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h + ../../extern/Eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h + ../../extern/Eigen3/Eigen/src/plugins/BlockMethods.h + ../../extern/Eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h + ../../extern/Eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h + ../../extern/Eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h + ../../extern/Eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h + ../../extern/Eigen3/Eigen/src/QR/ColPivHouseholderQR.h + ../../extern/Eigen3/Eigen/src/QR/ColPivHouseholderQR_MKL.h + ../../extern/Eigen3/Eigen/src/QR/FullPivHouseholderQR.h + ../../extern/Eigen3/Eigen/src/QR/HouseholderQR.h + ../../extern/Eigen3/Eigen/src/QR/HouseholderQR_MKL.h + ../../extern/Eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h + ../../extern/Eigen3/Eigen/src/SparseCore/AmbiVector.h + ../../extern/Eigen3/Eigen/src/SparseCore/CompressedStorage.h + ../../extern/Eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h + ../../extern/Eigen3/Eigen/src/SparseCore/CoreIterators.h + ../../extern/Eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseAssign.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseBlock.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseDenseProduct.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseDot.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseFuzzy.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseMatrix.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseMatrixBase.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparsePermutation.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseProduct.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseRedux.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseTranspose.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseTriangularView.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseUtil.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseVector.h + ../../extern/Eigen3/Eigen/src/SparseCore/SparseView.h + ../../extern/Eigen3/Eigen/src/SparseCore/TriangularSolver.h + ../../extern/Eigen3/Eigen/src/StlSupport/details.h + ../../extern/Eigen3/Eigen/src/StlSupport/StdDeque.h + ../../extern/Eigen3/Eigen/src/StlSupport/StdList.h + ../../extern/Eigen3/Eigen/src/StlSupport/StdVector.h + ../../extern/Eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h + ../../extern/Eigen3/Eigen/src/SVD/JacobiSVD.h + ../../extern/Eigen3/Eigen/src/SVD/JacobiSVD_MKL.h + ../../extern/Eigen3/Eigen/src/SVD/UpperBidiagonalization.h + ../../extern/Eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h + ) endif() set(SRC - Armature.cpp - Cache.cpp - ConstraintSet.cpp - ControlledObject.cpp - CopyPose.cpp - Distance.cpp - FixedObject.cpp - MovingFrame.cpp - Scene.cpp - UncontrolledObject.cpp - WDLSSolver.cpp - WSDLSSolver.cpp - WorldObject.cpp - eigen_types.cpp - ublas_types.hpp + Armature.cpp + Cache.cpp + ConstraintSet.cpp + ControlledObject.cpp + CopyPose.cpp + Distance.cpp + FixedObject.cpp + MovingFrame.cpp + Scene.cpp + UncontrolledObject.cpp + WDLSSolver.cpp + WSDLSSolver.cpp + WorldObject.cpp + eigen_types.cpp + ublas_types.hpp - kdl/chain.cpp - kdl/chainfksolverpos_recursive.cpp - kdl/chainjnttojacsolver.cpp - kdl/frameacc.cpp - kdl/frames.cpp - kdl/frames_io.cpp - kdl/framevel.cpp - kdl/inertia.cpp - kdl/jacobian.cpp - kdl/jntarray.cpp - kdl/jntarrayacc.cpp - kdl/jntarrayvel.cpp - kdl/joint.cpp - kdl/kinfam_io.cpp - kdl/segment.cpp - kdl/tree.cpp - kdl/treefksolverpos_recursive.cpp - kdl/treejnttojacsolver.cpp - kdl/utilities/error_stack.cpp - kdl/utilities/utility.cpp - kdl/utilities/utility_io.cpp + kdl/chain.cpp + kdl/chainfksolverpos_recursive.cpp + kdl/chainjnttojacsolver.cpp + kdl/frameacc.cpp + kdl/frames.cpp + kdl/frames_io.cpp + kdl/framevel.cpp + kdl/inertia.cpp + kdl/jacobian.cpp + kdl/jntarray.cpp + kdl/jntarrayacc.cpp + kdl/jntarrayvel.cpp + kdl/joint.cpp + kdl/kinfam_io.cpp + kdl/segment.cpp + kdl/tree.cpp + kdl/treefksolverpos_recursive.cpp + kdl/treejnttojacsolver.cpp + kdl/utilities/error_stack.cpp + kdl/utilities/utility.cpp + kdl/utilities/utility_io.cpp - Armature.hpp - Cache.hpp - ConstraintSet.hpp - ControlledObject.hpp - CopyPose.hpp - Distance.hpp - FixedObject.hpp - MovingFrame.hpp - Object.hpp - Scene.hpp - Solver.hpp - UncontrolledObject.hpp - WDLSSolver.hpp - WSDLSSolver.hpp - WorldObject.hpp - eigen_types.hpp - kdl/chain.hpp - kdl/chainfksolver.hpp - kdl/chainfksolverpos_recursive.hpp - kdl/chainjnttojacsolver.hpp - kdl/frameacc.hpp - kdl/frames.hpp - kdl/frames_io.hpp - kdl/framevel.hpp - kdl/inertia.hpp - kdl/jacobian.hpp - kdl/jntarray.hpp - kdl/jntarrayacc.hpp - kdl/jntarrayvel.hpp - kdl/joint.hpp - kdl/kinfam_io.hpp - kdl/segment.hpp - kdl/tree.hpp - kdl/treefksolver.hpp - kdl/treefksolverpos_recursive.hpp - kdl/treejnttojacsolver.hpp - kdl/utilities/error.h - kdl/utilities/error_stack.h - kdl/utilities/kdl-config.h - kdl/utilities/rall1d.h - kdl/utilities/rall2d.h - kdl/utilities/svd_eigen_HH.hpp - kdl/utilities/traits.h - kdl/utilities/utility.h - kdl/utilities/utility_io.h + Armature.hpp + Cache.hpp + ConstraintSet.hpp + ControlledObject.hpp + CopyPose.hpp + Distance.hpp + FixedObject.hpp + MovingFrame.hpp + Object.hpp + Scene.hpp + Solver.hpp + UncontrolledObject.hpp + WDLSSolver.hpp + WSDLSSolver.hpp + WorldObject.hpp + eigen_types.hpp + kdl/chain.hpp + kdl/chainfksolver.hpp + kdl/chainfksolverpos_recursive.hpp + kdl/chainjnttojacsolver.hpp + kdl/frameacc.hpp + kdl/frames.hpp + kdl/frames_io.hpp + kdl/framevel.hpp + kdl/inertia.hpp + kdl/jacobian.hpp + kdl/jntarray.hpp + kdl/jntarrayacc.hpp + kdl/jntarrayvel.hpp + kdl/joint.hpp + kdl/kinfam_io.hpp + kdl/segment.hpp + kdl/tree.hpp + kdl/treefksolver.hpp + kdl/treefksolverpos_recursive.hpp + kdl/treejnttojacsolver.hpp + kdl/utilities/error.h + kdl/utilities/error_stack.h + kdl/utilities/kdl-config.h + kdl/utilities/rall1d.h + kdl/utilities/rall2d.h + kdl/utilities/svd_eigen_HH.hpp + kdl/utilities/traits.h + kdl/utilities/utility.h + kdl/utilities/utility_io.h - kdl/frameacc.inl - kdl/frames.inl - kdl/framevel.inl + kdl/frameacc.inl + kdl/frames.inl + kdl/framevel.inl - ${EIGEN3_HEADERS} + ${EIGEN3_HEADERS} ) set(LIB diff --git a/intern/libmv/CMakeLists.txt b/intern/libmv/CMakeLists.txt index 67bf0de98b0..019364d84df 100644 --- a/intern/libmv/CMakeLists.txt +++ b/intern/libmv/CMakeLists.txt @@ -23,14 +23,14 @@ # in that script too set(INC - . + . ) set(INC_SYS ) set(SRC - libmv-capi.h + libmv-capi.h ) set(LIB @@ -38,207 +38,207 @@ set(LIB ) if(WITH_LIBMV) - add_definitions(${GFLAGS_DEFINES}) - add_definitions(${GLOG_DEFINES}) - add_definitions(${CERES_DEFINES}) - add_definitions(-DLIBMV_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) + add_definitions(${GFLAGS_DEFINES}) + add_definitions(${GLOG_DEFINES}) + add_definitions(${CERES_DEFINES}) + add_definitions(-DLIBMV_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) - list(APPEND INC - ${GFLAGS_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ../../extern/ceres/include - ../../extern/ceres/config - ../guardedalloc - ) + list(APPEND INC + ${GFLAGS_INCLUDE_DIRS} + ${GLOG_INCLUDE_DIRS} + ../../extern/ceres/include + ../../extern/ceres/config + ../guardedalloc + ) - list(APPEND INC_SYS - ${EIGEN3_INCLUDE_DIRS} - ${PNG_INCLUDE_DIRS} - ${ZLIB_INCLUDE_DIRS} - ) + list(APPEND INC_SYS + ${EIGEN3_INCLUDE_DIRS} + ${PNG_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIRS} + ) - list(APPEND LIB - extern_ceres - extern_glog - ) + list(APPEND LIB + extern_ceres + extern_glog + ) - add_definitions( - -DWITH_LIBMV_GUARDED_ALLOC - -DLIBMV_NO_FAST_DETECTOR= - ) + add_definitions( + -DWITH_LIBMV_GUARDED_ALLOC + -DLIBMV_NO_FAST_DETECTOR= + ) - list(APPEND SRC - intern/autotrack.cc - intern/camera_intrinsics.cc - intern/detector.cc - intern/frame_accessor.cc - intern/homography.cc - intern/image.cc - intern/logging.cc - intern/reconstruction.cc - intern/track_region.cc - intern/tracks.cc - intern/tracksN.cc - libmv/autotrack/autotrack.cc - libmv/autotrack/predict_tracks.cc - libmv/autotrack/tracks.cc - libmv/base/aligned_malloc.cc - libmv/image/array_nd.cc - libmv/image/convolve.cc - libmv/multiview/conditioning.cc - libmv/multiview/euclidean_resection.cc - libmv/multiview/fundamental.cc - libmv/multiview/homography.cc - libmv/multiview/panography.cc - libmv/multiview/panography_kernel.cc - libmv/multiview/projection.cc - libmv/multiview/triangulation.cc - libmv/numeric/numeric.cc - libmv/numeric/poly.cc - libmv/simple_pipeline/bundle.cc - libmv/simple_pipeline/camera_intrinsics.cc - libmv/simple_pipeline/detect.cc - libmv/simple_pipeline/distortion_models.cc - libmv/simple_pipeline/initialize_reconstruction.cc - libmv/simple_pipeline/intersect.cc - libmv/simple_pipeline/keyframe_selection.cc - libmv/simple_pipeline/modal_solver.cc - libmv/simple_pipeline/pipeline.cc - libmv/simple_pipeline/reconstruction.cc - libmv/simple_pipeline/reconstruction_scale.cc - libmv/simple_pipeline/resect.cc - libmv/simple_pipeline/tracks.cc - libmv/tracking/brute_region_tracker.cc - libmv/tracking/hybrid_region_tracker.cc - libmv/tracking/klt_region_tracker.cc - libmv/tracking/pyramid_region_tracker.cc - libmv/tracking/retrack_region_tracker.cc - libmv/tracking/track_region.cc - libmv/tracking/trklt_region_tracker.cc + list(APPEND SRC + intern/autotrack.cc + intern/camera_intrinsics.cc + intern/detector.cc + intern/frame_accessor.cc + intern/homography.cc + intern/image.cc + intern/logging.cc + intern/reconstruction.cc + intern/track_region.cc + intern/tracks.cc + intern/tracksN.cc + libmv/autotrack/autotrack.cc + libmv/autotrack/predict_tracks.cc + libmv/autotrack/tracks.cc + libmv/base/aligned_malloc.cc + libmv/image/array_nd.cc + libmv/image/convolve.cc + libmv/multiview/conditioning.cc + libmv/multiview/euclidean_resection.cc + libmv/multiview/fundamental.cc + libmv/multiview/homography.cc + libmv/multiview/panography.cc + libmv/multiview/panography_kernel.cc + libmv/multiview/projection.cc + libmv/multiview/triangulation.cc + libmv/numeric/numeric.cc + libmv/numeric/poly.cc + libmv/simple_pipeline/bundle.cc + libmv/simple_pipeline/camera_intrinsics.cc + libmv/simple_pipeline/detect.cc + libmv/simple_pipeline/distortion_models.cc + libmv/simple_pipeline/initialize_reconstruction.cc + libmv/simple_pipeline/intersect.cc + libmv/simple_pipeline/keyframe_selection.cc + libmv/simple_pipeline/modal_solver.cc + libmv/simple_pipeline/pipeline.cc + libmv/simple_pipeline/reconstruction.cc + libmv/simple_pipeline/reconstruction_scale.cc + libmv/simple_pipeline/resect.cc + libmv/simple_pipeline/tracks.cc + libmv/tracking/brute_region_tracker.cc + libmv/tracking/hybrid_region_tracker.cc + libmv/tracking/klt_region_tracker.cc + libmv/tracking/pyramid_region_tracker.cc + libmv/tracking/retrack_region_tracker.cc + libmv/tracking/track_region.cc + libmv/tracking/trklt_region_tracker.cc - intern/autotrack.h - intern/camera_intrinsics.h - intern/detector.h - intern/frame_accessor.h - intern/homography.h - intern/image.h - intern/logging.h - intern/reconstruction.h - intern/track_region.h - intern/tracks.h - intern/tracksN.h - libmv/autotrack/autotrack.h - libmv/autotrack/callbacks.h - libmv/autotrack/frame_accessor.h - libmv/autotrack/marker.h - libmv/autotrack/model.h - libmv/autotrack/predict_tracks.h - libmv/autotrack/quad.h - libmv/autotrack/reconstruction.h - libmv/autotrack/region.h - libmv/autotrack/tracks.h - libmv/base/aligned_malloc.h - libmv/base/id_generator.h - libmv/base/scoped_ptr.h - libmv/base/vector.h - libmv/base/vector_utils.h - libmv/image/array_nd.h - libmv/image/convolve.h - libmv/image/correlation.h - libmv/image/image_converter.h - libmv/image/image_drawing.h - libmv/image/image.h - libmv/image/sample.h - libmv/image/tuple.h - libmv/logging/logging.h - libmv/multiview/conditioning.h - libmv/multiview/euclidean_resection.h - libmv/multiview/fundamental.h - libmv/multiview/homography_error.h - libmv/multiview/homography.h - libmv/multiview/homography_parameterization.h - libmv/multiview/nviewtriangulation.h - libmv/multiview/panography.h - libmv/multiview/panography_kernel.h - libmv/multiview/projection.h - libmv/multiview/resection.h - libmv/multiview/triangulation.h - libmv/multiview/two_view_kernel.h - libmv/numeric/dogleg.h - libmv/numeric/function_derivative.h - libmv/numeric/levenberg_marquardt.h - libmv/numeric/numeric.h - libmv/numeric/poly.h - libmv/simple_pipeline/bundle.h - libmv/simple_pipeline/callbacks.h - libmv/simple_pipeline/camera_intrinsics.h - libmv/simple_pipeline/camera_intrinsics_impl.h - libmv/simple_pipeline/detect.h - libmv/simple_pipeline/distortion_models.h - libmv/simple_pipeline/initialize_reconstruction.h - libmv/simple_pipeline/intersect.h - libmv/simple_pipeline/keyframe_selection.h - libmv/simple_pipeline/modal_solver.h - libmv/simple_pipeline/pipeline.h - libmv/simple_pipeline/reconstruction.h - libmv/simple_pipeline/reconstruction_scale.h - libmv/simple_pipeline/resect.h - libmv/simple_pipeline/tracks.h - libmv/tracking/brute_region_tracker.h - libmv/tracking/hybrid_region_tracker.h - libmv/tracking/kalman_filter.h - libmv/tracking/klt_region_tracker.h - libmv/tracking/pyramid_region_tracker.h - libmv/tracking/region_tracker.h - libmv/tracking/retrack_region_tracker.h - libmv/tracking/track_region.h - libmv/tracking/trklt_region_tracker.h + intern/autotrack.h + intern/camera_intrinsics.h + intern/detector.h + intern/frame_accessor.h + intern/homography.h + intern/image.h + intern/logging.h + intern/reconstruction.h + intern/track_region.h + intern/tracks.h + intern/tracksN.h + libmv/autotrack/autotrack.h + libmv/autotrack/callbacks.h + libmv/autotrack/frame_accessor.h + libmv/autotrack/marker.h + libmv/autotrack/model.h + libmv/autotrack/predict_tracks.h + libmv/autotrack/quad.h + libmv/autotrack/reconstruction.h + libmv/autotrack/region.h + libmv/autotrack/tracks.h + libmv/base/aligned_malloc.h + libmv/base/id_generator.h + libmv/base/scoped_ptr.h + libmv/base/vector.h + libmv/base/vector_utils.h + libmv/image/array_nd.h + libmv/image/convolve.h + libmv/image/correlation.h + libmv/image/image_converter.h + libmv/image/image_drawing.h + libmv/image/image.h + libmv/image/sample.h + libmv/image/tuple.h + libmv/logging/logging.h + libmv/multiview/conditioning.h + libmv/multiview/euclidean_resection.h + libmv/multiview/fundamental.h + libmv/multiview/homography_error.h + libmv/multiview/homography.h + libmv/multiview/homography_parameterization.h + libmv/multiview/nviewtriangulation.h + libmv/multiview/panography.h + libmv/multiview/panography_kernel.h + libmv/multiview/projection.h + libmv/multiview/resection.h + libmv/multiview/triangulation.h + libmv/multiview/two_view_kernel.h + libmv/numeric/dogleg.h + libmv/numeric/function_derivative.h + libmv/numeric/levenberg_marquardt.h + libmv/numeric/numeric.h + libmv/numeric/poly.h + libmv/simple_pipeline/bundle.h + libmv/simple_pipeline/callbacks.h + libmv/simple_pipeline/camera_intrinsics.h + libmv/simple_pipeline/camera_intrinsics_impl.h + libmv/simple_pipeline/detect.h + libmv/simple_pipeline/distortion_models.h + libmv/simple_pipeline/initialize_reconstruction.h + libmv/simple_pipeline/intersect.h + libmv/simple_pipeline/keyframe_selection.h + libmv/simple_pipeline/modal_solver.h + libmv/simple_pipeline/pipeline.h + libmv/simple_pipeline/reconstruction.h + libmv/simple_pipeline/reconstruction_scale.h + libmv/simple_pipeline/resect.h + libmv/simple_pipeline/tracks.h + libmv/tracking/brute_region_tracker.h + libmv/tracking/hybrid_region_tracker.h + libmv/tracking/kalman_filter.h + libmv/tracking/klt_region_tracker.h + libmv/tracking/pyramid_region_tracker.h + libmv/tracking/region_tracker.h + libmv/tracking/retrack_region_tracker.h + libmv/tracking/track_region.h + libmv/tracking/trklt_region_tracker.h - third_party/msinttypes/inttypes.h - third_party/msinttypes/stdint.h - ) + third_party/msinttypes/inttypes.h + third_party/msinttypes/stdint.h + ) - if(WITH_GTESTS) - blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "" "" "") + if(WITH_GTESTS) + blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "" "" "") - BLENDER_SRC_GTEST("libmv_predict_tracks" "./libmv/autotrack/predict_tracks_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_tracks" "./libmv/autotrack/tracks_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_scoped_ptr" "./libmv/base/scoped_ptr_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_vector" "./libmv/base/vector_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_array_nd" "./libmv/image/array_nd_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_convolve" "./libmv/image/convolve_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_image" "./libmv/image/image_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_sample" "./libmv/image/sample_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_tuple" "./libmv/image/tuple_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_euclidean_resection" "./libmv/multiview/euclidean_resection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_fundamental" "./libmv/multiview/fundamental_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_homography" "./libmv/multiview/homography_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_nviewtriangulation" "./libmv/multiview/nviewtriangulation_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_panography" "./libmv/multiview/panography_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_projection" "./libmv/multiview/projection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_resection" "./libmv/multiview/resection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_triangulation" "./libmv/multiview/triangulation_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_dogleg" "./libmv/numeric/dogleg_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_function_derivative" "./libmv/numeric/function_derivative_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_levenberg_marquardt" "./libmv/numeric/levenberg_marquardt_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_numeric" "./libmv/numeric/numeric_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_poly" "./libmv/numeric/poly_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_camera_intrinsics" "./libmv/simple_pipeline/camera_intrinsics_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_detect" "./libmv/simple_pipeline/detect_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_intersect" "./libmv/simple_pipeline/intersect_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_keyframe_selection" "./libmv/simple_pipeline/keyframe_selection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_modal_solver" "./libmv/simple_pipeline/modal_solver_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_resect" "./libmv/simple_pipeline/resect_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_brute_region_tracker" "./libmv/tracking/brute_region_tracker_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_klt_region_tracker" "./libmv/tracking/klt_region_tracker_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - BLENDER_SRC_GTEST("libmv_pyramid_region_tracker" "./libmv/tracking/pyramid_region_tracker_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") - endif() + BLENDER_SRC_GTEST("libmv_predict_tracks" "./libmv/autotrack/predict_tracks_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_tracks" "./libmv/autotrack/tracks_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_scoped_ptr" "./libmv/base/scoped_ptr_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_vector" "./libmv/base/vector_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_array_nd" "./libmv/image/array_nd_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_convolve" "./libmv/image/convolve_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_image" "./libmv/image/image_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_sample" "./libmv/image/sample_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_tuple" "./libmv/image/tuple_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_euclidean_resection" "./libmv/multiview/euclidean_resection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_fundamental" "./libmv/multiview/fundamental_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_homography" "./libmv/multiview/homography_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_nviewtriangulation" "./libmv/multiview/nviewtriangulation_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_panography" "./libmv/multiview/panography_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_projection" "./libmv/multiview/projection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_resection" "./libmv/multiview/resection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_triangulation" "./libmv/multiview/triangulation_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_dogleg" "./libmv/numeric/dogleg_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_function_derivative" "./libmv/numeric/function_derivative_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_levenberg_marquardt" "./libmv/numeric/levenberg_marquardt_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_numeric" "./libmv/numeric/numeric_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_poly" "./libmv/numeric/poly_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_camera_intrinsics" "./libmv/simple_pipeline/camera_intrinsics_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_detect" "./libmv/simple_pipeline/detect_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_intersect" "./libmv/simple_pipeline/intersect_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_keyframe_selection" "./libmv/simple_pipeline/keyframe_selection_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_modal_solver" "./libmv/simple_pipeline/modal_solver_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_resect" "./libmv/simple_pipeline/resect_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_brute_region_tracker" "./libmv/tracking/brute_region_tracker_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_klt_region_tracker" "./libmv/tracking/klt_region_tracker_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + BLENDER_SRC_GTEST("libmv_pyramid_region_tracker" "./libmv/tracking/pyramid_region_tracker_test.cc" "libmv_test_dataset;bf_intern_libmv;extern_ceres") + endif() else() - list(APPEND SRC - intern/stub.cc - ) + list(APPEND SRC + intern/stub.cc + ) endif() blender_add_lib(bf_intern_libmv "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") diff --git a/intern/libmv/bundle.sh b/intern/libmv/bundle.sh index 0c28a1c9773..08bdf491d3b 100755 --- a/intern/libmv/bundle.sh +++ b/intern/libmv/bundle.sh @@ -102,14 +102,14 @@ cat > CMakeLists.txt << EOF # in that script too set(INC - . + . ) set(INC_SYS ) set(SRC - libmv-capi.h + libmv-capi.h ) set(LIB @@ -117,76 +117,76 @@ set(LIB ) if(WITH_LIBMV) - add_definitions(\${GFLAGS_DEFINES}) - add_definitions(\${GLOG_DEFINES}) - add_definitions(\${CERES_DEFINES}) - add_definitions(-DLIBMV_GFLAGS_NAMESPACE=\${GFLAGS_NAMESPACE}) + add_definitions(\${GFLAGS_DEFINES}) + add_definitions(\${GLOG_DEFINES}) + add_definitions(\${CERES_DEFINES}) + add_definitions(-DLIBMV_GFLAGS_NAMESPACE=\${GFLAGS_NAMESPACE}) - list(APPEND INC - \${GFLAGS_INCLUDE_DIRS} - \${GLOG_INCLUDE_DIRS} - ../../extern/ceres/include - ../../extern/ceres/config - ../guardedalloc - ) + list(APPEND INC + \${GFLAGS_INCLUDE_DIRS} + \${GLOG_INCLUDE_DIRS} + ../../extern/ceres/include + ../../extern/ceres/config + ../guardedalloc + ) - list(APPEND INC_SYS - \${EIGEN3_INCLUDE_DIRS} - \${PNG_INCLUDE_DIRS} - \${ZLIB_INCLUDE_DIRS} - ) + list(APPEND INC_SYS + \${EIGEN3_INCLUDE_DIRS} + \${PNG_INCLUDE_DIRS} + \${ZLIB_INCLUDE_DIRS} + ) - list(APPEND LIB - extern_ceres - extern_glog - ) + list(APPEND LIB + extern_ceres + extern_glog + ) - add_definitions( - -DWITH_LIBMV_GUARDED_ALLOC - -DLIBMV_NO_FAST_DETECTOR= - ) + add_definitions( + -DWITH_LIBMV_GUARDED_ALLOC + -DLIBMV_NO_FAST_DETECTOR= + ) - list(APPEND SRC - intern/autotrack.cc - intern/camera_intrinsics.cc - intern/detector.cc - intern/frame_accessor.cc - intern/homography.cc - intern/image.cc - intern/logging.cc - intern/reconstruction.cc - intern/track_region.cc - intern/tracks.cc - intern/tracksN.cc + list(APPEND SRC + intern/autotrack.cc + intern/camera_intrinsics.cc + intern/detector.cc + intern/frame_accessor.cc + intern/homography.cc + intern/image.cc + intern/logging.cc + intern/reconstruction.cc + intern/track_region.cc + intern/tracks.cc + intern/tracksN.cc ${sources} ${third_sources} - intern/autotrack.h - intern/camera_intrinsics.h - intern/detector.h - intern/frame_accessor.h - intern/homography.h - intern/image.h - intern/logging.h - intern/reconstruction.h - intern/track_region.h - intern/tracks.h - intern/tracksN.h + intern/autotrack.h + intern/camera_intrinsics.h + intern/detector.h + intern/frame_accessor.h + intern/homography.h + intern/image.h + intern/logging.h + intern/reconstruction.h + intern/track_region.h + intern/tracks.h + intern/tracksN.h ${headers} ${third_headers} - ) + ) - if(WITH_GTESTS) - blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "${INC}" "${INC_SYS}" "") + if(WITH_GTESTS) + blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "${INC}" "${INC_SYS}" "") ${tests} - endif() + endif() else() - list(APPEND SRC - intern/stub.cc - ) + list(APPEND SRC + intern/stub.cc + ) endif() blender_add_lib(bf_intern_libmv "\${SRC}" "\${INC}" "\${INC_SYS}" "\${LIB}") diff --git a/intern/numaapi/CMakeLists.txt b/intern/numaapi/CMakeLists.txt index cc4fb27bdb7..e65ae15ae47 100644 --- a/intern/numaapi/CMakeLists.txt +++ b/intern/numaapi/CMakeLists.txt @@ -17,7 +17,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - include + include ) set(INC_SYS @@ -25,13 +25,13 @@ set(INC_SYS ) set(SRC - source/numaapi.c - source/numaapi_linux.c - source/numaapi_stub.c - source/numaapi_win32.c + source/numaapi.c + source/numaapi_linux.c + source/numaapi_stub.c + source/numaapi_win32.c - include/numaapi.h - source/build_config.h + include/numaapi.h + source/build_config.h ) set(LIB diff --git a/intern/smoke/CMakeLists.txt b/intern/smoke/CMakeLists.txt index 232183fe33c..5c8e495fa93 100644 --- a/intern/smoke/CMakeLists.txt +++ b/intern/smoke/CMakeLists.txt @@ -19,62 +19,62 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - intern - ../memutil + intern + ../memutil ) set(INC_SYS - ${BULLET_INCLUDE_DIRS} - ${PNG_INCLUDE_DIRS} - ${ZLIB_INCLUDE_DIRS} + ${BULLET_INCLUDE_DIRS} + ${PNG_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIRS} ) set(SRC - intern/EIGENVALUE_HELPER.cpp - intern/FLUID_3D.cpp - intern/FLUID_3D_SOLVERS.cpp - intern/FLUID_3D_STATIC.cpp - intern/LU_HELPER.cpp - intern/SPHERE.cpp - intern/WTURBULENCE.cpp - intern/smoke_API.cpp + intern/EIGENVALUE_HELPER.cpp + intern/FLUID_3D.cpp + intern/FLUID_3D_SOLVERS.cpp + intern/FLUID_3D_STATIC.cpp + intern/LU_HELPER.cpp + intern/SPHERE.cpp + intern/WTURBULENCE.cpp + intern/smoke_API.cpp - extern/smoke_API.h - intern/EIGENVALUE_HELPER.h - intern/FFT_NOISE.h - intern/FLUID_3D.h - intern/IMAGE.h - intern/INTERPOLATE.h - intern/LU_HELPER.h - intern/MERSENNETWISTER.h - intern/OBSTACLE.h - intern/SPHERE.h - intern/VEC3.h - intern/WAVELET_NOISE.h - intern/WTURBULENCE.h - intern/tnt/jama_eig.h - intern/tnt/jama_lu.h - intern/tnt/tnt.h - intern/tnt/tnt_array1d.h - intern/tnt/tnt_array1d_utils.h - intern/tnt/tnt_array2d.h - intern/tnt/tnt_array2d_utils.h - intern/tnt/tnt_array3d.h - intern/tnt/tnt_array3d_utils.h - intern/tnt/tnt_cmat.h - intern/tnt/tnt_fortran_array1d.h - intern/tnt/tnt_fortran_array1d_utils.h - intern/tnt/tnt_fortran_array2d.h - intern/tnt/tnt_fortran_array2d_utils.h - intern/tnt/tnt_fortran_array3d.h - intern/tnt/tnt_fortran_array3d_utils.h - intern/tnt/tnt_i_refvec.h - intern/tnt/tnt_math_utils.h - intern/tnt/tnt_sparse_matrix_csr.h - intern/tnt/tnt_stopwatch.h - intern/tnt/tnt_subscript.h - intern/tnt/tnt_vec.h - intern/tnt/tnt_version.h + extern/smoke_API.h + intern/EIGENVALUE_HELPER.h + intern/FFT_NOISE.h + intern/FLUID_3D.h + intern/IMAGE.h + intern/INTERPOLATE.h + intern/LU_HELPER.h + intern/MERSENNETWISTER.h + intern/OBSTACLE.h + intern/SPHERE.h + intern/VEC3.h + intern/WAVELET_NOISE.h + intern/WTURBULENCE.h + intern/tnt/jama_eig.h + intern/tnt/jama_lu.h + intern/tnt/tnt.h + intern/tnt/tnt_array1d.h + intern/tnt/tnt_array1d_utils.h + intern/tnt/tnt_array2d.h + intern/tnt/tnt_array2d_utils.h + intern/tnt/tnt_array3d.h + intern/tnt/tnt_array3d_utils.h + intern/tnt/tnt_cmat.h + intern/tnt/tnt_fortran_array1d.h + intern/tnt/tnt_fortran_array1d_utils.h + intern/tnt/tnt_fortran_array2d.h + intern/tnt/tnt_fortran_array2d_utils.h + intern/tnt/tnt_fortran_array3d.h + intern/tnt/tnt_fortran_array3d_utils.h + intern/tnt/tnt_i_refvec.h + intern/tnt/tnt_math_utils.h + intern/tnt/tnt_sparse_matrix_csr.h + intern/tnt/tnt_stopwatch.h + intern/tnt/tnt_subscript.h + intern/tnt/tnt_vec.h + intern/tnt/tnt_version.h ) set(LIB @@ -84,16 +84,16 @@ set(LIB add_definitions(-DDDF_DEBUG=0) if(WITH_OPENMP) - add_definitions(-DPARALLEL=1) + add_definitions(-DPARALLEL=1) else() - add_definitions(-DPARALLEL=0) + add_definitions(-DPARALLEL=0) endif() if(WITH_FFTW3) - add_definitions(-DWITH_FFTW3) - list(APPEND INC_SYS - ${FFTW3_INCLUDE_DIRS} - ) + add_definitions(-DWITH_FFTW3) + list(APPEND INC_SYS + ${FFTW3_INCLUDE_DIRS} + ) endif() blender_add_lib(bf_intern_smoke "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") diff --git a/release/windows/blendthumb/CMakeLists.txt b/release/windows/blendthumb/CMakeLists.txt index 07c0d1ea1a8..45c583d1421 100644 --- a/release/windows/blendthumb/CMakeLists.txt +++ b/release/windows/blendthumb/CMakeLists.txt @@ -27,10 +27,10 @@ include_directories(${ZLIB_INCLUDE}) #Can manually add the sources using the set command as follows: set(SRC - src/BlenderThumb.cpp - src/BlendThumb.def - src/BlendThumb.rc - src/Dll.cpp + src/BlenderThumb.cpp + src/BlendThumb.def + src/BlendThumb.rc + src/Dll.cpp ) add_library(BlendThumb SHARED ${SRC}) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 3ffd9db74e5..93bebaed4b2 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,7 +1,7 @@ # Python CTests if(WITH_BLENDER AND WITH_PYTHON) - add_subdirectory(python) + add_subdirectory(python) endif() # GTest diff --git a/tests/python/CMakeLists.txt b/tests/python/CMakeLists.txt index ad843c72b44..fdd2efb69d1 100644 --- a/tests/python/CMakeLists.txt +++ b/tests/python/CMakeLists.txt @@ -30,19 +30,19 @@ set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests) # ugh, any better way to do this on testing only? execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR}) -#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR}) -#~ message(FATAL_ERROR "CMake test directory not found!") -#~ endif() +#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR}) +#~ message(FATAL_ERROR "CMake test directory not found!") +#~ endif() # all calls to blender use this if(APPLE) - if(${CMAKE_GENERATOR} MATCHES "Xcode") - set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup) - else() - set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) - endif() + if(${CMAKE_GENERATOR} MATCHES "Xcode") + set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup) + else() + set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) + endif() else() - set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) + set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) endif() # for testing with valgrind prefix: valgrind --track-origins=yes --error-limit=no @@ -53,94 +53,94 @@ endif() # ------------------------------------------------------------------------------ # GENERAL PYTHON CORRECTNESS TESTS add_test( - NAME script_load_keymap - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_keymap_completeness.py + NAME script_load_keymap + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_keymap_completeness.py ) add_test( - NAME script_load_addons - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_load_addons.py + NAME script_load_addons + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_load_addons.py ) add_test( - NAME script_load_modules - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_load_py_modules.py + NAME script_load_modules + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_load_py_modules.py ) # test running operators doesn't segfault under various conditions if(USE_EXPERIMENTAL_TESTS) - add_test( - NAME script_run_operators - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_run_operators.py - ) + add_test( + NAME script_run_operators + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_run_operators.py + ) endif() # ------------------------------------------------------------------------------ # PY API TESTS add_test( - NAME script_pyapi_bpy_path - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_bpy_path.py + NAME script_pyapi_bpy_path + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_bpy_path.py ) add_test( - NAME script_pyapi_bpy_utils_units - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_bpy_utils_units.py + NAME script_pyapi_bpy_utils_units + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_bpy_utils_units.py ) add_test( - NAME script_pyapi_mathutils - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_mathutils.py + NAME script_pyapi_mathutils + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_mathutils.py ) add_test( - NAME script_pyapi_idprop - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_idprop.py + NAME script_pyapi_idprop + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_idprop.py ) add_test( - NAME script_pyapi_idprop_datablock - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_idprop_datablock.py + NAME script_pyapi_idprop_datablock + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_idprop_datablock.py ) # ------------------------------------------------------------------------------ # MODELING TESTS add_test( - NAME bmesh_bevel - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/modeling/bevel_regression.blend - --python-text run_tests + NAME bmesh_bevel + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/modeling/bevel_regression.blend + --python-text run_tests ) add_test( - NAME bmesh_boolean - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/modeling/bool_regression.blend - --python-text run_tests + NAME bmesh_boolean + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/modeling/bool_regression.blend + --python-text run_tests ) add_test( - NAME bmesh_split_faces - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/modeling/split_faces_test.blend - --python-text run_tests + NAME bmesh_split_faces + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/modeling/split_faces_test.blend + --python-text run_tests ) # ------------------------------------------------------------------------------ # MODIFIERS TESTS add_test( - NAME object_modifier_array - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/modifier_stack/array_test.blend - --python-text run_tests + NAME object_modifier_array + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/modifier_stack/array_test.blend + --python-text run_tests ) # ------------------------------------------------------------------------------ @@ -150,67 +150,67 @@ add_test( # disabled until updated & working if(FALSE) add_test( - NAME import_obj_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/cube.obj'\) - --md5=39cce4bacac2d1b18fc470380279bc15 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_obj_cube.blend + NAME import_obj_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/cube.obj'\) + --md5=39cce4bacac2d1b18fc470380279bc15 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_obj_cube.blend ) add_test( - NAME import_obj_nurbs_cyclic - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/nurbs_cyclic.obj'\) - --md5=ad3c307e5883224a0492378cd32691ab --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_obj_nurbs_cyclic.blend + NAME import_obj_nurbs_cyclic + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/nurbs_cyclic.obj'\) + --md5=ad3c307e5883224a0492378cd32691ab --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_obj_nurbs_cyclic.blend ) add_test( - NAME import_obj_makehuman - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/makehuman.obj'\) - --md5=c9f78b185e58358daa4ecaecfa75464e --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_obj_makehuman.blend + NAME import_obj_makehuman + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.obj\(filepath='${TEST_SRC_DIR}/io_tests/obj/makehuman.obj'\) + --md5=c9f78b185e58358daa4ecaecfa75464e --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_obj_makehuman.blend ) endif() # OBJ Export tests add_test( - NAME export_obj_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_cube.obj',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_obj_cube.obj - --md5_source=${TEST_OUT_DIR}/export_obj_cube.mtl - --md5=95832f81160f07101dc566cb286a9f76 --md5_method=FILE + NAME export_obj_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_cube.obj',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_obj_cube.obj + --md5_source=${TEST_OUT_DIR}/export_obj_cube.mtl + --md5=95832f81160f07101dc566cb286a9f76 --md5_method=FILE ) add_test( - NAME export_obj_nurbs - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_nurbs.obj',use_selection=False,use_nurbs=True\) - --md5_source=${TEST_OUT_DIR}/export_obj_nurbs.obj - --md5_source=${TEST_OUT_DIR}/export_obj_nurbs.mtl - --md5=a733ae4fa4a591ea9b0912da3af042de --md5_method=FILE + NAME export_obj_nurbs + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_nurbs.obj',use_selection=False,use_nurbs=True\) + --md5_source=${TEST_OUT_DIR}/export_obj_nurbs.obj + --md5_source=${TEST_OUT_DIR}/export_obj_nurbs.mtl + --md5=a733ae4fa4a591ea9b0912da3af042de --md5_method=FILE ) # disabled until updated & working if(FALSE) add_test( - NAME export_obj_all_objects - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_all_objects.obj',use_selection=False,use_nurbs=True\) - --md5_source=${TEST_OUT_DIR}/export_obj_all_objects.obj - --md5_source=${TEST_OUT_DIR}/export_obj_all_objects.mtl - --md5=04b3ed97cede07a19548fc518ce9f8ca --md5_method=FILE + NAME export_obj_all_objects + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_all_objects.obj',use_selection=False,use_nurbs=True\) + --md5_source=${TEST_OUT_DIR}/export_obj_all_objects.obj + --md5_source=${TEST_OUT_DIR}/export_obj_all_objects.mtl + --md5=04b3ed97cede07a19548fc518ce9f8ca --md5_method=FILE ) endif() @@ -218,64 +218,64 @@ endif() # PLY Import tests add_test( - NAME import_ply_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_mesh.ply\(filepath='${TEST_SRC_DIR}/io_tests/ply/cube_ascii.ply'\) - --md5=527134343c27fc0ea73115b85fbfd3ac --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_ply_cube.blend + NAME import_ply_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_mesh.ply\(filepath='${TEST_SRC_DIR}/io_tests/ply/cube_ascii.ply'\) + --md5=527134343c27fc0ea73115b85fbfd3ac --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_ply_cube.blend ) add_test( - NAME import_ply_bunny - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_mesh.ply\(filepath='${TEST_SRC_DIR}/io_tests/ply/bunny2.ply'\) - --md5=6ea5b8533400a17accf928b8fd024eaa --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_ply_bunny.blend + NAME import_ply_bunny + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_mesh.ply\(filepath='${TEST_SRC_DIR}/io_tests/ply/bunny2.ply'\) + --md5=6ea5b8533400a17accf928b8fd024eaa --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_ply_bunny.blend ) add_test( - NAME import_ply_small_holes - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_mesh.ply\(filepath='${TEST_SRC_DIR}/io_tests/ply/many_small_holes.ply'\) - --md5=c3093e26ecae5b6d59fbbcf2a0d0b39f --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_ply_small_holes.blend + NAME import_ply_small_holes + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_mesh.ply\(filepath='${TEST_SRC_DIR}/io_tests/ply/many_small_holes.ply'\) + --md5=c3093e26ecae5b6d59fbbcf2a0d0b39f --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_ply_small_holes.blend ) # PLY Export # disabled until updated & working if(FALSE) add_test( - NAME export_ply_cube_all_data - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/cube_all_data.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_mesh.ply\(filepath='${TEST_OUT_DIR}/export_ply_cube_all_data.ply'\) - --md5_source=${TEST_OUT_DIR}/export_ply_cube_all_data.ply - --md5=6adc3748ceae8298496f99d0e7e76c15 --md5_method=FILE + NAME export_ply_cube_all_data + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/cube_all_data.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_mesh.ply\(filepath='${TEST_OUT_DIR}/export_ply_cube_all_data.ply'\) + --md5_source=${TEST_OUT_DIR}/export_ply_cube_all_data.ply + --md5=6adc3748ceae8298496f99d0e7e76c15 --md5_method=FILE ) add_test( - NAME export_ply_suzanne_all_data - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/suzanne_all_data.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_mesh.ply\(filepath='${TEST_OUT_DIR}/export_ply_suzanne_all_data.ply'\) - --md5_source=${TEST_OUT_DIR}/export_ply_suzanne_all_data.ply - --md5=68ba23f02efd6511bfd093f45f703221 --md5_method=FILE + NAME export_ply_suzanne_all_data + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/suzanne_all_data.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_mesh.ply\(filepath='${TEST_OUT_DIR}/export_ply_suzanne_all_data.ply'\) + --md5_source=${TEST_OUT_DIR}/export_ply_suzanne_all_data.ply + --md5=68ba23f02efd6511bfd093f45f703221 --md5_method=FILE ) endif() add_test( - NAME export_ply_vertices # lame, add a better one - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/vertices.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_mesh.ply\(filepath='${TEST_OUT_DIR}/export_ply_vertices.ply'\) - --md5_source=${TEST_OUT_DIR}/export_ply_vertices.ply - --md5=37faba0aa2014451b27f951afa92f870 --md5_method=FILE + NAME export_ply_vertices # lame, add a better one + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/vertices.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_mesh.ply\(filepath='${TEST_OUT_DIR}/export_ply_vertices.ply'\) + --md5_source=${TEST_OUT_DIR}/export_ply_vertices.ply + --md5=37faba0aa2014451b27f951afa92f870 --md5_method=FILE ) @@ -283,30 +283,30 @@ add_test( # disabled until updated & working if(FALSE) add_test( - NAME import_stl_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_mesh.stl\(filepath='${TEST_SRC_DIR}/io_tests/stl/cube.stl'\) - --md5=8ceb5bb7e1cb5f4342fa1669988c66b4 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_stl_cube.blend + NAME import_stl_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_mesh.stl\(filepath='${TEST_SRC_DIR}/io_tests/stl/cube.stl'\) + --md5=8ceb5bb7e1cb5f4342fa1669988c66b4 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_stl_cube.blend ) add_test( - NAME import_stl_conrod - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_mesh.stl\(filepath='${TEST_SRC_DIR}/io_tests/stl/conrod.stl'\) - --md5=690a4b8eb9002dcd8631c5a575ea7348 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_stl_conrod.blend + NAME import_stl_conrod + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_mesh.stl\(filepath='${TEST_SRC_DIR}/io_tests/stl/conrod.stl'\) + --md5=690a4b8eb9002dcd8631c5a575ea7348 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_stl_conrod.blend ) add_test( - NAME import_stl_knot_max_simplified - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_mesh.stl\(filepath='${TEST_SRC_DIR}/io_tests/stl/knot_max_simplified.stl'\) - --md5=baf82803f45a84ec4ddbad9cef57dd3e --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_stl_knot_max_simplified.blend + NAME import_stl_knot_max_simplified + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_mesh.stl\(filepath='${TEST_SRC_DIR}/io_tests/stl/knot_max_simplified.stl'\) + --md5=baf82803f45a84ec4ddbad9cef57dd3e --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_stl_knot_max_simplified.blend ) endif() @@ -314,33 +314,33 @@ endif() # disabled until updated & working if(FALSE) add_test( - NAME export_stl_cube_all_data - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/cube_all_data.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_mesh.stl\(filepath='${TEST_OUT_DIR}/export_stl_cube_all_data.stl'\) - --md5_source=${TEST_OUT_DIR}/export_stl_cube_all_data.stl - --md5=64cb97c0cabb015e1c3f76369835075a --md5_method=FILE + NAME export_stl_cube_all_data + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/cube_all_data.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_mesh.stl\(filepath='${TEST_OUT_DIR}/export_stl_cube_all_data.stl'\) + --md5_source=${TEST_OUT_DIR}/export_stl_cube_all_data.stl + --md5=64cb97c0cabb015e1c3f76369835075a --md5_method=FILE ) add_test( - NAME export_stl_suzanne_all_data - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/suzanne_all_data.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_mesh.stl\(filepath='${TEST_OUT_DIR}/export_stl_suzanne_all_data.stl'\) - --md5_source=${TEST_OUT_DIR}/export_stl_suzanne_all_data.stl - --md5=e9b23c97c139ad64961c635105bb9192 --md5_method=FILE + NAME export_stl_suzanne_all_data + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/suzanne_all_data.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_mesh.stl\(filepath='${TEST_OUT_DIR}/export_stl_suzanne_all_data.stl'\) + --md5_source=${TEST_OUT_DIR}/export_stl_suzanne_all_data.stl + --md5=e9b23c97c139ad64961c635105bb9192 --md5_method=FILE ) add_test( - NAME export_stl_vertices # lame, add a better one - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/vertices.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_mesh.stl\(filepath='${TEST_OUT_DIR}/export_stl_vertices.stl'\) - --md5_source=${TEST_OUT_DIR}/export_stl_vertices.stl - --md5=3fd3c877e573beeebc782532cc005820 --md5_method=FILE + NAME export_stl_vertices # lame, add a better one + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/vertices.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_mesh.stl\(filepath='${TEST_OUT_DIR}/export_stl_vertices.stl'\) + --md5_source=${TEST_OUT_DIR}/export_stl_vertices.stl + --md5=3fd3c877e573beeebc782532cc005820 --md5_method=FILE ) endif() @@ -349,61 +349,61 @@ endif() # disabled until updated & working if(FALSE) add_test( - NAME import_x3d_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/color_cube.x3d'\) - --md5=3fae9be004199c145941cd3f9f80ad7b --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_x3d_cube.blend + NAME import_x3d_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/color_cube.x3d'\) + --md5=3fae9be004199c145941cd3f9f80ad7b --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_x3d_cube.blend ) add_test( - NAME import_x3d_teapot - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/teapot.x3d'\) - --md5=8ee196c71947dce4199d55698501691e --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_x3d_teapot.blend + NAME import_x3d_teapot + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/teapot.x3d'\) + --md5=8ee196c71947dce4199d55698501691e --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_x3d_teapot.blend ) add_test( - NAME import_x3d_suzanne_material - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/suzanne_material.x3d'\) - --md5=3edea1353257d8b5a5f071942f417be6 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_x3d_suzanne_material.blend + NAME import_x3d_suzanne_material + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/suzanne_material.x3d'\) + --md5=3edea1353257d8b5a5f071942f417be6 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_x3d_suzanne_material.blend ) # X3D Export add_test( - NAME export_x3d_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_cube.x3d',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_x3d_cube.x3d - --md5=05312d278fe41da33560fdfb9bdb268f --md5_method=FILE + NAME export_x3d_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_cube.x3d',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_x3d_cube.x3d + --md5=05312d278fe41da33560fdfb9bdb268f --md5_method=FILE ) add_test( - NAME export_x3d_nurbs - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_nurbs.x3d',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_x3d_nurbs.x3d - --md5=4286d4a2aa507ef78b22ddcbdcc88481 --md5_method=FILE + NAME export_x3d_nurbs + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_nurbs.x3d',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_x3d_nurbs.x3d + --md5=4286d4a2aa507ef78b22ddcbdcc88481 --md5_method=FILE ) add_test( - NAME export_x3d_all_objects - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_all_objects.x3d',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_x3d_all_objects.x3d - --md5=f5f9fa4c5619a0eeab66685aafd2f7f0 --md5_method=FILE + NAME export_x3d_all_objects + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_all_objects.x3d',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_x3d_all_objects.x3d + --md5=f5f9fa4c5619a0eeab66685aafd2f7f0 --md5_method=FILE ) endif() @@ -413,30 +413,30 @@ endif() # disabled until updated & working if(FALSE) add_test( - NAME import_3ds_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/cube.3ds'\) - --md5=cb5a45c35a343c3f5beca2a918472951 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_3ds_cube.blend + NAME import_3ds_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/cube.3ds'\) + --md5=cb5a45c35a343c3f5beca2a918472951 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_3ds_cube.blend ) add_test( - NAME import_3ds_hierarchy_lara - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/hierarchy_lara.3ds'\) - --md5=766c873d9fdb5f190e43796cfbae63b6 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_3ds_hierarchy_lara.blend + NAME import_3ds_hierarchy_lara + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/hierarchy_lara.3ds'\) + --md5=766c873d9fdb5f190e43796cfbae63b6 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_3ds_hierarchy_lara.blend ) add_test( - NAME import_3ds_hierarchy_greek_trireme - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/hierarchy_greek_trireme.3ds'\) - --md5=b62ee30101e8999cb91ef4f8a8760056 --md5_method=SCENE - --write-blend=${TEST_OUT_DIR}/import_3ds_hierarchy_greek_trireme.blend + NAME import_3ds_hierarchy_greek_trireme + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.import_scene.autodesk_3ds\(filepath='${TEST_SRC_DIR}/io_tests/3ds/hierarchy_greek_trireme.3ds'\) + --md5=b62ee30101e8999cb91ef4f8a8760056 --md5_method=SCENE + --write-blend=${TEST_OUT_DIR}/import_3ds_hierarchy_greek_trireme.blend ) endif() @@ -444,33 +444,33 @@ endif() # disabled until updated & working if(FALSE) add_test( - NAME export_3ds_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_cube.3ds',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_3ds_cube.3ds - --md5=a31f5071b6c6dc7445b9099cdc7f63b3 --md5_method=FILE + NAME export_3ds_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_cube.3ds',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_3ds_cube.3ds + --md5=a31f5071b6c6dc7445b9099cdc7f63b3 --md5_method=FILE ) add_test( - NAME export_3ds_nurbs - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_nurbs.3ds',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_3ds_nurbs.3ds - --md5=5bdd21be3c80d814fbc83cb25edb08c2 --md5_method=FILE + NAME export_3ds_nurbs + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_nurbs.3ds',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_3ds_nurbs.3ds + --md5=5bdd21be3c80d814fbc83cb25edb08c2 --md5_method=FILE ) add_test( - NAME export_3ds_all_objects - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_all_objects.3ds',use_selection=False\) - --md5_source=${TEST_OUT_DIR}/export_3ds_all_objects.3ds - --md5=68447761ab0ca38e1e22e7c177ed48a8 --md5_method=FILE + NAME export_3ds_all_objects + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_all_objects.3ds',use_selection=False\) + --md5_source=${TEST_OUT_DIR}/export_3ds_all_objects.3ds + --md5=68447761ab0ca38e1e22e7c177ed48a8 --md5_method=FILE ) endif() @@ -481,160 +481,160 @@ endif() # disabled until updated & working if(FALSE) add_test( - NAME export_fbx_cube - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_cube.fbx',use_selection=False,use_metadata=False\) - --md5_source=${TEST_OUT_DIR}/export_fbx_cube.fbx - --md5=59a35577462f95f9a0b4e6035226ce9b --md5_method=FILE + NAME export_fbx_cube + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/all_quads.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_cube.fbx',use_selection=False,use_metadata=False\) + --md5_source=${TEST_OUT_DIR}/export_fbx_cube.fbx + --md5=59a35577462f95f9a0b4e6035226ce9b --md5_method=FILE ) add_test( - NAME export_fbx_nurbs - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_nurbs.fbx',use_selection=False,use_metadata=False\) - --md5_source=${TEST_OUT_DIR}/export_fbx_nurbs.fbx - --md5=d31875f18f613fa0c3b16e978f87f6f8 --md5_method=FILE + NAME export_fbx_nurbs + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_geometry/nurbs.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_nurbs.fbx',use_selection=False,use_metadata=False\) + --md5_source=${TEST_OUT_DIR}/export_fbx_nurbs.fbx + --md5=d31875f18f613fa0c3b16e978f87f6f8 --md5_method=FILE ) add_test( - NAME export_fbx_all_objects - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend - --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- - --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_all_objects.fbx',use_selection=False,use_metadata=False\) - --md5_source=${TEST_OUT_DIR}/export_fbx_all_objects.fbx - --md5=b35eb2a9d0e73762ecae2278c25a38ac --md5_method=FILE + NAME export_fbx_all_objects + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + ${TEST_SRC_DIR}/io_tests/blend_scene/all_objects.blend + --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- + --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_all_objects.fbx',use_selection=False,use_metadata=False\) + --md5_source=${TEST_OUT_DIR}/export_fbx_all_objects.fbx + --md5=b35eb2a9d0e73762ecae2278c25a38ac --md5_method=FILE ) endif() # Run Python script outside Blender. function(add_python_test testname testscript) - if(MSVC) - add_test( - NAME ${testname} - COMMAND - "$/${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}/python/bin/python$<$:_d>" - ${testscript} ${ARGN} - ) - else() - add_test( - NAME ${testname} - COMMAND ${testscript} ${ARGN} - ) - endif() + if(MSVC) + add_test( + NAME ${testname} + COMMAND + "$/${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}/python/bin/python$<$:_d>" + ${testscript} ${ARGN} + ) + else() + add_test( + NAME ${testname} + COMMAND ${testscript} ${ARGN} + ) + endif() endfunction() if(OPENIMAGEIO_IDIFF AND EXISTS "${TEST_SRC_DIR}/render/ctests/shader") - macro(add_cycles_render_test subject) - if(WITH_CYCLES) - add_python_test( - cycles_${subject} - ${CMAKE_CURRENT_LIST_DIR}/cycles_render_tests.py - -blender "$" - -testdir "${TEST_SRC_DIR}/render/ctests/${subject}" - -idiff "${OPENIMAGEIO_IDIFF}" - -outdir "${TEST_OUT_DIR}/cycles" - ) - endif() + macro(add_cycles_render_test subject) + if(WITH_CYCLES) + add_python_test( + cycles_${subject} + ${CMAKE_CURRENT_LIST_DIR}/cycles_render_tests.py + -blender "$" + -testdir "${TEST_SRC_DIR}/render/ctests/${subject}" + -idiff "${OPENIMAGEIO_IDIFF}" + -outdir "${TEST_OUT_DIR}/cycles" + ) + endif() - if(WITH_OPENGL_RENDER_TESTS AND (NOT ${subject} MATCHES "bake")) - add_python_test( - eevee_${subject}_test - ${CMAKE_CURRENT_LIST_DIR}/eevee_render_tests.py - -blender "$" - -testdir "${TEST_SRC_DIR}/render/ctests/${subject}" - -idiff "${OPENIMAGEIO_IDIFF}" - -outdir "${TEST_OUT_DIR}/eevee" - ) - endif() - endmacro() - add_cycles_render_test(bake) - add_cycles_render_test(bsdf) - add_cycles_render_test(denoise) - add_cycles_render_test(denoise_animation) - add_cycles_render_test(displacement) - add_cycles_render_test(hair) - add_cycles_render_test(image_data_types) - add_cycles_render_test(image_mapping) - add_cycles_render_test(image_texture_limit) - add_cycles_render_test(integrator) - add_cycles_render_test(light) - add_cycles_render_test(mesh) - add_cycles_render_test(motion_blur) - add_cycles_render_test(render_layer) - add_cycles_render_test(reports) - add_cycles_render_test(shader) - add_cycles_render_test(shadow_catcher) - add_cycles_render_test(sss) - add_cycles_render_test(volume) + if(WITH_OPENGL_RENDER_TESTS AND (NOT ${subject} MATCHES "bake")) + add_python_test( + eevee_${subject}_test + ${CMAKE_CURRENT_LIST_DIR}/eevee_render_tests.py + -blender "$" + -testdir "${TEST_SRC_DIR}/render/ctests/${subject}" + -idiff "${OPENIMAGEIO_IDIFF}" + -outdir "${TEST_OUT_DIR}/eevee" + ) + endif() + endmacro() + add_cycles_render_test(bake) + add_cycles_render_test(bsdf) + add_cycles_render_test(denoise) + add_cycles_render_test(denoise_animation) + add_cycles_render_test(displacement) + add_cycles_render_test(hair) + add_cycles_render_test(image_data_types) + add_cycles_render_test(image_mapping) + add_cycles_render_test(image_texture_limit) + add_cycles_render_test(integrator) + add_cycles_render_test(light) + add_cycles_render_test(mesh) + add_cycles_render_test(motion_blur) + add_cycles_render_test(render_layer) + add_cycles_render_test(reports) + add_cycles_render_test(shader) + add_cycles_render_test(shadow_catcher) + add_cycles_render_test(sss) + add_cycles_render_test(volume) elseif(WITH_CYCLES) - MESSAGE(STATUS "Disabling Cycles tests because tests folder does not exist") + MESSAGE(STATUS "Disabling Cycles tests because tests folder does not exist") endif() if(WITH_OPENGL_DRAW_TESTS) - if(OPENIMAGEIO_IDIFF AND EXISTS "${TEST_SRC_DIR}/opengl") - # Use all subdirectories of opengl folder. - file(GLOB children RELATIVE ${TEST_SRC_DIR}/opengl ${TEST_SRC_DIR}/opengl/*) - foreach(child ${children}) - # Resolve symlinks, useful to test production files with linked libraries. - get_filename_component(child_path ${TEST_SRC_DIR}/opengl/${child} REALPATH) - if(IS_DIRECTORY ${child_path}) - file(GLOB_RECURSE blends "${child_path}/*.blend") - if(blends) - add_python_test( - opengl_draw_${child} - ${CMAKE_CURRENT_LIST_DIR}/opengl_draw_tests.py - -blender "$" - -testdir "${child_path}" - -idiff "${OPENIMAGEIO_IDIFF}" - -outdir "${TEST_OUT_DIR}/opengl_draw" - ) - endif() - endif() - endforeach() - else() - MESSAGE(STATUS "Disabling OpenGL tests because tests folder does not exist") - endif() + if(OPENIMAGEIO_IDIFF AND EXISTS "${TEST_SRC_DIR}/opengl") + # Use all subdirectories of opengl folder. + file(GLOB children RELATIVE ${TEST_SRC_DIR}/opengl ${TEST_SRC_DIR}/opengl/*) + foreach(child ${children}) + # Resolve symlinks, useful to test production files with linked libraries. + get_filename_component(child_path ${TEST_SRC_DIR}/opengl/${child} REALPATH) + if(IS_DIRECTORY ${child_path}) + file(GLOB_RECURSE blends "${child_path}/*.blend") + if(blends) + add_python_test( + opengl_draw_${child} + ${CMAKE_CURRENT_LIST_DIR}/opengl_draw_tests.py + -blender "$" + -testdir "${child_path}" + -idiff "${OPENIMAGEIO_IDIFF}" + -outdir "${TEST_OUT_DIR}/opengl_draw" + ) + endif() + endif() + endforeach() + else() + MESSAGE(STATUS "Disabling OpenGL tests because tests folder does not exist") + endif() endif() if(WITH_ALEMBIC) - find_package_wrapper(Alembic) - if(NOT ALEMBIC_FOUND) - message(FATAL_ERROR "Alembic is enabled but cannot be found") - endif() - get_filename_component(real_include_dir ${ALEMBIC_INCLUDE_DIR} REALPATH) - get_filename_component(ALEMBIC_ROOT_DIR ${real_include_dir} DIRECTORY) + find_package_wrapper(Alembic) + if(NOT ALEMBIC_FOUND) + message(FATAL_ERROR "Alembic is enabled but cannot be found") + endif() + get_filename_component(real_include_dir ${ALEMBIC_INCLUDE_DIR} REALPATH) + get_filename_component(ALEMBIC_ROOT_DIR ${real_include_dir} DIRECTORY) - add_python_test( - alembic_tests - ${CMAKE_CURRENT_LIST_DIR}/alembic_tests.py - --blender "$" - --testdir "${TEST_SRC_DIR}/alembic" - --alembic-root "${ALEMBIC_ROOT_DIR}" - ) + add_python_test( + alembic_tests + ${CMAKE_CURRENT_LIST_DIR}/alembic_tests.py + --blender "$" + --testdir "${TEST_SRC_DIR}/alembic" + --alembic-root "${ALEMBIC_ROOT_DIR}" + ) - add_test( - NAME script_alembic_import - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} - --python ${CMAKE_CURRENT_LIST_DIR}/bl_alembic_import_test.py - -- - --testdir "${TEST_SRC_DIR}/alembic" - --with-legacy-depsgraph=${WITH_LEGACY_DEPSGRAPH} - ) + add_test( + NAME script_alembic_import + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_alembic_import_test.py + -- + --testdir "${TEST_SRC_DIR}/alembic" + --with-legacy-depsgraph=${WITH_LEGACY_DEPSGRAPH} + ) endif() if(WITH_CODEC_FFMPEG) - add_python_test( - ffmpeg - ${CMAKE_CURRENT_LIST_DIR}/ffmpeg_tests.py - --blender "$" - --testdir "${TEST_DATA_SRC_DIR}/ffmpeg" - ) + add_python_test( + ffmpeg + ${CMAKE_CURRENT_LIST_DIR}/ffmpeg_tests.py + --blender "$" + --testdir "${TEST_DATA_SRC_DIR}/ffmpeg" + ) endif() add_subdirectory(collada) diff --git a/tests/python/collada/CMakeLists.txt b/tests/python/collada/CMakeLists.txt index 66d72611b63..13d2b4fd9ff 100644 --- a/tests/python/collada/CMakeLists.txt +++ b/tests/python/collada/CMakeLists.txt @@ -29,19 +29,19 @@ set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests) # ugh, any better way to do this on testing only? execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR}) -#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR}) -#~ message(FATAL_ERROR "CMake test directory not found!") -#~ endif() +#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR}) +#~ message(FATAL_ERROR "CMake test directory not found!") +#~ endif() # all calls to blender use this if(APPLE) - if(${CMAKE_GENERATOR} MATCHES "Xcode") - set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup) - else() - set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) - endif() + if(${CMAKE_GENERATOR} MATCHES "Xcode") + set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup) + else() + set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) + endif() else() - set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) + set(TEST_BLENDER_EXE_PARAMS --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts) endif() # for testing with valgrind prefix: valgrind --track-origins=yes --error-limit=no @@ -51,12 +51,12 @@ endif() # ------------------------------------------------------------------------------ # GENERAL PYTHON CORRECTNESS TESTS macro (COLLADA_TEST module test_name blend_file) - add_test( - NAME collada_${module}_${test_name} - COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} ${TEST_SRC_DIR}/collada/${module}/${blend_file} - --python ${CMAKE_CURRENT_LIST_DIR}/${module}/test_${module}_${test_name}.py -- - --testdir ${TEST_SRC_DIR}/collada/${module} - ) + add_test( + NAME collada_${module}_${test_name} + COMMAND "$" ${TEST_BLENDER_EXE_PARAMS} ${TEST_SRC_DIR}/collada/${module}/${blend_file} + --python ${CMAKE_CURRENT_LIST_DIR}/${module}/test_${module}_${test_name}.py -- + --testdir ${TEST_SRC_DIR}/collada/${module} + ) endmacro() # Tests are disabled because they only work on Windows diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt index 54eb29a7454..68c89fb9911 100644 --- a/tests/python/view_layer/CMakeLists.txt +++ b/tests/python/view_layer/CMakeLists.txt @@ -25,19 +25,19 @@ set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests) # ugh, any better way to do this on testing only? execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR}) -#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR}) -#~ message(FATAL_ERROR "CMake test directory not found!") -#~ endif() +#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR}) +#~ message(FATAL_ERROR "CMake test directory not found!") +#~ endif() # all calls to blender use this if(APPLE) - if(${CMAKE_GENERATOR} MATCHES "Xcode") - set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/Debug/blender.app/Contents/MacOS/blender) - else() - set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender.app/Contents/MacOS/blender) - endif() + if(${CMAKE_GENERATOR} MATCHES "Xcode") + set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/Debug/blender.app/Contents/MacOS/blender) + else() + set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender.app/Contents/MacOS/blender) + endif() else() - set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender) + set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender) endif() # for testing with valgrind prefix: valgrind --track-origins=yes --error-limit=no @@ -47,14 +47,14 @@ set(TEST_BLENDER_EXE ${TEST_BLENDER_EXE} --background -noaudio --factory-startup # ------------------------------------------------------------------------------ macro(VIEW_LAYER_TEST test_name) - # Adds ${CMAKE_CURRENT_LIST_DIR} to sys.path so that the tests can import - # things from view_layer_common.py - add_test(view_layer_${test_name} ${TEST_BLENDER_EXE} - --python-expr "import sys; sys.path.append('${CMAKE_CURRENT_LIST_DIR}')" - --python-exit-code 1 - --python ${CMAKE_CURRENT_LIST_DIR}/test_${test_name}.py -- - --testdir="${TEST_SRC_DIR}/layers" - ) + # Adds ${CMAKE_CURRENT_LIST_DIR} to sys.path so that the tests can import + # things from view_layer_common.py + add_test(view_layer_${test_name} ${TEST_BLENDER_EXE} + --python-expr "import sys; sys.path.append('${CMAKE_CURRENT_LIST_DIR}')" + --python-exit-code 1 + --python ${CMAKE_CURRENT_LIST_DIR}/test_${test_name}.py -- + --testdir="${TEST_SRC_DIR}/layers" + ) endmacro() VIEW_LAYER_TEST(active_collection)