@@ -123,11 +123,9 @@ endmacro ()
123123set (PUBLIC_INCLUDE_DIRS ${LIBRARY_DIR} )
124124set (CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS} /I \" ${LIBRARY_DIR} \" " )
125125# Split project to static and shared libraries build
126- set (library_targets)
127126if (ZSTD_BUILD_SHARED)
128127 add_library (libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources} )
129128 target_include_directories (libzstd_shared INTERFACE $<BUILD_INTERFACE:${PUBLIC_INCLUDE_DIRS} >)
130- list (APPEND library_targets libzstd_shared)
131129 if (ZSTD_MULTITHREAD_SUPPORT)
132130 target_compile_definitions (libzstd_shared PUBLIC ZSTD_MULTITHREAD)
133131 if (UNIX )
@@ -141,7 +139,6 @@ endif ()
141139if (ZSTD_BUILD_STATIC)
142140 add_library (libzstd_static STATIC ${Sources} ${Headers} )
143141 target_include_directories (libzstd_static INTERFACE $<BUILD_INTERFACE:${PUBLIC_INCLUDE_DIRS} >)
144- list (APPEND library_targets libzstd_static)
145142 if (ZSTD_MULTITHREAD_SUPPORT)
146143 target_compile_definitions (libzstd_static PUBLIC ZSTD_MULTITHREAD)
147144 if (UNIX )
@@ -160,15 +157,13 @@ if (ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC)
160157 endif ()
161158 add_library (libzstd INTERFACE )
162159 target_link_libraries (libzstd INTERFACE libzstd_shared)
163- list (APPEND library_targets libzstd)
164160endif ()
165161if (ZSTD_BUILD_STATIC AND NOT ZSTD_BUILD_SHARED)
166162 if (BUILD_SHARED_LIBS )
167163 message (WARNING "BUILD_SHARED_LIBS is ON, but ZSTD_BUILD_SHARED is OFF and ZSTD_BUILD_STATIC is ON, which takes precedence, is set so libzstd is a static library" )
168164 endif ()
169165 add_library (libzstd INTERFACE )
170166 target_link_libraries (libzstd INTERFACE libzstd_static)
171- list (APPEND library_targets libzstd)
172167endif ()
173168if (ZSTD_BUILD_SHARED AND ZSTD_BUILD_STATIC)
174169 # If both ZSTD_BUILD_SHARED and ZSTD_BUILD_STATIC are set, which is the
@@ -177,11 +172,9 @@ if (ZSTD_BUILD_SHARED AND ZSTD_BUILD_STATIC)
177172 if (BUILD_SHARED_LIBS )
178173 add_library (libzstd INTERFACE )
179174 target_link_libraries (libzstd INTERFACE libzstd_shared)
180- list (APPEND library_targets libzstd)
181175 else ()
182176 add_library (libzstd INTERFACE )
183177 target_link_libraries (libzstd INTERFACE libzstd_static)
184- list (APPEND library_targets libzstd)
185178 endif ()
186179endif ()
187180
@@ -275,16 +268,20 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "${CMAKE_INST
275268# install target
276269install (FILES ${PublicHeaders} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} " )
277270
278- install (TARGETS ${library_targets}
279- EXPORT zstdExports
280- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
281- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
282- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
283- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} "
284- BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR} "
285- FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR} " COMPONENT runtime OPTIONAL
286- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
287- )
271+ foreach (target_suffix IN ITEMS "_shared" "_static" "" )
272+ if (TARGET "libzstd${target_suffix} " )
273+ install (TARGETS "libzstd${target_suffix} "
274+ EXPORT "zstdExports${target_suffix} "
275+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
276+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
277+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
278+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} "
279+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR} "
280+ FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR} " COMPONENT runtime OPTIONAL
281+ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
282+ )
283+ endif ()
284+ endforeach ()
288285
289286# uninstall target
290287if (NOT TARGET uninstall)
0 commit comments