Skip to content

Commit 13ed622

Browse files
committed
Add pkg-config and CMake package support for MITIE
Add directives for mitie.pc, mitie-config.cmake and mitie-version.cmake metadata generation and install rules for package discovery
1 parent 4abbff9 commit 13ed622

File tree

3 files changed

+62
-2
lines changed

3 files changed

+62
-2
lines changed

mitielib/CMakeLists.txt

+35-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
# This is a CMake makefile. You can find the cmake utility and
33
# information about it at http://www.cmake.org
44
#
5-
cmake_minimum_required(VERSION 3.10)
6-
project(mitie C CXX)
5+
cmake_minimum_required(VERSION 3.12)
6+
project(mitie VERSION 0.7 LANGUAGES C CXX)
77

88

99
include(tell_visual_studio_to_use_static_runtime.cmake)
@@ -64,4 +64,37 @@ if (NOT TARGET mitie)
6464
FILES_MATCHING REGEX ".*\.h(pp)?$"
6565
)
6666

67+
68+
include(CMakePackageConfigHelpers)
69+
70+
#
71+
# Generate metadata for pkg-config
72+
#
73+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/mitie.pc.in"
74+
"${CMAKE_CURRENT_BINARY_DIR}/mitie.pc"
75+
@ONLY)
76+
77+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/mitie.pc"
78+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
79+
80+
#
81+
# Generate metadata for CMake package
82+
#
83+
configure_package_config_file(
84+
${CMAKE_CURRENT_SOURCE_DIR}/mitie-config.cmake.in
85+
${CMAKE_CURRENT_BINARY_DIR}/mitie-config.cmake
86+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/mitie
87+
)
88+
89+
write_basic_package_version_file(
90+
${CMAKE_CURRENT_BINARY_DIR}/mitie-version.cmake
91+
VERSION ${MITIE_VERSION}
92+
COMPATIBILITY SameMajorVersion
93+
)
94+
95+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mitie-config.cmake
96+
${CMAKE_CURRENT_BINARY_DIR}/mitie-version.cmake
97+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/mitie
98+
)
99+
67100
endif()

mitielib/mitie-config.cmake.in

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
set(MITIE_SHARED_LIB @BUILD_SHARED_LIBS@)
2+
3+
@PACKAGE_INIT@
4+
5+
find_package(dlib REQUIRED)
6+
7+
find_library(mitie_LIBRARY mitie REQUIRED)
8+
9+
add_library(mitie::mitie UNKNOWN IMPORTED)
10+
set_target_properties(mitie::mitie
11+
PROPERTIES
12+
IMPORTED_LOCATION "${mitie_LIBRARY}"
13+
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
14+
INTERFACE_LINK_LIBRARIES "dlib::dlib"
15+
POSITION_INDEPENDENT_CODE ON
16+
)

mitielib/mitie.pc.in

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=@CMAKE_INSTALL_PREFIX@
2+
exec_prefix=${prefix}
3+
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
4+
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
5+
6+
Name: mitie
7+
Description: MIT Information Extraction Library
8+
Version: @PROJECT_VERSION@
9+
Requires: dlib-1
10+
Cflags: -I${includedir}
11+
Libs: -L${libdir} -lmitie

0 commit comments

Comments
 (0)