./devel/cmake, Cross platform make

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.31.5, Package name: cmake-3.31.5, Maintainer: pkgsrc-users

CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.


Required to run:
[www/curl] [archivers/libarchive] [devel/libuv]

Required to build:
[misc/rhash] [pkgtools/cwrappers]

Master sites:

Filesize: 11432.124 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-29 15:31:30 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.5

CMake 3.31.5
* Clang/CUDA: Fix language-wide flags when linking .so with compiler driver
* Tests: Update expected results for ninja post-1.12 development
* FindMatlab: Fix multi-signature function documentation anchors
* WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC
* IAR: decouple linker location from toolkit's bin dir
* install: Generate InstallScripts.json in consistent location
   2025-01-27 09:49:08 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
cmake: make build.mk work properly on Darwin
   2025-01-24 22:23:07 by Taylor R Campbell | Files touched by this commit (2)
Log message:
devel/cmake/build.mk: Limit cmake's perspective to buildlink3.

Hide LOCALBASE from cmake functions like find_package, find_path, &c.
But don't hide COMPILER_INCLUDE_DIRS and COMPILER_LIB_DIRS -- we only
want to hide undeclared pkgsrc packages, not system libraries.

Pass pkgsrc-defined CMAKE_INCLUDE_PATH and CMAKE_LIBRARY_PATH through
to cmake as environment variables rather than as cmake variables, and
do the same with CMAKE_PREFIX_PATH.  This way, the project can define
its own paths -- as cmake intends -- without overriding pkgsrc's
BUILDLINK_DIR paths.

As a next step, we should set CMAKE_IGNORE_PREFIX_PATH to ignore
${LOCALBASE} in order to conceal it harder.  It won't stop cmake from
finding things it shouldn't through paths exposed by pkg-config but
it might stop cmake from finding things it shouldn't by other paths
like projects putting ${PREFIX} or /usr/pkg in CMAKE_PREFIX_PATH
explicitly.  However, that step will have more fallout, so I'll do it
separately.

Almost all the fallout has been resolved for this revision of the
change, either by tweaking the mechanism (like setting CMAKE_*
environemnt variables instead of cmake variables) or by tweaking
buildlink3 files.  Let me know if anything else pops up -- usually in
the form of `CMake Error' at configure time failing to find
dependencies.

XXX Need mass revbump of all packages that use devel/cmake/build.mk
just in case this changed anything about the build.

Proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2024/12/25/msg030256.html
   2025-01-16 08:48:08 by Masatake Daimon | Files touched by this commit (1)
Log message:
devel/cmake/build.mk: Include bsd.prefs.mk before referring to mk.conf variables
   2025-01-14 17:13:04 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.4

CMake 3.31.4
* Tests/CXXModules: add a test with duplicate sources
* target_sources: Restore toleration of duplicate CXX_MODULES sources
* Makefile: List codegen target in help
* FindBoost: Add support for Boost 1.87
* GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"
* Help: FindPython: fix typo
* LFortran: Remove hard-coded --generate-object-code flag
   2024-12-24 14:54:01 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.3

CMake 3.31.3
* VS: Factor out check for mixed C and C++ target
* VS: Restore support for mixing C++23 and C in one target with clang-cl
* cmLocalUnixMakefileGenerator3: Simplify progress command generation
* Makefile: Fix per-directory codegen target
* Makefile: Enable progress messages for codegen target
* cmGlobalNinjaGenerator: Remove unused local variable
* cmGlobalNinjaGenerator: Remove unnecessary local variable
* cmGlobalNinjaGenerator: Fix local variable name for codegen target
* cmGlobalNinjaGenerator: Clarify order of codegen build statement logic
* cmGlobalNinjaGenerator: Simplify per-directory configuration list lookup
* Ninja: Add missing top-level codegen dependencies on per-directory codegen
* Tests/RunCMake/CXXModules: Rename FileSetModules cases to be more specific
* target_sources: Improve error message for CXX_MODULES on INTERFACE libraries
* Help: Update link to UTF-8 RFC 3629
* ci: update macOS jobs to use Xcode 16.2
* install: Restore treatment of DESTINATION as a single-valued keyword

CMake 3.31.2
* AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
* AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports
* GNU linker: Use single-argument form of --dependency-file flag
* fileapi: Do not expose flags for linker-generated dependencies
* LINK_OPTIONS: Fix crash on empty LINKER: prefix
* ci: Update to ROCm 6 HIP on Fedora 41
* Tutorial: Restore TODO 4 comment in step 7
* Intel/Classic: deactivate linker dependency file support
* FindPython: Ensure SABIModule is found in all cases
* Autogen: Restore <target_name>_autogen_timestamp_deps target
* Autogen: Fix Ninja Multi-Config dependency graph regression
* Autogen: Revert adding ui files to byproducts of the timestamp target
* FindRuby: Add support for 3.4
   2024-12-11 14:44:31 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
cmake: downgraded to 3.31.1 for the sake of 1 December
   2024-12-11 12:34:32 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.2

CMake 3.31.2
* AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
* AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports
* GNU linker: Use single-argument form of --dependency-file flag
* fileapi: Do not expose flags for linker-generated dependencies
* LINK_OPTIONS: Fix crash on empty LINKER: prefix
* ci: Update to ROCm 6 HIP on Fedora 41
* Tutorial: Restore TODO 4 comment in step 7
* Intel/Classic: deactivate linker dependency file support
* FindPython: Ensure SABIModule is found in all cases
* Autogen: Restore <target_name>_autogen_timestamp_deps target
* Autogen: Fix Ninja Multi-Config dependency graph regression
* Autogen: Revert adding ui files to byproducts of the timestamp target
* FindRuby: Add support for 3.4