| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
remove global variable overkill and leaky to transport a test result just in one place. | 1 年前 | |
add cmake lz4 support add some instructions for build/cmake/README.md | 7 年前 | |
Provide forward compatible cmake paradigms Automatically extract version information from the zstd.h file. Use naming of variables consisent with modern cmake and https://semver.org/ (Semantic Versioning 2.0.0, MAJOR, MINOR, PATCH) Modern versions of cmake provide consistent paradigms for configuring project external interface values. This set of changes provide a back port of some of cmake 3+ paradigms back to cmake 2.8.9. Set and allow use of the current cmake policies for newer versions of cmake when available to allow for modern compiler features to be utilized when available. NOTE: The intent is that future modifications to cmake will enable (conditional on cmake version support) the ability to support modern linkage, and target export mechanisms. Those future changes will make incorporating zstd into other packages much easier. This patch also allows the more rigourous error checking of commmon cmake errors to be preformed by cmake (i.e. more stringent syntax checking and create errors for common hard to find misuses of cmake variables). This patch also provides support for modern compiler support options by cmake (like enabling interprocedural optimization if link time optimizations are known to be supported by the compiler envirionment. IPO can be supported by setting the CMAKE_INTERPROCEDURAL_OPTIMIZATION variable for newer versions of cmake. | 7 年前 | |
build(cmake): improve pkg-config generation 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 | 3 年前 | |
refactor: modularize CMakeLists.txt for better maintainability - Split monolithic 235-line CMakeLists.txt into focused modules - Main file reduced to 78 lines with clear section organization - Created 5 specialized modules: * ZstdVersion.cmake - CMake policies and version management * ZstdOptions.cmake - Build options and platform configuration * ZstdDependencies.cmake - External dependency management * ZstdBuild.cmake - Build targets and validation * ZstdPackage.cmake - Package configuration generation Benefits: - Improved readability and maintainability - Better separation of concerns - Easier debugging and modification - Preserved 100% backward compatibility - All existing build options and targets unchanged The refactored build system passes all tests and maintains identical functionality while being much easier to understand and maintain. | 1 年前 | |
refactor: modularize CMakeLists.txt for better maintainability - Split monolithic 235-line CMakeLists.txt into focused modules - Main file reduced to 78 lines with clear section organization - Created 5 specialized modules: * ZstdVersion.cmake - CMake policies and version management * ZstdOptions.cmake - Build options and platform configuration * ZstdDependencies.cmake - External dependency management * ZstdBuild.cmake - Build targets and validation * ZstdPackage.cmake - Package configuration generation Benefits: - Improved readability and maintainability - Better separation of concerns - Easier debugging and modification - Preserved 100% backward compatibility - All existing build options and targets unchanged The refactored build system passes all tests and maintains identical functionality while being much easier to understand and maintain. | 1 年前 | |
refactor: modularize CMakeLists.txt for better maintainability - Split monolithic 235-line CMakeLists.txt into focused modules - Main file reduced to 78 lines with clear section organization - Created 5 specialized modules: * ZstdVersion.cmake - CMake policies and version management * ZstdOptions.cmake - Build options and platform configuration * ZstdDependencies.cmake - External dependency management * ZstdBuild.cmake - Build targets and validation * ZstdPackage.cmake - Package configuration generation Benefits: - Improved readability and maintainability - Better separation of concerns - Easier debugging and modification - Preserved 100% backward compatibility - All existing build options and targets unchanged The refactored build system passes all tests and maintains identical functionality while being much easier to understand and maintain. | 1 年前 | |
refactor: modularize CMakeLists.txt for better maintainability - Split monolithic 235-line CMakeLists.txt into focused modules - Main file reduced to 78 lines with clear section organization - Created 5 specialized modules: * ZstdVersion.cmake - CMake policies and version management * ZstdOptions.cmake - Build options and platform configuration * ZstdDependencies.cmake - External dependency management * ZstdBuild.cmake - Build targets and validation * ZstdPackage.cmake - Package configuration generation Benefits: - Improved readability and maintainability - Better separation of concerns - Easier debugging and modification - Preserved 100% backward compatibility - All existing build options and targets unchanged The refactored build system passes all tests and maintains identical functionality while being much easier to understand and maintain. | 1 年前 | |
refactor: modularize CMakeLists.txt for better maintainability - Split monolithic 235-line CMakeLists.txt into focused modules - Main file reduced to 78 lines with clear section organization - Created 5 specialized modules: * ZstdVersion.cmake - CMake policies and version management * ZstdOptions.cmake - Build options and platform configuration * ZstdDependencies.cmake - External dependency management * ZstdBuild.cmake - Build targets and validation * ZstdPackage.cmake - Package configuration generation Benefits: - Improved readability and maintainability - Better separation of concerns - Easier debugging and modification - Preserved 100% backward compatibility - All existing build options and targets unchanged The refactored build system passes all tests and maintains identical functionality while being much easier to understand and maintain. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |