aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ApiExtractorConfig.cmake.in6
-rw-r--r--ApiExtractorVersion.cmake.in9
-rw-r--r--CMakeLists.txt20
-rw-r--r--FindApiExtractor.cmake.in20
4 files changed, 27 insertions, 28 deletions
diff --git a/ApiExtractorConfig.cmake.in b/ApiExtractorConfig.cmake.in
new file mode 100644
index 000000000..24eacdeed
--- /dev/null
+++ b/ApiExtractorConfig.cmake.in
@@ -0,0 +1,6 @@
+# - try to find APIEXTRACTOR
+# APIEXTRACTOR_INCLUDE_DIR - Directories to include to use APIEXTRACTOR
+# APIEXTRACTOR_LIBRARIES - Files to link against to use APIEXTRACTOR
+
+SET(APIEXTRACTOR_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include/apiextractor")
+SET(APIEXTRACTOR_LIBRARY "apiextractor")
diff --git a/ApiExtractorVersion.cmake.in b/ApiExtractorVersion.cmake.in
new file mode 100644
index 000000000..a9f7318f1
--- /dev/null
+++ b/ApiExtractorVersion.cmake.in
@@ -0,0 +1,9 @@
+set(PACKAGE_VERSION @apiextractor_VERSION@)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL @apiextractor_MAJOR_VERSION@)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL @apiextractor_MINOR_VERSION@)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_PATCH}" EQUAL @apiextractor_MICRO_VERSION@)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+ endif()
+endif()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 87052ec96..c46b7b261 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,9 +81,10 @@ target_link_libraries(apiextractor ${LIBXSLT_LIBRARIES} ${LIBXML2_LIBRARIES} ${Q
set_target_properties(apiextractor PROPERTIES VERSION ${apiextractor_VERSION} SOVERSION ${apiextractor_MAJOR_VERSION})
# create pkg-config file
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/apiextractor.pc.in
- ${CMAKE_CURRENT_BINARY_DIR}/apiextractor.pc @ONLY)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FindApiExtractor.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindApiExtractor.cmake @ONLY)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/apiextractor.pc.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/apiextractor.pc" @ONLY)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ApiExtractorConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorConfig.cmake" @ONLY)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ApiExtractorVersion.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorVersion.cmake" @ONLY)
# uninstall target
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
@@ -110,9 +111,12 @@ enable_testing()
add_subdirectory(tests)
install(FILES ${root_HEADERS} DESTINATION include/apiextractor)
-install(TARGETS apiextractor LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+install(TARGETS apiextractor EXPORT apiextractor
+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
RUNTIME DESTINATION bin)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/apiextractor.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindApiExtractor.cmake
- DESTINATION "share/cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}/Modules")
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/apiextractor.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig")
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorConfig.cmake"
+ DESTINATION "${LIB_INSTALL_DIR}/cmake/ApiExtractor-${apiextractor_VERSION}")
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorVersion.cmake"
+ DESTINATION "${LIB_INSTALL_DIR}/cmake/ApiExtractor-${apiextractor_VERSION}")
diff --git a/FindApiExtractor.cmake.in b/FindApiExtractor.cmake.in
deleted file mode 100644
index 1fbcbf0b9..000000000
--- a/FindApiExtractor.cmake.in
+++ /dev/null
@@ -1,20 +0,0 @@
-# - try to find APIEXTRACTOR
-# APIEXTRACTOR_INCLUDE_DIR - Directories to include to use APIEXTRACTOR
-# APIEXTRACTOR_LIBRARIES - Files to link against to use APIEXTRACTOR
-# APIEXTRACTOR_FOUND - APIEXTRACTOR was found
-
-FIND_PATH(APIEXTRACTOR_INCLUDE_DIR apiextractor.h "@CMAKE_INSTALL_PREFIX@/include/apiextractor")
-
-FIND_LIBRARY(APIEXTRACTOR_LIBRARY apiextractor "@CMAKE_INSTALL_PREFIX@/lib")
-
-IF (APIEXTRACTOR_INCLUDE_DIR AND APIEXTRACTOR_LIBRARY)
- SET(APIEXTRACTOR_FOUND TRUE)
-ENDIF (APIEXTRACTOR_INCLUDE_DIR AND APIEXTRACTOR_LIBRARY)
-
-IF (APIEXTRACTOR_FOUND)
- MESSAGE(STATUS "Found ApiExtractor: ${APIEXTRACTOR_LIBRARY}")
-ELSE (APIEXTRACTOR_FOUND)
- IF (ApiExtractor_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find ApiExtractor")
- ENDIF (ApiExtractor_FIND_REQUIRED)
-ENDIF (APIEXTRACTOR_FOUND)