Files
test2/source/blender/windowmanager/CMakeLists.txt
Guillermo Venegas c00c8b1b37 IO: Add support for multiple drag-n-drop files
There are operators in Blender that allow the user to import multiple
files at the same time, however this functionality is only implemented
when importing with blender's file browser, drag and drop files only
takes first selected file.

The patch adds support for drag and drop multiple files.

Notes:
* The files are filtered according to the extension of the first
  selected file.
* Not all operators that import files support importing multiple files,
  so they will still import one.
* Changes must be made to allow importers to read all file paths.

This will be used in upcoming drag & drop import.

Pull Request: https://projects.blender.org/blender/blender/pulls/107230
2023-12-12 18:46:12 +01:00

221 lines
4.2 KiB
CMake

# SPDX-FileCopyrightText: 2006 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
set(INC
.
gizmo
gizmo/intern
../asset_system
../blenkernel
../blenloader
../blentranslation
../compositor
../editors/include
../draw
../gpu
../imbuf
../makesrna
../nodes
../render
../sequencer
../../../intern/memutil
../../../extern/fmtlib/include
../bmesh
# RNA_prototypes.h
${CMAKE_BINARY_DIR}/source/blender/makesrna
)
set(INC_SYS
)
set(SRC
intern/wm.cc
intern/wm_cursors.cc
intern/wm_dragdrop.cc
intern/wm_draw.cc
intern/wm_event_query.cc
intern/wm_event_system.cc
intern/wm_files.cc
intern/wm_files_link.cc
intern/wm_gesture.cc
intern/wm_gesture_ops.cc
intern/wm_init_exit.cc
intern/wm_jobs.cc
intern/wm_keymap.cc
intern/wm_keymap_utils.cc
intern/wm_menu_type.cc
intern/wm_operator_props.cc
intern/wm_operator_type.cc
intern/wm_operator_utils.cc
intern/wm_operators.cc
intern/wm_panel_type.cc
intern/wm_platform_support.cc
intern/wm_playanim.cc
intern/wm_splash_screen.cc
intern/wm_stereo.cc
intern/wm_subwindow.cc
intern/wm_surface.cc
intern/wm_toolsystem.cc
intern/wm_tooltip.cc
intern/wm_uilist_type.cc
intern/wm_utils.cc
intern/wm_window.cc
gizmo/intern/wm_gizmo.cc
gizmo/intern/wm_gizmo_group.cc
gizmo/intern/wm_gizmo_group_type.cc
gizmo/intern/wm_gizmo_map.cc
gizmo/intern/wm_gizmo_target_props.cc
gizmo/intern/wm_gizmo_type.cc
message_bus/intern/wm_message_bus.cc
message_bus/intern/wm_message_bus_rna.cc
message_bus/intern/wm_message_bus_static.cc
WM_api.hh
WM_keymap.hh
WM_message.hh
WM_toolsystem.h
WM_types.hh
wm.hh
wm_cursors.hh
wm_draw.hh
wm_event_system.h
wm_event_types.hh
wm_files.hh
wm_surface.hh
wm_window.hh
intern/wm_platform_support.h
intern/wm_window_private.h
gizmo/WM_gizmo_api.h
gizmo/WM_gizmo_types.h
gizmo/wm_gizmo_fn.h
gizmo/wm_gizmo_wmapi.h
gizmo/intern/wm_gizmo_intern.h
message_bus/intern/wm_message_bus_intern.hh
message_bus/wm_message_bus.hh
)
set(LIB
PRIVATE bf::blenfont
PRIVATE bf::blenlib
PRIVATE bf::depsgraph
PRIVATE bf::dna
bf_editor_screen
PRIVATE bf::intern::clog
PRIVATE bf::intern::guardedalloc
PRIVATE bf::animrig
bf_sequencer
bf_intern_ghost
)
if(WIN32)
add_definitions(-DNOMINMAX)
endif()
if(WITH_AUDASPACE)
list(APPEND INC_SYS
${AUDASPACE_C_INCLUDE_DIRS}
)
if(WITH_SYSTEM_AUDASPACE)
list(APPEND LIB
${AUDASPACE_C_LIBRARIES}
${AUDASPACE_PY_LIBRARIES}
)
endif()
add_definitions(-DWITH_AUDASPACE)
endif()
if(WITH_CYCLES)
add_definitions(-DWITH_CYCLES)
endif()
if(WITH_OPENGL_BACKEND)
add_definitions(-DWITH_OPENGL_BACKEND)
endif()
if(WITH_VULKAN_BACKEND)
add_definitions(-DWITH_VULKAN_BACKEND)
endif()
if(WITH_OPENCOLLADA)
add_definitions(-DWITH_COLLADA)
endif()
if(WITH_CODEC_FFMPEG)
list(APPEND INC_SYS
${FFMPEG_INCLUDE_DIRS}
)
list(APPEND LIB
${FFMPEG_LIBRARIES}
)
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_HEADLESS)
add_definitions(-DWITH_HEADLESS)
elseif(WITH_GHOST_X11)
add_definitions(-DWITH_GHOST_X11)
endif()
if(WITH_PYTHON)
list(APPEND INC
../python
)
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_MODULE)
add_definitions(-DWITH_PYTHON_MODULE)
endif()
endif()
if(WITH_BUILDINFO)
add_definitions(-DWITH_BUILDINFO)
endif()
if(WITH_INPUT_NDOF)
add_definitions(-DWITH_INPUT_NDOF)
endif()
if(WITH_INPUT_IME)
add_definitions(-DWITH_INPUT_IME)
endif()
if(WITH_COMPOSITOR_CPU)
list(APPEND LIB
bf_compositor
)
add_definitions(-DWITH_COMPOSITOR_CPU)
endif()
if(WITH_XR_OPENXR)
add_definitions(-DWITH_XR_OPENXR)
list(APPEND INC
xr
)
list(APPEND SRC
xr/intern/wm_xr.cc
xr/intern/wm_xr_action.cc
xr/intern/wm_xr_actionmap.cc
xr/intern/wm_xr_draw.cc
xr/intern/wm_xr_operators.cc
xr/intern/wm_xr_session.cc
xr/wm_xr.h
xr/intern/wm_xr_intern.h
)
endif()
blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
# RNA_prototypes.h
add_dependencies(bf_windowmanager bf_rna)
if(WITH_GTESTS)
set(TEST_SRC
intern/wm_dragdrop_test.cc
)
include(GTestTesting)
blender_add_test_lib(bf_wm_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB}")
endif()