Changeset View
Changeset View
Standalone View
Standalone View
build_files/cmake/macros.cmake
| Show First 20 Lines • Show All 348 Lines • ▼ Show 20 Lines | function(blender_add_lib | ||||
| 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() | endfunction() | ||||
| # blender_add_test_lib() is used to define a test library. It is intended to be | |||||
sergey: I think some explanation of what an intended usecase of this function is, and how it affects… | |||||
| # called in tandem with blender_add_lib(). The test library will be linked into | |||||
| # the bf_gtest_runner_test executable (see tests/gtests/CMakeLists.txt). | |||||
| function(blender_add_test_lib | |||||
| name | |||||
| sources | |||||
| includes | |||||
| includes_sys | |||||
| library_deps | |||||
| ) | |||||
| add_cc_flags_custom_test(${name} PARENT_SCOPE) | |||||
| # Otherwise external projects will produce warnings that we cannot fix. | |||||
| remove_strict_flags() | |||||
| # This duplicates logic that's also in GTestTesting.cmake, macro BLENDER_SRC_GTEST_EX. | |||||
| # TODO(Sybren): deduplicate after the general approach in D7649 has been approved. | |||||
| LIST(APPEND includes | |||||
| ${CMAKE_SOURCE_DIR}/tests/gtests | |||||
| ) | |||||
| LIST(APPEND includes_sys | |||||
| ${GLOG_INCLUDE_DIRS} | |||||
| ${GFLAGS_INCLUDE_DIRS} | |||||
| ${CMAKE_SOURCE_DIR}/extern/gtest/include | |||||
| ${CMAKE_SOURCE_DIR}/extern/gmock/include | |||||
| ) | |||||
| add_definitions(-DBLENDER_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) | |||||
| add_definitions(${GFLAGS_DEFINES}) | |||||
| add_definitions(${GLOG_DEFINES}) | |||||
| blender_add_lib__impl(${name} "${sources}" "${includes}" "${includes_sys}" "${library_deps}") | |||||
| set_property(GLOBAL APPEND PROPERTY BLENDER_TEST_LIBS ${name}) | |||||
| endfunction() | |||||
| # Ninja only: assign 'heavy pool' to some targets that are especially RAM-consuming to build. | # Ninja only: assign 'heavy pool' to some targets that are especially RAM-consuming to build. | ||||
| function(setup_heavy_lib_pool) | function(setup_heavy_lib_pool) | ||||
| if(WITH_NINJA_POOL_JOBS AND NINJA_MAX_NUM_PARALLEL_COMPILE_HEAVY_JOBS) | if(WITH_NINJA_POOL_JOBS AND NINJA_MAX_NUM_PARALLEL_COMPILE_HEAVY_JOBS) | ||||
| if(WITH_CYCLES) | if(WITH_CYCLES) | ||||
| list(APPEND _HEAVY_LIBS "cycles_device" "cycles_kernel") | list(APPEND _HEAVY_LIBS "cycles_device" "cycles_kernel") | ||||
| endif() | endif() | ||||
| if(WITH_LIBMV) | if(WITH_LIBMV) | ||||
| list(APPEND _HEAVY_LIBS "bf_intern_libmv") | list(APPEND _HEAVY_LIBS "bf_intern_libmv") | ||||
| ▲ Show 20 Lines • Show All 798 Lines • Show Last 20 Lines | |||||
I think some explanation of what an intended usecase of this function is, and how it affects the build process.