XPost: comp.os.linux.misc
On 25 Jun 2025 09:06:52 +1000, Computer Nerd Kev wrote:
The CMake developers ignored requests for an equivalent to
"./configure --help" early on, willfully making the transition
difficult for software builders.
Actually, Cmake does have an equivalent. Here are the steps.
1) Unpack a source file.
2) Create a "build" directory in the source root and then
"cd build."
3) Execute "cmake -LAH .. "
This will produce a LONG list of options. (See the output
for Pan below.)
Automation scripts are possible with Cmake but they need
to be more complex on account of the above.
If looking for new software that I'll need to build myself, then
CMake is an immediate turn-off - I'll choose an alternative.
Hopefully, an adequate alternative will exist, but usually it
won't.
Anyway here is the Cmake "help" output for the Pan newsreader.
cmake -LAH ..
-- Building Pan version 0.163 (Kryvyi Rih)
-- platform: Linux-6.15.0
-- Configuring done (0.1s)
-- Generating done (0.1s)
-- Build files have been written to: /tmp/build/pan-v0.163/build
-- Cache values
// Build the testing tree.
BUILD_TESTING:BOOL=ON
// Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
// Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=
// Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON
// CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
// A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
// A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
// Flags used by the CXX compiler during all build types. CMAKE_CXX_FLAGS:STRING=-O2 -DNDEBUG -pipe -flto=9 -fuse-linker-plugin -march=native -malign-data=cacheline -mvzeroupper -floop-interchange -floop-strip-mine -floop-block -fno-stack-protector -mindirect-branch=keep -mfunction-return=keep -mharden-sls=none
-fcf-protection=none -Wl,-z,norelro -U_FORTIFY_SOURCE -L/usr/local/lib64 -I/usr/local/include
// Flags used by the CXX compiler during DEBUG builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g
// Flags used by the CXX compiler during MINSIZEREL builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
// Flags used by the CXX compiler during RELEASE builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
// Flags used by the CXX compiler during RELWITHDEBINFO builds. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
// C compiler
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
// A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
// A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
// Flags used by the C compiler during all build types. CMAKE_C_FLAGS:STRING=-O2 -DNDEBUG -pipe -flto=9 -fuse-linker-plugin -march=native -malign-data=cacheline -mvzeroupper -floop-interchange -floop-strip-mine -floop-block -fno-stack-protector -mindirect-branch=keep -mfunction-return=keep -mharden-sls=none -
fcf-protection=none -Wl,-z,norelro -U_FORTIFY_SOURCE -L/usr/local/lib64 -I/usr/local/include
// Flags used by the C compiler during DEBUG builds. CMAKE_C_FLAGS_DEBUG:STRING=-g
// Flags used by the C compiler during MINSIZEREL builds. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
// Flags used by the C compiler during RELEASE builds. CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
// Flags used by the C compiler during RELWITHDEBINFO builds. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
// Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
// Flags used by the linker during all build types. CMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,-z,norelro -O2 -DNDEBUG -pipe -flto=9 -fuse-linker-plugin -march=native -malign-data=cacheline -mvzeroupper -floop-interchange -floop-strip-mine -floop-block
-fno-stack-protector -mindirect-branch=keep -mfunction-return=keep -mharden-sls=none -fcf-protection=none -Wl,-z,norelro -U_FORTIFY_SOURCE -L/usr/local/lib64 -I/usr/local/include
// Flags used by the linker during DEBUG builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
// Flags used by the linker during MINSIZEREL builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
// Flags used by the linker during RELEASE builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
// Flags used by the linker during RELWITHDEBINFO builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
// Enable/Disable output of compile commands during generation. CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
// User executables (bin)
CMAKE_INSTALL_BINDIR:PATH=bin
// Read-only architecture-independent data (DATAROOTDIR) CMAKE_INSTALL_DATADIR:PATH=
// Read-only architecture-independent data root (share) CMAKE_INSTALL_DATAROOTDIR:PATH=share
// Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
CMAKE_INSTALL_DOCDIR:PATH=
// C header files (include)
CMAKE_INSTALL_INCLUDEDIR:PATH=include
// Info documentation (DATAROOTDIR/info)
CMAKE_INSTALL_INFODIR:PATH=
// Object code libraries (lib64)
CMAKE_INSTALL_LIBDIR:PATH=lib64
// Program executables (libexec)
CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
// Locale-dependent data (DATAROOTDIR/locale)
CMAKE_INSTALL_LOCALEDIR:PATH=
// Modifiable single-machine data (var)
CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
// Man documentation (DATAROOTDIR/man)
CMAKE_INSTALL_MANDIR:PATH=
// C header files for non-gcc (/usr/include) CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
// Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local
// Run-time variable data (LOCALSTATEDIR/run)
CMAKE_INSTALL_RUNSTATEDIR:PATH=
// System admin executables (sbin)
CMAKE_INSTALL_SBINDIR:PATH=sbin
// Modifiable architecture-independent data (com) CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
// Read-only single-machine data (etc)
CMAKE_INSTALL_SYSCONFDIR:PATH=etc
// Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
// Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
// Flags used by the linker during the creation of modules during all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,-z,norelro -O2 -DNDEBUG -pipe -flto=9 -fuse-linker-plugin -march=native -malign-data=cacheline -mvzeroupper -floop-interchange -floop-strip-mine -floop-
block -fno-stack-protector -mindirect-branch=keep -mfunction-return=keep -mharden-sls=none -fcf-protection=none -Wl,-z,norelro -U_FORTIFY_SOURCE -L/usr/local/lib64 -I/usr/local/include
// Flags used by the linker during the creation of modules during DEBUG builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
// Flags used by the linker during the creation of modules during MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
// Flags used by the linker during the creation of modules during RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
// Flags used by the linker during the creation of modules during RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
// Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
// Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
// Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
// Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
// Path to a program.
CMAKE_READELF:FILEPATH=/usr/bin/readelf
// Flags used by the linker during the creation of shared libraries during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,-z,norelro -O2 -DNDEBUG -pipe -flto=9 -fuse-linker-plugin -march=native -malign-data=cacheline -mvzeroupper -floop-interchange -floop-strip-mine -floop-
block -fno-stack-protector -mindirect-branch=keep -mfunction-return=keep -mharden-sls=none -fcf-protection=none -Wl,-z,norelro -U_FORTIFY_SOURCE -L/usr/local/lib64 -I/usr/local/include
// Flags used by the linker during the creation of shared libraries during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
// Flags used by the linker during the creation of shared libraries during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
// Flags used by the linker during the creation of shared libraries during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
// Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
// If set, runtime paths are not added when installing shared libraries, but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
// If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=NO
// Flags used by the linker during the creation of static libraries during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=
// Flags used by the linker during the creation of static libraries during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
// Flags used by the linker during the creation of static libraries during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
// Flags used by the linker during the creation of static libraries during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
// Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
// Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
// Path to a program.
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
// If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
// Path to the coverage program that CTest uses for performing coverage inspection
COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov
// Extra command line flags to pass to the coverage tool COVERAGE_EXTRA_FLAGS:STRING=-l
// How many times to retry timed-out CTest submissions. CTEST_SUBMIT_RETRY_COUNT:STRING=3
// How long to wait between timed-out CTest submissions. CTEST_SUBMIT_RETRY_DELAY:STRING=5
// Maximum time allowed before CTest will kill the test. DART_TESTING_TIMEOUT:STRING=1500
// built in user manual (default: off)
ENABLE_MANUAL:BOOL=OFF
// Path to a program.
GETTEXT_MSGFMT_EXECUTABLE:FILEPATH=/usr/bin/msgfmt
// Path to a program.
GETTEXT_MSGMERGE_EXECUTABLE:FILEPATH=/usr/bin/msgmerge
// Command to build the project
MAKECOMMAND:STRING=/usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}"
// Path to the memory checking command, used for memory error detection. MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND
// File that contains suppressions for the memory checker MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH=
// Arguments to supply to pkg-config
PKG_CONFIG_ARGN:STRING=
// pkg-config executable
PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
// Name of the computer/site where compile is being run SITE:STRING=ajax.firstbooks
// enable D-Bus support (default: no)
WANT_DBUS:BOOL=OFF
// enable GNOME Keyring or libsecret support (default: off)
WANT_GKR:BOOL=OFF
// enable GMime cryptography support (default: no)
WANT_GMIME_CRYPTO:BOOL=OFF
// enable GnuTLS support (default: on)
WANT_GNUTLS:BOOL=ON
// enable Gspell support (default: on)
WANT_GSPELL:BOOL=ON
// enable libnotify support (default: off)
WANT_NOTIFY:BOOL=OFF
// enable WebKitGTK support (experimental, default: off)
WANT_WEBKIT:BOOL=OFF
// Path to a file.
ZLIB_INCLUDE_DIR:PATH=/usr/include
// Path to a library.
ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND
// Path to a library.
ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib64/libz.so
// Path to a library. pkgcfg_lib_GLIB_glib-2.0:FILEPATH=/usr/lib64/libglib-2.0.so
// Path to a library. pkgcfg_lib_GMIME_gio-2.0:FILEPATH=/usr/lib64/libgio-2.0.so
// Path to a library. pkgcfg_lib_GMIME_glib-2.0:FILEPATH=/usr/lib64/libglib-2.0.so
// Path to a library. pkgcfg_lib_GMIME_gmime-3.0:FILEPATH=/usr/lib64/libgmime-3.0.so
// Path to a library. pkgcfg_lib_GMIME_gobject-2.0:FILEPATH=/usr/lib64/libgobject-2.0.so
// Path to a library.
pkgcfg_lib_GNUTLS_gnutls:FILEPATH=/usr/lib64/libgnutls.so
// Path to a library. pkgcfg_lib_GSPELL_atk-1.0:FILEPATH=/usr/lib64/libatk-1.0.so
// Path to a library.
pkgcfg_lib_GSPELL_cairo:FILEPATH=/usr/lib64/libcairo.so
// Path to a library. pkgcfg_lib_GSPELL_cairo-gobject:FILEPATH=/usr/lib64/libcairo-gobject.so
// Path to a library. pkgcfg_lib_GSPELL_enchant-2:FILEPATH=/usr/lib64/libenchant-2.so
// Path to a library.
pkgcfg_lib_GSPELL_gdk-3:FILEPATH=/usr/lib64/libgdk-3.so
// Path to a library. pkgcfg_lib_GSPELL_gdk_pixbuf-2.0:FILEPATH=/usr/lib64/libgdk_pixbuf-2.0.so
// Path to a library. pkgcfg_lib_GSPELL_gio-2.0:FILEPATH=/usr/lib64/libgio-2.0.so
// Path to a library. pkgcfg_lib_GSPELL_glib-2.0:FILEPATH=/usr/lib64/libglib-2.0.so
// Path to a library. pkgcfg_lib_GSPELL_gobject-2.0:FILEPATH=/usr/lib64/libgobject-2.0.so
// Path to a library. pkgcfg_lib_GSPELL_gspell-1:FILEPATH=/usr/lib64/libgspell-1.so
// Path to a library.
pkgcfg_lib_GSPELL_gtk-3:FILEPATH=/usr/lib64/libgtk-3.so
// Path to a library. pkgcfg_lib_GSPELL_harfbuzz:FILEPATH=/usr/lib64/libharfbuzz.so
// Path to a library. pkgcfg_lib_GSPELL_pango-1.0:FILEPATH=/usr/lib64/libpango-1.0.so
// Path to a library. pkgcfg_lib_GSPELL_pangocairo-1.0:FILEPATH=/usr/lib64/libpangocairo-1.0.so
// Path to a library.
pkgcfg_lib_GTK3_atk-1.0:FILEPATH=/usr/lib64/libatk-1.0.so
// Path to a library.
pkgcfg_lib_GTK3_cairo:FILEPATH=/usr/lib64/libcairo.so
// Path to a library. pkgcfg_lib_GTK3_cairo-gobject:FILEPATH=/usr/lib64/libcairo-gobject.so
// Path to a library.
pkgcfg_lib_GTK3_gdk-3:FILEPATH=/usr/lib64/libgdk-3.so
// Path to a library. pkgcfg_lib_GTK3_gdk_pixbuf-2.0:FILEPATH=/usr/lib64/libgdk_pixbuf-2.0.so
// Path to a library.
pkgcfg_lib_GTK3_gio-2.0:FILEPATH=/usr/lib64/libgio-2.0.so
// Path to a library. pkgcfg_lib_GTK3_glib-2.0:FILEPATH=/usr/lib64/libglib-2.0.so
// Path to a library. pkgcfg_lib_GTK3_gobject-2.0:FILEPATH=/usr/lib64/libgobject-2.0.so
// Path to a library.
pkgcfg_lib_GTK3_gtk-3:FILEPATH=/usr/lib64/libgtk-3.so
// Path to a library. pkgcfg_lib_GTK3_harfbuzz:FILEPATH=/usr/lib64/libharfbuzz.so
// Path to a library. pkgcfg_lib_GTK3_pango-1.0:FILEPATH=/usr/lib64/libpango-1.0.so
// Path to a library. pkgcfg_lib_GTK3_pangocairo-1.0:FILEPATH=/usr/lib64/libpangocairo-1.0.so
--
Systemd: solving all the problems that you never knew you had.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)