@@ -79,6 +79,10 @@ if (BUILD_STATIC_LIBRARY)
79
79
else ()
80
80
add_library (printf SHARED )
81
81
endif ()
82
+
83
+ add_library ("printf::printf" ALIAS printf )
84
+
85
+
82
86
set (GENERATED_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR} /include" )
83
87
configure_file ("printf_config.h.in" "${GENERATED_INCLUDE_DIR} /printf_config.h" @ONLY )
84
88
target_sources (printf PRIVATE src/printf/printf.c "${GENERATED_INCLUDE_DIR} /printf_config.h" src/printf/printf.h )
@@ -99,8 +103,8 @@ target_include_directories(
99
103
)
100
104
101
105
set_target_properties (printf PROPERTIES
102
- LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib
103
- ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
106
+ LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib
107
+ ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} /lib )
104
108
105
109
if (CMAKE_C_COMPILER_ID STREQUAL "MSVC" )
106
110
target_compile_options (printf PRIVATE /W4 )
@@ -149,6 +153,9 @@ endif()
149
153
150
154
include (GNUInstallDirs )
151
155
156
+ # Note: No need for a config.cmake file for setting dependencies - as there
157
+ # are no dependencies; this library is self-contained
158
+
152
159
install (
153
160
TARGETS printf
154
161
EXPORT printf_export
@@ -163,11 +170,17 @@ install(
163
170
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} /printf"
164
171
)
165
172
173
+ export (
174
+ EXPORT printf_export
175
+ NAMESPACE "printf::"
176
+ FILE "${PROJECT_BINARY_DIR} /printf-targets.cmake"
177
+ )
178
+
166
179
install (
167
180
EXPORT printf_export
181
+ FILE "printf-targets.cmake"
168
182
DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/printf"
169
183
NAMESPACE "printf::"
170
- FILE "printf-config.cmake"
171
184
)
172
185
173
186
include (CMakePackageConfigHelpers )
@@ -182,6 +195,3 @@ install(
182
195
FILES "${CMAKE_CURRENT_BINARY_DIR} /printf-config-version.cmake"
183
196
DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/printf"
184
197
)
185
-
186
-
187
-
0 commit comments