mirror of
https://github.com/facebook/zstd.git
synced 2025-07-29 11:21:22 +03:00
With this patch the pkg-config generation when using the CMake build system is improved in the following ways: - Libs.private is now filled when needed - The JoinPaths module is now used to join paths, leading to simpler code - The .pc file is always generated, regardless of the platform, as it can also be consumed on Windows Here's how the .pc file is affected by these changes, in comparison to the one generated with the official Makefiles: $ diff -s lib/libzstd.pc build/cmake/build-old/lib/libzstd.pc 15c15 < Libs.private: -pthread --- > Libs.private: $ diff -s lib/libzstd.pc build/cmake/build-new/lib/libzstd.pc Files lib/libzstd.pc and build/cmake/build-new/lib/libzstd.pc are identical
24 lines
817 B
CMake
24 lines
817 B
CMake
# This module provides function for joining paths
|
||
# known from most languages
|
||
#
|
||
# SPDX-License-Identifier: (MIT OR CC0-1.0)
|
||
# Copyright 2020 Jan Tojnar
|
||
# https://github.com/jtojnar/cmake-snips
|
||
#
|
||
# Modelled after Python’s os.path.join
|
||
# https://docs.python.org/3.7/library/os.path.html#os.path.join
|
||
# Windows not supported
|
||
function(join_paths joined_path first_path_segment)
|
||
set(temp_path "${first_path_segment}")
|
||
foreach(current_segment IN LISTS ARGN)
|
||
if(NOT ("${current_segment}" STREQUAL ""))
|
||
if(IS_ABSOLUTE "${current_segment}")
|
||
set(temp_path "${current_segment}")
|
||
else()
|
||
set(temp_path "${temp_path}/${current_segment}")
|
||
endif()
|
||
endif()
|
||
endforeach()
|
||
set(${joined_path} "${temp_path}" PARENT_SCOPE)
|
||
endfunction()
|