Split gal cmake target to a subdirectory

This commit is contained in:
Marek Roszko 2022-05-11 19:48:56 -04:00
parent dedbcac3ae
commit abfe944299
2 changed files with 62 additions and 68 deletions

View File

@ -19,72 +19,14 @@ include_directories(
${INC_AFTER} ${INC_AFTER}
) )
set( GAL_SRCS # Get the GAL Target
# Common part add_subdirectory( gal )
callback_gal.cpp
draw_panel_gal.cpp
gl_context_mgr.cpp
newstroke_font.cpp
painter.cpp
gal/color4d.cpp
gal/cursors.cpp
gal/dpi_scaling.cpp
gal/gal_display_options.cpp
gal/graphics_abstraction_layer.cpp
gal/hidpi_gl_canvas.cpp
view/view_controls.cpp
view/view_overlay.cpp
view/wx_view_controls.cpp
view/zoom_controller.cpp
# OpenGL GAL
gal/opengl/opengl_gal.cpp
gal/opengl/gl_resources.cpp
gal/opengl/gl_builtin_shaders.cpp
gal/opengl/shader.cpp
gal/opengl/vertex_item.cpp
gal/opengl/vertex_container.cpp
gal/opengl/cached_container.cpp
gal/opengl/cached_container_gpu.cpp
gal/opengl/cached_container_ram.cpp
gal/opengl/noncached_container.cpp
gal/opengl/vertex_manager.cpp
gal/opengl/gpu_manager.cpp
gal/opengl/antialiasing.cpp
gal/opengl/opengl_compositor.cpp
gal/opengl/utils.cpp
# Cairo GAL
gal/cairo/cairo_gal.cpp
gal/cairo/cairo_compositor.cpp
gal/cairo/cairo_print.cpp
)
add_library( gal STATIC ${GAL_SRCS} )
target_link_libraries( gal
common # This is needed until the circular dependency is removed
kimath
nlohmann_json
${GLEW_LIBRARIES}
${CAIRO_LIBRARIES}
${PIXMAN_LIBRARIES}
${OPENGL_LIBRARIES}
${GDI_PLUS_LIBRARIES}
# outline font support
${FREETYPE_LIBRARIES}
${HarfBuzz_LIBRARIES}
${Fontconfig_LIBRARIES}
)
# Only for win32 cross compilation using MXE # Only for win32 cross compilation using MXE
if( WIN32 AND MSYS ) if( WIN32 AND MSYS )
add_definitions( -DGLEW_STATIC ) add_definitions( -DGLEW_STATIC )
endif() endif()
# A shared library subsetted from common which restricts what can go into # A shared library subsetted from common which restricts what can go into
# a single_top link image. By not linking to common, we control what does # a single_top link image. By not linking to common, we control what does
# statically go into single_top link images. My current thinking is that only # statically go into single_top link images. My current thinking is that only
@ -658,14 +600,6 @@ make_lexer(
stroke_params_keywords.cpp stroke_params_keywords.cpp
STROKEPARAMS_T STROKEPARAMS_T
) )
# works on msys2:
make_lexer(
gal
stroke_params.keywords
stroke_params_lexer.h
stroke_params_keywords.cpp
STROKEPARAMS_T
)
# auto-generate netlist_lexer.h and netlist_keywords.cpp # auto-generate netlist_lexer.h and netlist_keywords.cpp
make_lexer( make_lexer(

60
common/gal/CMakeLists.txt Normal file
View File

@ -0,0 +1,60 @@
set( GAL_SRCS
# Common part
../callback_gal.cpp
../draw_panel_gal.cpp
../gl_context_mgr.cpp
../newstroke_font.cpp
../painter.cpp
color4d.cpp
cursors.cpp
dpi_scaling.cpp
gal_display_options.cpp
graphics_abstraction_layer.cpp
hidpi_gl_canvas.cpp
../view/view_controls.cpp
../view/view_overlay.cpp
../view/wx_view_controls.cpp
../view/zoom_controller.cpp
# OpenGL GAL
opengl/opengl_gal.cpp
opengl/gl_resources.cpp
opengl/gl_builtin_shaders.cpp
opengl/shader.cpp
opengl/vertex_item.cpp
opengl/vertex_container.cpp
opengl/cached_container.cpp
opengl/cached_container_gpu.cpp
opengl/cached_container_ram.cpp
opengl/noncached_container.cpp
opengl/vertex_manager.cpp
opengl/gpu_manager.cpp
opengl/antialiasing.cpp
opengl/opengl_compositor.cpp
opengl/utils.cpp
# Cairo GAL
cairo/cairo_gal.cpp
cairo/cairo_compositor.cpp
cairo/cairo_print.cpp
)
add_library( gal STATIC ${GAL_SRCS} )
target_link_libraries( gal
common # This is needed until the circular dependency is removed
kimath
nlohmann_json
${GLEW_LIBRARIES}
${CAIRO_LIBRARIES}
${PIXMAN_LIBRARIES}
${OPENGL_LIBRARIES}
${GDI_PLUS_LIBRARIES}
# outline font support
${FREETYPE_LIBRARIES}
${HarfBuzz_LIBRARIES}
${Fontconfig_LIBRARIES}
)