diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2023-09-30 01:13:13 +0300 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-10-31 18:44:59 +0800 |
commit | 983f3b458dc79c5976a4237fdfe4f8079f8d8830 (patch) | |
tree | 545d9070ee26f94aab635868f3dbaba2e46a98de | |
parent | liblzma: Add Cflags.private to liblzma.pc.in for MSYS2. (diff) | |
download | xz-983f3b458dc79c5976a4237fdfe4f8079f8d8830.tar.xz |
CMake: Rearrange the PACKAGE_ variables.
The windres workaround now replaces spaces with \x20 so
the package name isn't repeated.
These changes will help with creation of liblzma.pc.
-rw-r--r-- | CMakeLists.txt | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 61103c7e..5c7e364c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,8 +59,12 @@ include(cmake/tuklib_physmem.cmake) include(cmake/tuklib_progname.cmake) include(cmake/tuklib_mbstr.cmake) -# Get the package version from version.h into XZ_VERSION variable. -file(READ src/liblzma/api/lzma/version.h XZ_VERSION) +set(PACKAGE_NAME "XZ Utils") +set(PACKAGE_BUGREPORT "xz@tukaani.org") +set(PACKAGE_URL "https://tukaani.org/xz/") + +# Get the package version from version.h into PACKAGE_VERSION variable. +file(READ src/liblzma/api/lzma/version.h PACKAGE_VERSION) string(REGEX REPLACE "^.*\n\ #define LZMA_VERSION_MAJOR ([0-9]+)\n\ @@ -69,10 +73,10 @@ string(REGEX REPLACE .*\ #define LZMA_VERSION_PATCH ([0-9]+)\n\ .*$" - "\\1.\\2.\\3" XZ_VERSION "${XZ_VERSION}") + "\\1.\\2.\\3" PACKAGE_VERSION "${PACKAGE_VERSION}") # Among other things, this gives us variables xz_VERSION and xz_VERSION_MAJOR. -project(xz VERSION "${XZ_VERSION}" LANGUAGES C) +project(xz VERSION "${PACKAGE_VERSION}" LANGUAGES C) # We need a compiler that supports enough C99 or newer (variable-length arrays # aren't needed, those are optional in C17). Setting CMAKE_C_STANDARD here @@ -107,22 +111,22 @@ if((MINGW OR CYGWIN OR MSYS) AND ( NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" OR CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "17")) # Use workarounds with GNU windres and llvm-windres >= 17.0.0. The \x20 - # in PACKAGE_NAME works with gcc and clang too so we don't need to worry - # how to pass different flags to windres and the C compiler. + # in PACKAGE_NAME_DEFINITION works with gcc and clang too so we don't need + # to worry how to pass different flags to windres and the C compiler. string(APPEND CMAKE_RC_FLAGS " --use-temp-file") - set(PACKAGE_NAME "XZ\\x20Utils") + string(REPLACE " " "\\x20" PACKAGE_NAME_DEFINITION "${PACKAGE_NAME}") else() # Elsewhere a space is safe. This also keeps things compatible with # EBCDIC in case CMake-based build is ever done on such a system. - set(PACKAGE_NAME "XZ Utils") + set(PACKAGE_NAME_DEFINITION "${PACKAGE_NAME}") endif() # Definitions common to all targets: add_compile_definitions( # Package info: - PACKAGE_NAME="${PACKAGE_NAME}" - PACKAGE_BUGREPORT="xz@tukaani.org" - PACKAGE_URL="https://tukaani.org/xz/" + PACKAGE_NAME="${PACKAGE_NAME_DEFINITION}" + PACKAGE_BUGREPORT="${PACKAGE_BUGREPORT}" + PACKAGE_URL="${PACKAGE_URL}" # Standard headers and types are available: HAVE_STDBOOL_H |