aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSutou Kouhei <kou@cozmixng.org>2019-10-08 03:13:05 +0900
committerVictor Romero <romerosanchezv@gmail.com>2019-10-07 11:13:05 -0700
commit513ebc227595afb56577a37779c35814bc501ab5 (patch)
treea33fd82bfb40ab190f11790e1af86a2466e8d368
parent3c074b6cb09394264816a64afb70b9faef28f11d (diff)
downloadvcpkg-513ebc227595afb56577a37779c35814bc501ab5.tar.gz
vcpkg-513ebc227595afb56577a37779c35814bc501ab5.zip
[libffi] Add support for CMake config (#8162)
* [libffi] Add support for CMake config * [libffi] Use vcpkg_fixup_cmake_targets()
-rw-r--r--ports/libffi/CMakeLists.txt11
-rw-r--r--ports/libffi/libffiConfig.cmake.in7
-rw-r--r--ports/libffi/portfile.cmake2
3 files changed, 20 insertions, 0 deletions
diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt
index 29e14bdac..ae57e7b1a 100644
--- a/ports/libffi/CMakeLists.txt
+++ b/ports/libffi/CMakeLists.txt
@@ -122,10 +122,21 @@ endif()
add_library(libffi ${FFI_SOURCES})
install(TARGETS libffi
+ EXPORT ${PROJECT_NAME}Targets
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
+include(CMakePackageConfigHelpers)
+
+configure_package_config_file(${PROJECT_NAME}Config.cmake.in
+ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ INSTALL_DESTINATION share/${PROJECT_NAME})
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ DESTINATION share/${PROJECT_NAME})
+install(EXPORT ${PROJECT_NAME}Targets
+ DESTINATION share/${PROJECT_NAME})
+
if(NOT FFI_SKIP_HEADERS)
install(FILES
${CMAKE_BINARY_DIR}/include/ffi.h
diff --git a/ports/libffi/libffiConfig.cmake.in b/ports/libffi/libffiConfig.cmake.in
new file mode 100644
index 000000000..ebdf1488a
--- /dev/null
+++ b/ports/libffi/libffiConfig.cmake.in
@@ -0,0 +1,7 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+
+if(NOT TARGET libffi)
+ include("${CMAKE_CURRENT_LIST_DIR}/libffiTargets.cmake")
+endif()
diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake
index bc3084e74..f023521c8 100644
--- a/ports/libffi/portfile.cmake
+++ b/ports/libffi/portfile.cmake
@@ -17,6 +17,7 @@ vcpkg_from_github(
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/libffiConfig.cmake.in DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -29,6 +30,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets()
file(READ ${CURRENT_PACKAGES_DIR}/include/ffi.h FFI_H)
string(REPLACE "/* *know* they are going to link with the static library. */"