[Bf-blender-cvs] [fdc7aaa8df0] tmp_libupdate_34: fix: bad merge in previous commit
Ray Molenkamp
noreply at git.blender.org
Mon Aug 15 21:39:03 CEST 2022
Commit: fdc7aaa8df02c3535145e9f9b267ba6cd3c290c1
Author: Ray Molenkamp
Date: Mon Aug 15 13:38:55 2022 -0600
Branches: tmp_libupdate_34
https://developer.blender.org/rBfdc7aaa8df02c3535145e9f9b267ba6cd3c290c1
fix: bad merge in previous commit
source/creator/CMakeLists.txt got truncated somehow.
===================================================================
M source/creator/CMakeLists.txt
===================================================================
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index e69de29bb2d..b9912929a54 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -0,0 +1,1284 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright 2006 Blender Foundation. All rights reserved.
+
+blender_include_dirs(
+ ../../intern/clog
+ ../../intern/glew-mx
+ ../../intern/guardedalloc
+ ../blender/blenkernel
+ ../blender/blenlib
+ ../blender/blenloader
+ ../blender/depsgraph
+ ../blender/editors/include
+ ../blender/gpu
+ ../blender/imbuf
+ ../blender/makesdna
+ ../blender/makesrna
+ ../blender/render
+ ../blender/windowmanager
+)
+
+set(LIB
+ bf_windowmanager
+)
+
+if(WITH_TBB)
+ # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so
+ # that it is initialized before MKL and static library initialization order
+ # issues are avoided.
+ #
+ # This isn't fully robust but seems to work.
+ list(INSERT LIB 0 ${TBB_LIBRARIES})
+ list(INSERT LIB 0 bf_blenkernel)
+endif()
+
+if(WIN32)
+ blender_include_dirs(../../intern/utfconv)
+endif()
+
+if(WITH_LIBMV)
+ blender_include_dirs(../../intern/libmv)
+ add_definitions(-DWITH_LIBMV)
+endif()
+
+if(WITH_CYCLES)
+ if(WITH_CYCLES_LOGGING)
+ blender_include_dirs(../../intern/cycles/blender)
+ add_definitions(-DWITH_CYCLES_LOGGING)
+ endif()
+endif()
+
+if(WITH_CODEC_FFMPEG)
+ add_definitions(-DWITH_FFMPEG)
+endif()
+
+if(WITH_TBB)
+ blender_include_dirs(${TBB_INCLUDE_DIRS})
+ if(WIN32)
+ # For pragma that links tbbmalloc_proxy.lib
+ link_directories(${LIBDIR}/tbb/lib)
+ endif()
+endif()
+
+
+if(WITH_PYTHON)
+ blender_include_dirs(../blender/python)
+ add_definitions(-DWITH_PYTHON)
+
+ if(WITH_PYTHON_SECURITY)
+ add_definitions(-DWITH_PYTHON_SECURITY)
+ endif()
+endif()
+
+if(WITH_HEADLESS)
+ add_definitions(-DWITH_HEADLESS)
+endif()
+
+if(WITH_SDL)
+ if(WITH_SDL_DYNLOAD)
+ blender_include_dirs(../../extern/sdlew/include)
+ add_definitions(-DWITH_SDL_DYNLOAD)
+ endif()
+ add_definitions(-DWITH_SDL)
+endif()
+
+if(WITH_BINRELOC)
+ blender_include_dirs(${BINRELOC_INCLUDE_DIRS})
+ add_definitions(-DWITH_BINRELOC)
+endif()
+
+if(WITH_FREESTYLE)
+ blender_include_dirs(../blender/freestyle)
+ add_definitions(-DWITH_FREESTYLE)
+endif()
+
+if(WITH_XR_OPENXR)
+ add_definitions(-DWITH_XR_OPENXR)
+endif()
+
+if(WITH_GMP)
+ blender_include_dirs(${GMP_INCLUDE_DIRS})
+ add_definitions(-DWITH_GMP)
+endif()
+
+if(WITH_OPENCOLORIO)
+ add_definitions(-DWITH_OCIO)
+endif()
+
+# Setup the exe sources and buildinfo
+set(SRC
+ creator.c
+ creator_args.c
+ creator_signals.c
+
+ creator_intern.h
+)
+
+# MSVC 2010 gives linking errors with the manifest
+if(WIN32 AND NOT UNIX)
+ add_definitions(
+ -DBLEN_VER_RC_STR="${BLENDER_VERSION}"
+ -DBLEN_VER_RC_1=${BLENDER_VERSION_MAJOR}
+ -DBLEN_VER_RC_2=${BLENDER_VERSION_MINOR}
+ -DBLEN_VER_RC_3=${BLENDER_VERSION_PATCH}
+ -DBLEN_VER_RC_4=0
+ )
+
+
+ list(APPEND SRC
+ ${CMAKE_SOURCE_DIR}/release/windows/icons/winblender.rc
+ ${CMAKE_BINARY_DIR}/blender.exe.manifest
+ )
+endif()
+
+if(WITH_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
+ # --------------------------------------------------------------------------
+ # These defines could all be moved into the header below
+
+ # Write strings into a separate header since we can escape C-strings
+ # in a way that's not practical when passing defines.
+ set(BUILD_PLATFORM "${CMAKE_SYSTEM_NAME}")
+ set(BUILD_TYPE "${CMAKE_BUILD_TYPE}")
+ set(BUILD_CFLAGS "${CMAKE_C_FLAGS}")
+ set(BUILD_CXXFLAGS "${CMAKE_CXX_FLAGS}")
+ set(BUILD_LINKFLAGS "${PLATFORM_LINKFLAGS}")
+ set(BUILD_SYSTEM "CMake")
+
+ if(WITH_COMPILER_SHORT_FILE_MACRO)
+ # It's not necessary to include path information
+ # about the system building Blender in the executable.
+ string(REPLACE "${PLATFORM_CFLAGS_FMACRO_PREFIX_MAP}" " " BUILD_CFLAGS "${BUILD_CFLAGS}")
+ string(REPLACE "${PLATFORM_CFLAGS_FMACRO_PREFIX_MAP}" " " BUILD_CXXFLAGS "${BUILD_CXXFLAGS}")
+ endif()
+
+ # Use `configure_file` instead of definitions since properly
+ # escaping the multiple command line arguments which themselves
+ # contain strings and spaces becomes overly error-prone & complicated.
+ configure_file(
+ "${CMAKE_SOURCE_DIR}/build_files/cmake/buildinfo_static.h.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/buildinfo_static.h"
+ ESCAPE_QUOTES
+ @ONLY
+ )
+
+ unset(BUILD_PLATFORM)
+ unset(BUILD_TYPE)
+ unset(BUILD_CFLAGS)
+ unset(BUILD_CXXFLAGS)
+ unset(BUILD_LINKFLAGS)
+ unset(BUILD_SYSTEM)
+
+ # --------------------------------------------------------------------------
+ # write header for values that change each build
+ # note, generated file is in build dir's source/creator
+ # except when used as an include path.
+
+ add_definitions(-DWITH_BUILDINFO_HEADER)
+
+ # include the output directory, where the buildinfo.h file is generated
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+
+ # XXX, ${buildinfo_h_fake} is used here,
+ # because we rely on that file being detected as missing
+ # every build so that the real header "buildinfo.h" is updated.
+ #
+ # Keep this until we find a better way to resolve!
+
+ set(buildinfo_h_real "${CMAKE_CURRENT_BINARY_DIR}/buildinfo.h")
+ set(buildinfo_h_fake "${CMAKE_CURRENT_BINARY_DIR}/buildinfo.h_fake")
+
+ if(EXISTS ${buildinfo_h_fake})
+ message(FATAL_ERROR "File \"${buildinfo_h_fake}\" found, this should never be created, remove!")
+ endif()
+
+ # From the cmake documentation "If the output of the custom command is not actually created as a
+ # file on disk it should be marked with the SYMBOLIC source file property."
+ #
+ # Not doing this leads to build warnings for the not generated file on windows when using msbuild
+ SET_SOURCE_FILES_PROPERTIES(${buildinfo_h_fake} PROPERTIES SYMBOLIC TRUE)
+
+ # a custom target that is always built
+ add_custom_target(
+ buildinfo ALL
+ DEPENDS ${buildinfo_h_fake}
+ )
+
+ # creates buildinfo.h using cmake script
+ add_custom_command(
+ OUTPUT
+ ${buildinfo_h_fake} # ensure we always run
+ ${buildinfo_h_real}
+ COMMAND ${CMAKE_COMMAND}
+ -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
+ # overrides only used when non-empty strings
+ -DBUILD_DATE=${BUILDINFO_OVERRIDE_DATE}
+ -DBUILD_TIME=${BUILDINFO_OVERRIDE_TIME}
+ -P ${CMAKE_SOURCE_DIR}/build_files/cmake/buildinfo.cmake)
+
+ # buildinfo.h is a generated file
+ set_source_files_properties(
+ ${buildinfo_h_real}
+ PROPERTIES GENERATED TRUE
+ HEADER_FILE_ONLY TRUE)
+
+ unset(buildinfo_h_real)
+ unset(buildinfo_h_fake)
+
+ # add deps below, after adding blender
+ # -------------- done with header values.
+
+ list(APPEND SRC
+ buildinfo.c
+ )
+
+ # make an object library so can load with it in tests
+ add_library(buildinfoobj OBJECT buildinfo.c)
+ add_dependencies(buildinfoobj buildinfo)
+endif()
+
+add_cc_flags_custom_test(blender)
+
+# message(STATUS "Configuring blender")
+if(WITH_PYTHON_MODULE)
+ add_definitions(-DWITH_PYTHON_MODULE)
+
+ # creates ./bin/bpy.so which can be imported as a python module.
+ #
+ # note that 'SHARED' works on Linux and Windows,
+ # but not OSX which _must_ be 'MODULE'
+ add_library(blender MODULE ${SRC})
+ set_target_properties(
+ blender
+ PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME bpy
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin # only needed on windows
+ )
+
+ if(APPLE)
+ set_target_properties(blender PROPERTIES MACOSX_BUNDLE TRUE)
+ endif()
+
+ if(WIN32)
+ # python modules use this
+ set_target_properties(
+ blender
+ PROPERTIES
+ SUFFIX ".pyd"
+ )
+ endif()
+
+else()
+ add_executable(blender ${EXETYPE} ${SRC})
+ if(WIN32)
+ add_executable(blender-launcher WIN32
+ blender_launcher_win32.c
+ ${CMAKE_SOURCE_DIR}/release/windows/icons/winblender.rc
+ ${CMAKE_BINARY_DIR}/blender.exe.manifest
+ )
+ target_compile_definitions (blender-launcher PRIVATE -D_UNICODE -DUNICODE)
+ target_link_libraries(blender-launcher Pathcch.lib)
+ endif()
+endif()
+
+if(WITH_BUILDINFO)
+ # explicitly say that the executable depends on the buildinfo
+ add_dependencies(blender buildinfo)
+endif()
+
+
+set(BLENDER_TEXT_FILES
+ ${CMAKE_SOURCE_DIR}/release/text/copyright.txt
+ # generate this file
+ # ${CMAKE_SOURCE_DIR}/release/text/readme.html
+)
+
+
+# -----------------------------------------------------------------------------
+# Platform Specific Var: TARGETDIR_VER
+
+if(UNIX AND NOT APPLE)
+ if(WITH_PYTHON_MODULE)
+ if(WITH_INSTALL_PORTABLE)
+ set(TARGETDIR_VER ${BLENDER_VERSION})
+ else()
+ set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION})
+ endif()
+ else()
+ if(WITH_INSTALL_PORTABLE)
+ set(TARGETDIR_VER ${BLENDER_VERSION})
+ else()
+ set(TARGETDIR_VER share/blender/${BLENDER_VERSION})
+ endif()
+ endif()
+
+elseif(WIN32)
+ set(TARGETDIR_VER ${BLENDER_VERSION})
+
+elseif(APPLE)
+ if(WITH_PYTHON_MODULE)
+ if(WITH_INSTALL_PORTABLE)
+ set(BPY_INSTALL_DIR)
+ set(TARGETDIR_VER $<TARGET_FILE_DIR:blender>/../Resources/${BLENDER_VERSION})
+ # Keep the `BLENDER_VERSION` folder and bpy.so in the build folder.
+ set(INSTALL_BPY_TO_SITE_PACKAGES OFF)
+ else()
+ # Parent directory of bpy.so for installation.
+ set(BPY_INSTALL_DIR ${PYTHON_LIBPATH}/site-packages)
+ # Defined in terms of site-packages since the site-packages
+ # directory can be a symlink (brew for example).
+ set(TARGETDIR_VER "${BPY_INSTALL_DIR}/../Resources/${BLENDER_VERSION}")
+ set(INSTALL_BPY_TO_SITE_PACKAGES ON)
+ endif()
+ else()
+ set(TARGETDIR_VER Blender.app/Contents/Resources/${BLENDER_VERSION})
+ endif()
+ # License, copyright, readme files.
+ set(BLENDER_TEXT_FILES_DESTINATION "${TARGETDIR_VER}/../text")
+ set(MAC_BLENDER_TARGET_DYLIBS_DIR "${TARGETDIR_VER}/lib")
+ # Skip relinking on cpack / install
+ set_target_properties(blender PROPERTIES BUILD_WITH_INSTALL_RPATH true)
+endif()
+
+
+# -----------------------------------------------------------------------------
+# Install Targets
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list