vcpkg/ports/libcroco/CMakeLists.txt
Kai Pastor 7ceccee7f8
[graphviz,librsvg,libcroco] Refresh (#33964)
* [graphviz] Cleanup

* Refresh patches

* Versions

* Disable #pragma comment lib

* DLLs without exports

* [librsvg] Modernize

* Revise vendored librsvg build

* [libcroco] Revise vendored build

* [librsvg] Revise vendored build, cont.

* [libcroco] Fix version

* [librsvg] Fix pc file

* [librsvg] Fix config polyfill

* Mingw fixes, no abs paths

* No abs paths
2023-09-25 23:47:35 -07:00

119 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.11)
project(libcroco C)
find_package(PkgConfig REQUIRED)
set(libcroco_pc_requires glib-2.0 libxml-2.0)
pkg_check_modules(LIBCROCO_LINK_PUBLIC ${libcroco_pc_requires} IMPORTED_TARGET REQUIRED)
file(GLOB SOURCES
src/cr-utils.c
src/cr-utils.h
src/cr-input.c
src/cr-input.h
src/cr-enc-handler.c
src/cr-enc-handler.h
src/cr-num.c
src/cr-num.h
src/cr-rgb.c
src/cr-rgb.h
src/cr-token.c
src/cr-token.h
src/cr-tknzr.c
src/cr-tknzr.h
src/cr-term.c
src/cr-term.h
src/cr-attr-sel.c
src/cr-attr-sel.h
src/cr-pseudo.c
src/cr-pseudo.h
src/cr-additional-sel.c
src/cr-additional-sel.h
src/cr-simple-sel.c
src/cr-simple-sel.h
src/cr-selector.c
src/cr-selector.h
src/cr-doc-handler.c
src/cr-doc-handler.h
src/cr-parser.c
src/cr-parser.h
src/cr-declaration.c
src/cr-declaration.h
src/cr-statement.c
src/cr-statement.h
src/cr-stylesheet.c
src/cr-stylesheet.h
src/cr-cascade.c
src/cr-cascade.h
src/cr-om-parser.c
src/cr-om-parser.h
src/cr-style.c
src/cr-style.h
src/cr-sel-eng.c
src/cr-sel-eng.h
src/cr-fonts.c
src/cr-fonts.h
src/cr-prop-list.c
src/cr-prop-list.h
src/cr-parsing-location.c
src/cr-parsing-location.h
src/cr-string.c
src/cr-string.h
src/libcroco.def
)
add_library(croco-0.6 ${SOURCES})
target_link_libraries(croco-0.6 PRIVATE PkgConfig::LIBCROCO_LINK_PUBLIC)
install(TARGETS croco-0.6
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(FILES
src/libcroco.h
src/cr-additional-sel.h
src/cr-attr-sel.h
src/cr-cascade.h
src/cr-declaration.h
src/cr-doc-handler.h
src/cr-enc-handler.h
src/cr-input.h
src/cr-num.h
src/cr-om-parser.h
src/cr-parser.h
src/cr-pseudo.h
src/cr-rgb.h
src/cr-selector.h
src/cr-simple-sel.h
src/cr-statement.h
src/cr-stylesheet.h
src/cr-term.h
src/cr-tknzr.h
src/cr-token.h
src/cr-utils.h
src/cr-fonts.h
src/cr-sel-eng.h
src/cr-style.h
src/cr-prop-list.h
src/cr-parsing-location.h
src/cr-string.h
src/libcroco-config.h
DESTINATION include/libcroco-0.6/libcroco
)
string(REGEX MATCH "^([0-9]*)[.]([0-9]*)[.].*" unused "${VERSION}" )
set(LIBCROCO_MAJOR_VERSION "${CMAKE_MATCH_1}")
set(LIBCROCO_MINOR_VERSION "${CMAKE_MATCH_2}")
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "\${prefix}/lib")
set(includedir "\${prefix}/include")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libcroco.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libcroco.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libcroco.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
RENAME "libcroco-${LIBCROCO_MAJOR_VERSION}.${LIBCROCO_MINOR_VERSION}.pc"
)