Files
test/source/blender/windowmanager/CMakeLists.txt
Julian Eisel 6e358a1d06 Custom Manipulators Core Backend
This commit lands the core backend of the Custom Manipulators project onto the blender2.8 branch. It is a generic backend for managinig interactive on-screen controls that can be integrated into any 2D or 3D edito. It's also already integrated into the window-manager and editor code where needed.

NOTE: The changes here should not be visible for users at all. It's really just a back-end patch. Neither does this include any RNA or Python integration.

Of course, there's still lots of work ahead for custom manipulators, but this is a big milestone. WIP code that actually uses this backend can be found in the 'custom-manipulators' branch (previously called 'wiggly-widgets').

The work here isn't completely my own, all the initial work was done by @Antony Riakiotakis (psy-fi) and - although it has changed a lot since them - it's still the same in essence. He definitely deserves a big credit! Some changes in this patch were also done by @Campbell Barton (campbellbarton). Thank you guys!

Merge accepted by @brecht and @merwin.
Patch: https://developer.blender.org/D2232
Code documentation: https://wiki.blender.org/index.php/Dev:2.8/Source/Custom_Manipulator
Main task: https://developer.blender.org/T47343
More info: https://code.blender.org/2015/09/the-custom-manipulator-project-widget-project/
2016-10-07 16:59:55 +02:00

175 lines
3.6 KiB
CMake

# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2006, Blender Foundation
# All rights reserved.
#
# The Original Code is: all of this file.
#
# Contributor(s): Jacques Beaurain.
#
# ***** END GPL LICENSE BLOCK *****
set(INC
.
manipulators
manipulators/intern
../blenfont
../blenkernel
../blenlib
../blenloader
../blentranslation
../compositor
../editors/include
../gpu
../imbuf
../makesdna
../makesrna
../nodes
../render/extern/include
../../gameengine/BlenderRoutines
../../../intern/ghost
../../../intern/guardedalloc
../../../intern/glew-mx
../../../intern/memutil
)
set(INC_SYS
${ZLIB_INCLUDE_DIRS}
${GLEW_INCLUDE_PATH}
)
set(SRC
intern/wm.c
intern/wm_playanim.c
intern/wm_cursors.c
intern/wm_dragdrop.c
intern/wm_draw.c
intern/wm_event_system.c
intern/wm_files.c
intern/wm_files_link.c
intern/wm_gesture.c
intern/wm_init_exit.c
intern/wm_jobs.c
intern/wm_keymap.c
intern/wm_operator_props.c
intern/wm_operators.c
intern/wm_subwindow.c
intern/wm_window.c
intern/wm_stereo.c
manipulators/intern/wm_manipulator.c
manipulators/intern/wm_manipulatorgroup.c
manipulators/intern/wm_manipulatormap.c
manipulators/intern/manipulator_library/manipulator_library_utils.c
WM_api.h
WM_keymap.h
WM_types.h
wm.h
wm_cursors.h
wm_draw.h
wm_event_system.h
wm_event_types.h
wm_files.h
wm_subwindow.h
wm_window.h
manipulators/WM_manipulator_api.h
manipulators/WM_manipulator_types.h
manipulators/wm_manipulator_wmapi.h
manipulators/intern/wm_manipulator_intern.h
manipulators/intern/manipulator_library/manipulator_library_intern.h
)
if(WITH_AUDASPACE)
add_definitions(${AUDASPACE_DEFINITIONS})
list(APPEND INC_SYS
${AUDASPACE_C_INCLUDE_DIRS}
)
endif()
add_definitions(${GL_DEFINITIONS})
if(WITH_INTERNATIONAL)
add_definitions(-DWITH_INTERNATIONAL)
endif()
if(WITH_OPENCOLLADA)
add_definitions(-DWITH_COLLADA)
endif()
if(WITH_CODEC_QUICKTIME)
list(APPEND INC
../quicktime
)
list(APPEND INC_SYS
${QUICKTIME_INCLUDE_DIRS}
)
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
list(APPEND INC_SYS
${FFMPEG_INCLUDE_DIRS}
)
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_HEADLESS)
add_definitions(-DWITH_HEADLESS)
elseif(WITH_X11)
add_definitions(-DWITH_X11)
endif()
if(WITH_PYTHON)
list(APPEND INC
../python
)
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
add_definitions(-DWITH_PYTHON_SECURITY)
endif()
endif()
if(WITH_GAMEENGINE)
add_definitions(-DWITH_GAMEENGINE)
endif()
if(WITH_BUILDINFO)
add_definitions(-DWITH_BUILDINFO)
endif()
if(WITH_OPENSUBDIV)
add_definitions(-DWITH_OPENSUBDIV)
endif()
if(WITH_INPUT_NDOF)
add_definitions(-DWITH_INPUT_NDOF)
endif()
if(WIN32)
if(WITH_INPUT_IME)
add_definitions(-DWITH_INPUT_IME)
endif()
endif()
if(WITH_COMPOSITOR)
add_definitions(-DWITH_COMPOSITOR)
endif()
blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}" "${INC_SYS}")