CMake: Update the main comment and document CMAKE_BUILD_TYPE=Release.
This commit is contained in:
parent
4430e075f7
commit
426bdc709c
|
@ -2,31 +2,78 @@
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
#
|
||||||
# Very limited CMake support for building some parts of XZ Utils
|
# CMake support for building XZ Utils
|
||||||
#
|
#
|
||||||
# For now, this is intended to be useful to build static or shared liblzma
|
# The complete CMake-based build hasn't been tested much yet and
|
||||||
# on Windows with MSVC (to avoid the need to maintain Visual Studio project
|
# thus it's still slightly experimental. Testing this especially
|
||||||
# files). Building liblzma on a few other platforms should work too but it
|
# outside GNU/Linux and Windows would be great now.
|
||||||
# is somewhat experimental and not as portable as using ./configure.
|
|
||||||
#
|
#
|
||||||
# On some platforms this builds also xz and xzdec, but these are
|
# A few things are still missing compared to the Autotools-based build:
|
||||||
# highly experimental and meant for testing only.
|
|
||||||
#
|
#
|
||||||
# Other missing things:
|
# - A few tests aren't CMake compatible yet and thus aren't run!
|
||||||
# - No xz tests (liblzma tests only)
|
|
||||||
#
|
#
|
||||||
# NOTE: Even if the code compiles without warnings, the end result may be
|
# - 32-bit x86 assembly code for CRC32 and CRC64 isn't used.
|
||||||
# different than via ./configure. Specifically, the list of #defines
|
#
|
||||||
# may be different (if so, probably this CMakeLists.txt got them wrong).
|
# - External SHA-256 code isn't supported but it's disabled by
|
||||||
|
# default in the Autotools build too (--enable-external-sha256).
|
||||||
|
#
|
||||||
|
# - Extra compiler warning flags aren't added by default.
|
||||||
|
#
|
||||||
|
# About CMAKE_BUILD_TYPE:
|
||||||
|
#
|
||||||
|
# - CMake's standard choices are fine to use for production builds,
|
||||||
|
# including "Release" and "RelWithDebInfo".
|
||||||
|
#
|
||||||
|
# NOTE: While "Release" uses -O3 by default with some compilers,
|
||||||
|
# this file overrides -O3 to -O2 for "Release" builds if
|
||||||
|
# CMAKE_C_FLAGS_RELEASE is not defined by the user. At least
|
||||||
|
# with GCC and Clang/LLVM, -O3 doesn't seem useful for this
|
||||||
|
# package as it can result in bigger binaries without any
|
||||||
|
# improvement in speed compared to -O2.
|
||||||
|
#
|
||||||
|
# - Empty value (the default) is handled slightly specially: It
|
||||||
|
# adds -DNDEBUG to disable debugging code (assert() and a few
|
||||||
|
# other things). No optimization flags are added so an empty
|
||||||
|
# CMAKE_BUILD_TYPE is an easy way to build with whatever
|
||||||
|
# optimization flags one wants, and so this method is also
|
||||||
|
# suitable for production builds.
|
||||||
|
#
|
||||||
|
# If debugging is wanted when using empty CMAKE_BUILD_TYPE,
|
||||||
|
# include -UNDEBUG in the CFLAGS environment variable or
|
||||||
|
# in the CMAKE_C_FLAGS CMake variable to override -DNDEBUG.
|
||||||
|
# With empty CMAKE_BUILD_TYPE, the -UNDEBUG option will go
|
||||||
|
# after the -DNDEBUG option on the compiler command line and
|
||||||
|
# thus NDEBUG will be undefined.
|
||||||
|
#
|
||||||
|
# - Non-standard build types like "None" aren't treated specially
|
||||||
|
# and thus won't have -DNEBUG. Such non-standard build types
|
||||||
|
# SHOULD BE AVOIDED FOR PRODUCTION BUILDS. Or at least one
|
||||||
|
# should remember to add -DNDEBUG.
|
||||||
|
#
|
||||||
|
# If building from xz.git instead of a release tarball, consider
|
||||||
|
# the following *before* running cmake:
|
||||||
|
#
|
||||||
|
# - To get translated messages, install GNU gettext tools (the
|
||||||
|
# command msgfmt is needed). Alternatively disable translations
|
||||||
|
# by setting ENABLE_NLS=OFF.
|
||||||
|
#
|
||||||
|
# - To get translated man pages, run po4a/update-po which requires
|
||||||
|
# the po4a tool. The build works without this step too.
|
||||||
|
#
|
||||||
|
# - To get Doxygen-generated liblzma API docs in HTML format,
|
||||||
|
# run doxygen/update-doxygen which requires the doxygen tool.
|
||||||
|
# The build works without this step too.
|
||||||
#
|
#
|
||||||
# This file provides the following installation components (if you only
|
# This file provides the following installation components (if you only
|
||||||
# need liblzma, install only its components!):
|
# need liblzma, install only its components!):
|
||||||
# - liblzma_Runtime
|
# - liblzma_Runtime (shared library only)
|
||||||
# - liblzma_Development
|
# - liblzma_Development
|
||||||
# - liblzma_Documentation (examples and Doxygen-generated API docs as HTML)
|
# - liblzma_Documentation (examples and Doxygen-generated API docs as HTML)
|
||||||
# - xz (on some platforms only)
|
# - xz
|
||||||
# - xzdec (on some platforms only)
|
# - xzdec
|
||||||
# - lzmadec (on some platforms only)
|
# - lzmadec
|
||||||
|
# - lzmainfo
|
||||||
|
# - scripts (xzdiff, xzgrep, xzless, xzmore)
|
||||||
# - xz_Documentation (generic docs like README and licenses)
|
# - xz_Documentation (generic docs like README and licenses)
|
||||||
#
|
#
|
||||||
# To find the target liblzma::liblzma from other packages, use the CONFIG
|
# To find the target liblzma::liblzma from other packages, use the CONFIG
|
||||||
|
|
Loading…
Reference in New Issue