mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00

Now based on upstream 9da543e8329fdd81b64eb48742d8ccb09377aed1. This fixes some issues with abbreviate path commands, gradients, and locale sensitivity when parsing percentace-style colours.
75 lines
2.0 KiB
CMake
75 lines
2.0 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(NanoSVG C)
|
|
|
|
# CMake needs *.c files to do something useful
|
|
configure_file(src/nanosvg.h ${CMAKE_CURRENT_BINARY_DIR}/nanosvg.c)
|
|
configure_file(src/nanosvgrast.h ${CMAKE_CURRENT_BINARY_DIR}/nanosvgrast.c)
|
|
|
|
add_library(nanosvg ${CMAKE_CURRENT_BINARY_DIR}/nanosvg.c)
|
|
|
|
find_library(MATH_LIBRARY m) # Business as usual
|
|
if(MATH_LIBRARY)
|
|
target_link_libraries(nanosvg PUBLIC ${MATH_LIBRARY})
|
|
endif()
|
|
|
|
target_include_directories(nanosvg PUBLIC $<INSTALL_INTERFACE:include/nanosvg>)
|
|
target_compile_definitions(nanosvg PRIVATE NANOSVG_IMPLEMENTATION)
|
|
|
|
# Same for nanosvgrast
|
|
add_library(nanosvgrast ${CMAKE_CURRENT_BINARY_DIR}/nanosvgrast.c)
|
|
target_link_libraries(nanosvgrast PUBLIC nanosvg)
|
|
target_include_directories(nanosvgrast PRIVATE src)
|
|
target_compile_definitions(nanosvgrast PRIVATE NANOSVGRAST_IMPLEMENTATION)
|
|
|
|
# Installation and export:
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
write_basic_package_version_file(
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
|
VERSION 1.0
|
|
COMPATIBILITY AnyNewerVersion
|
|
)
|
|
|
|
install(TARGETS nanosvg nanosvgrast
|
|
EXPORT ${PROJECT_NAME}Targets
|
|
)
|
|
|
|
export(EXPORT ${PROJECT_NAME}Targets
|
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
|
|
NAMESPACE ${PROJECT_NAME}::
|
|
)
|
|
|
|
set(ConfigPackageLocation lib/cmake/${PROJECT_NAME})
|
|
|
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
|
INSTALL_DESTINATION ${ConfigPackageLocation}
|
|
NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
|
)
|
|
|
|
install(
|
|
FILES
|
|
src/nanosvg.h
|
|
src/nanosvgrast.h
|
|
DESTINATION
|
|
include/nanosvg
|
|
)
|
|
|
|
install(EXPORT ${PROJECT_NAME}Targets
|
|
FILE
|
|
${PROJECT_NAME}Targets.cmake
|
|
NAMESPACE
|
|
${PROJECT_NAME}::
|
|
DESTINATION
|
|
${ConfigPackageLocation}
|
|
)
|
|
|
|
install(
|
|
FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
|
DESTINATION
|
|
${ConfigPackageLocation}
|
|
) |