Skip to content

Commit 09a1aae

Browse files
committed
<fix>: fix cmake install not export full lib info
1 parent 8cf8864 commit 09a1aae

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

QXlsx/CMakeLists.txt

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
1212
set(CMAKE_AUTOMOC ON)
1313

1414
include(GNUInstallDirs)
15+
include(CMakePackageConfigHelpers)
1516

1617
if(NOT DEFINED QT_VERSION_MAJOR)
1718
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED)
@@ -174,7 +175,7 @@ PRIVATE
174175
${QXLSX_HEADERPATH}
175176
PUBLIC
176177
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/header>
177-
$<INSTALL_INTERFACE:include/QXlsxQt${QT_VERSION_MAJOR}>
178+
$<INSTALL_INTERFACE:include/QXlsx>
178179
)
179180

180181
set_target_properties(QXlsx PROPERTIES
@@ -184,32 +185,36 @@ set_target_properties(QXlsx PROPERTIES
184185
PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}"
185186
)
186187

188+
set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}" )
187189
install(TARGETS QXlsx
188-
EXPORT ${EXPORT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}
190+
EXPORT ${EXPORT_NAME}Targets DESTINATION ${CMAKECONFIG_INSTALL_DIR}
189191
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
190192
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel
191-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsxQt${QT_VERSION_MAJOR} COMPONENT devel
193+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsx COMPONENT devel
192194
)
193195

194196
install(EXPORT ${EXPORT_NAME}Targets
195-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/
197+
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
196198
FILE ${EXPORT_NAME}Targets.cmake
197199
NAMESPACE QXlsx::
198200
COMPONENT devel
199201
)
200202

201-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config.cmake.in
202-
${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake
203-
@ONLY
203+
configure_package_config_file(
204+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config.cmake.in"
205+
"${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake"
206+
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
207+
PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CMAKECONFIG_INSTALL_DIR
204208
)
205-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config-version.cmake.in
206-
${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake
209+
210+
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config-version.cmake.in"
211+
"${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake"
207212
@ONLY
208213
)
209214
install(
210215
FILES
211-
${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake
212-
${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake
213-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/
216+
"${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake"
217+
"${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake"
218+
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
214219
)
215220
include(CPackConfig)

QXlsx/cmake/modules/qxlsx-config.cmake.in

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,17 @@
44
# - Config information for QXlsx
55
# This file defines:
66
#
7-
# QXlsx_INCLUDE_DIR - the QXlsx include directory
8-
# QXlsx_LIBRARY - Link these to use QXlsx
7+
# @EXPORT_NAME@_INCLUDE_DIR - the QXlsx include directory
8+
# @EXPORT_NAME@_LIBRARY_DIR - the QXlsx library directory
9+
# @EXPORT_NAME@_LIBRARY - Link these to use QXlsx
910

10-
SET(prefix "@CMAKE_INSTALL_PREFIX@")
11-
SET(exec_prefix "@CMAKE_INSTALL_PREFIX@")
12-
SET(QXlsx_FOUND "TRUE")
11+
@PACKAGE_INIT@
12+
13+
set_and_check(@EXPORT_NAME@_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
14+
set_and_check(@EXPORT_NAME@_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
1315

1416
include("${CMAKE_CURRENT_LIST_DIR}/@EXPORT_NAME@Targets.cmake")
17+
18+
set(@EXPORT_NAME@_LIBRARIES "@EXPORT_NAME@")
19+
20+
check_required_components(@EXPORT_NAME@)

0 commit comments

Comments
 (0)