From 338a3a5fe147e8cbdb6f91e858477b8569cec26e Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Tue, 13 Jan 2015 15:22:19 -0700 Subject: layers: Make layer utilities a shared library for one instance per all layers The global singleton contain map of layer settings had multiple instances. Fix this by making it a shared library layer_utils. Conflicts: layers/CMakeLists.txt --- layers/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt index 9aca0b2c..8548d619 100644 --- a/layers/CMakeLists.txt +++ b/layers/CMakeLists.txt @@ -21,6 +21,7 @@ if (WIN32) DEPENDS ${PROJECT_SOURCE_DIR}/xgl-win-def-file-generate.py ) add_library(XGLLayer${target} SHARED ${ARGN} XGLLayer${target}.def) + target_link_Libraries(XGLLayer${target} layer_utils) add_dependencies(XGLLayer${target} generate_xgl_layer_helpers) add_dependencies(XGLLayer${target} ${CMAKE_CURRENT_BINARY_DIR}/XGLLayer${target}.def) set_target_properties(XGLLayer${target} PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/XGLLayer${target}.def") @@ -28,6 +29,7 @@ if (WIN32) else() macro(add_xgl_layer target) add_library(XGLLayer${target} SHARED ${ARGN}) + target_link_Libraries(XGLLayer${target} layer_utils) add_dependencies(XGLLayer${target} generate_xgl_layer_helpers) endmacro() endif() @@ -89,10 +91,12 @@ run_xgl_layer_generate(ApiDumpNoAddrCpp api_dump_no_addr.cpp) run_xgl_layer_generate(ObjectTracker object_track.c) run_xgl_layer_generate(ParamChecker param_checker.c) +add_library(layer_utils SHARED layers_config.cpp) + add_xgl_layer(Basic basic.cpp) add_xgl_layer(Multi multi.cpp) -add_xgl_layer(DrawState draw_state.c layers_config.cpp) -#add_xgl_layer(MemTracker mem_tracker.c layers_config.cpp) +add_xgl_layer(DrawState draw_state.c) +#add_xgl_layer(MemTracker mem_tracker.c) # generated add_xgl_layer(Generic generic_layer.c) add_xgl_layer(APIDump api_dump.c) -- cgit v1.2.3