CMake: Support header-only NanoSVG library
Check if the NanoSVG target defines any library locations. Add a private compile definition to wxcore, instead of adding another setup.h option.
This commit is contained in:
parent
603c13aaba
commit
138d1ab021
@ -66,6 +66,9 @@ foreach(lib JPEG PNG TIFF NANOSVG)
|
|||||||
wx_lib_include_directories(wxcore ${${lib}_INCLUDE_DIR})
|
wx_lib_include_directories(wxcore ${${lib}_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
if(wxUSE_NANOSVG STREQUAL "sys" AND wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL)
|
||||||
|
wx_lib_compile_definitions(wxcore wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
wx_lib_link_libraries(wxcore PRIVATE winmm)
|
wx_lib_link_libraries(wxcore PRIVATE winmm)
|
||||||
|
@ -17,4 +17,12 @@ elseif(wxUSE_NANOSVG)
|
|||||||
set(NANOSVG_LIBRARIES NanoSVG::nanosvgrast)
|
set(NANOSVG_LIBRARIES NanoSVG::nanosvgrast)
|
||||||
get_target_property(svg_incl_dir NanoSVG::nanosvg INTERFACE_INCLUDE_DIRECTORIES)
|
get_target_property(svg_incl_dir NanoSVG::nanosvg INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
set(NANOSVG_INCLUDE_DIRS ${svg_incl_dir})
|
set(NANOSVG_INCLUDE_DIRS ${svg_incl_dir})
|
||||||
|
|
||||||
|
get_target_property(svg_lib_d NanoSVG::nanosvgrast IMPORTED_LOCATION_DEBUG)
|
||||||
|
get_target_property(svg_lib_r NanoSVG::nanosvgrast IMPORTED_LOCATION_RELEASE)
|
||||||
|
get_target_property(svg_lib NanoSVG::nanosvgrast IMPORTED_LOCATION)
|
||||||
|
set(wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL TRUE)
|
||||||
|
if(svg_lib_d OR svg_lib_r OR svg_lib)
|
||||||
|
set(wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL FALSE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -57,13 +57,16 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !wxUSE_NANOSVG_EXTERNAL || defined(wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL)
|
||||||
|
#define NANOSVG_IMPLEMENTATION
|
||||||
|
#define NANOSVGRAST_IMPLEMENTATION
|
||||||
|
#define NANOSVG_ALL_COLOR_KEYWORDS
|
||||||
|
#endif
|
||||||
|
|
||||||
#if wxUSE_NANOSVG_EXTERNAL
|
#if wxUSE_NANOSVG_EXTERNAL
|
||||||
#include <nanosvg.h>
|
#include <nanosvg.h>
|
||||||
#include <nanosvgrast.h>
|
#include <nanosvgrast.h>
|
||||||
#else
|
#else
|
||||||
#define NANOSVG_IMPLEMENTATION
|
|
||||||
#define NANOSVGRAST_IMPLEMENTATION
|
|
||||||
#define NANOSVG_ALL_COLOR_KEYWORDS
|
|
||||||
#include "../../3rdparty/nanosvg/src/nanosvg.h"
|
#include "../../3rdparty/nanosvg/src/nanosvg.h"
|
||||||
#include "../../3rdparty/nanosvg/src/nanosvgrast.h"
|
#include "../../3rdparty/nanosvg/src/nanosvgrast.h"
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user