git: 7bdeb4414c22 - main - */cmake*: hoist cmake version to cmake.mk (+)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Nov 2022 19:51:26 UTC
The branch main has been updated by fluffy: URL: https://cgit.FreeBSD.org/ports/commit/?id=7bdeb4414c222cc7cd3f1e50cc9429ef3b35b19c commit 7bdeb4414c222cc7cd3f1e50cc9429ef3b35b19c Author: Dima Panov <fluffy@FreeBSD.org> AuthorDate: 2022-11-08 19:46:42 +0000 Commit: Dima Panov <fluffy@FreeBSD.org> CommitDate: 2022-11-08 19:50:59 +0000 */cmake*: hoist cmake version to cmake.mk (+) Differential Revision: D31894 (revisited) --- Mk/Uses/cmake.mk | 76 ++++++++++++++++++++++++------------------ devel/cmake-core/Makefile | 4 +-- devel/cmake-doc/Makefile | 3 +- devel/cmake-gui/Makefile | 3 +- devel/cmake-man/Makefile | 6 ++-- devel/cmake/Makefile | 2 +- devel/kms-cmake-utils/Makefile | 2 +- 7 files changed, 53 insertions(+), 43 deletions(-) diff --git a/Mk/Uses/cmake.mk b/Mk/Uses/cmake.mk index bba26ba1c816..8c02a6475155 100644 --- a/Mk/Uses/cmake.mk +++ b/Mk/Uses/cmake.mk @@ -17,6 +17,7 @@ # testing add the test target based on ctest # Additionally, CMAKE_TESTING_ON, CMAKE_TESTING_OFF, CMAKE_TESTING_ARGS, CMAKE_TESTING_TARGET # can be defined to override the default values. +# _internal Not to be used by any other ports than the ones created from the release-tarball of cmake # # # Additional variables that affect cmake behaviour: @@ -47,7 +48,9 @@ .if !defined(_INCLUDE_USES_CMAKE_MK) _INCLUDE_USES_CMAKE_MK= yes -_valid_ARGS= insource run noninja testing +_valid_ARGS= insource run noninja testing _internal + +_CMAKE_VERSION= 3.24.3 # Sanity check . for arg in ${cmake_ARGS} @@ -56,24 +59,26 @@ IGNORE= Incorrect 'USES+= cmake:${cmake_ARGS}' usage: argument [${arg}] is not r . endif . endfor +# Check whehter other flags than only '_internal' are passed (this should be equivalent to PORT = devel/cmake-core +. if ${cmake_ARGS} != _internal CMAKE_BIN= ${LOCALBASE}/bin/cmake BUILD_DEPENDS+= ${CMAKE_BIN}:devel/cmake-core -. if ${cmake_ARGS:Mrun} +. if ${cmake_ARGS:Mrun} RUN_DEPENDS+= ${CMAKE_BIN}:devel/cmake-core -. endif +. endif -. if defined(WITH_DEBUG) +. if defined(WITH_DEBUG) CMAKE_BUILD_TYPE?= Debug -. else +. else CMAKE_BUILD_TYPE?= Release -. endif #defined(WITH_DEBUG) +. endif #defined(WITH_DEBUG) PLIST_SUB+= CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:tl}" -. if defined(STRIP) && ${STRIP} != "" && !defined(WITH_DEBUG) +. if defined(STRIP) && ${STRIP} != "" && !defined(WITH_DEBUG) INSTALL_TARGET?= install/strip -. endif +. endif CMAKE_ARGS+= -DCMAKE_C_COMPILER:STRING="${CC}" \ -DCMAKE_CXX_COMPILER:STRING="${CXX}" \ @@ -94,77 +99,84 @@ CMAKE_ARGS+= -DCMAKE_C_COMPILER:STRING="${CC}" \ -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON # Handle the option-like CMAKE_ON and CMAKE_OFF lists. -. for _bool_kind in ON OFF -. if defined(CMAKE_${_bool_kind}) +. for _bool_kind in ON OFF +. if defined(CMAKE_${_bool_kind}) CMAKE_ARGS+= ${CMAKE_${_bool_kind}:C/.*/-D&:BOOL=${_bool_kind}/} -. endif -. endfor +. endif +. endfor CMAKE_INSTALL_PREFIX?= ${PREFIX} -. if defined(BATCH) || defined(PACKAGE_BUILDING) +. if defined(BATCH) || defined(PACKAGE_BUILDING) CMAKE_NOCOLOR= yes -. endif +. endif -. if defined(CMAKE_NOCOLOR) +. if defined(CMAKE_NOCOLOR) CMAKE_ARGS+= -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -. endif +. endif _CMAKE_MSG= "===> Performing in-source build" CMAKE_SOURCE_PATH?= ${WRKSRC} -. if empty(cmake_ARGS:Minsource) +. if empty(cmake_ARGS:Minsource) _CMAKE_MSG= "===> Performing out-of-source build" CONFIGURE_WRKSRC= ${WRKDIR}/.build BUILD_WRKSRC?= ${CONFIGURE_WRKSRC} INSTALL_WRKSRC?= ${CONFIGURE_WRKSRC} TEST_WRKSRC?= ${CONFIGURE_WRKSRC} -. endif +. endif # By default we use the ninja generator. # Except, if cmake:run is set (cmake not wanted as generator) # fortran is used, as the ninja-generator does not handle it. # or if CONFIGURE_WRKSRC does not match BUILD_WRKSRC or INSTALL_WRKSRC # as the build.ninja file won't be where ninja expects it. -. if empty(cmake_ARGS:Mnoninja) && empty(cmake_ARGS:Mrun) && empty(USES:Mfortran) -. if "${CONFIGURE_WRKSRC}" == "${BUILD_WRKSRC}" && "${CONFIGURE_WRKSRC}" == "${INSTALL_WRKSRC}" +. if empty(cmake_ARGS:Mnoninja) && empty(cmake_ARGS:Mrun) && empty(USES:Mfortran) +. if "${CONFIGURE_WRKSRC}" == "${BUILD_WRKSRC}" && "${CONFIGURE_WRKSRC}" == "${INSTALL_WRKSRC}" # USES=gmake sets MAKE_CMD and ninja.mk does too (it also messes with MAKEFILE and MAKE_CMD). -. if ! empty(USES:Mgmake) +. if ! empty(USES:Mgmake) BROKEN= USES=gmake is incompatible with cmake's ninja-generator (try cmake:noninja) -. endif +. endif # USES=emacs appends EMACS=<path> to MAKE_ARGS, which then get passed to ninja. # Since ninja doesn't support that kind of variable-setting on the command-line, # it errors out. -. if ! empty(USES:Memacs) +. if ! empty(USES:Memacs) BROKEN= USES=emacs is incompatible with cmake's ninja-generator (try cmake:noninja) -. endif +. endif . include "${USESDIR}/ninja.mk" +. endif . endif -. endif -. if !target(do-configure) +. if !target(do-configure) do-configure: @${ECHO_MSG} ${_CMAKE_MSG} ${MKDIR} ${CONFIGURE_WRKSRC} @cd ${CONFIGURE_WRKSRC}; ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_SOURCE_PATH} -. endif +. endif -. if !target(do-test) && ${cmake_ARGS:Mtesting} +. if !target(do-test) && ${cmake_ARGS:Mtesting} CMAKE_TESTING_ON?= BUILD_TESTING CMAKE_TESTING_TARGET?= test # Handle the option-like CMAKE_TESTING_ON and CMAKE_TESTING_OFF lists. -. for _bool_kind in ON OFF -. if defined(CMAKE_TESTING_${_bool_kind}) +. for _bool_kind in ON OFF +. if defined(CMAKE_TESTING_${_bool_kind}) CMAKE_TESTING_ARGS+= ${CMAKE_TESTING_${_bool_kind}:C/.*/-D&:BOOL=${_bool_kind}/} -. endif -. endfor +. endif +. endfor do-test: @cd ${BUILD_WRKSRC} && \ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_TESTING_ARGS} ${CMAKE_SOURCE_PATH} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${CMAKE_TESTING_TARGET} +. endif +. endif + +. if !empty(cmake_ARGS:M_internal) +MASTER_SITES?= https://github.com/Kitware/CMake/releases/download/v${DISTVERSION}/ \ + https://www.cmake.org/files/v${DISTVERSION}/ + . endif .endif #!defined(_INCLUDE_USES_CMAKE_MK) diff --git a/devel/cmake-core/Makefile b/devel/cmake-core/Makefile index e26de76210d9..4561410066f5 100644 --- a/devel/cmake-core/Makefile +++ b/devel/cmake-core/Makefile @@ -1,6 +1,6 @@ PORTNAME= cmake # Remember to update devel/cmake-doc and devel/cmake-gui as well. -DISTVERSION= 3.24.3 +DISTVERSION= ${_CMAKE_VERSION} CATEGORIES= devel MASTER_SITES= https://github.com/Kitware/CMake/releases/download/v${DISTVERSION}/ \ https://www.cmake.org/files/v${PORTVERSION}/ @@ -19,7 +19,7 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libuv.so:devel/libuv \ librhash.so:security/rhash -USES= compiler:c++11-lang cpe ncurses +USES= cmake:_internal compiler:c++11-lang cpe ncurses CPE_VENDOR= cmake_project HAS_CONFIGURE= yes diff --git a/devel/cmake-doc/Makefile b/devel/cmake-doc/Makefile index c7c2f79f4a1e..4da5ba04af7d 100644 --- a/devel/cmake-doc/Makefile +++ b/devel/cmake-doc/Makefile @@ -1,7 +1,6 @@ PORTNAME= cmake -DISTVERSION= 3.24.3 +DISTVERSION= ${_CMAKE_VERSION} CATEGORIES= devel -MASTER_SITES= https://www.cmake.org/files/v${PORTVERSION:R}/ PKGNAMESUFFIX= -doc MAINTAINER= kde@FreeBSD.org diff --git a/devel/cmake-gui/Makefile b/devel/cmake-gui/Makefile index f3c21bf90e82..8fc18a76114a 100644 --- a/devel/cmake-gui/Makefile +++ b/devel/cmake-gui/Makefile @@ -1,7 +1,6 @@ PORTNAME= cmake -DISTVERSION= 3.24.3 +DISTVERSION= ${_CMAKE_VERSION} CATEGORIES= devel -MASTER_SITES= https://www.cmake.org/files/v${PORTVERSION:R}/ PKGNAMESUFFIX= -gui-${FLAVOR} MAINTAINER= kde@FreeBSD.org diff --git a/devel/cmake-man/Makefile b/devel/cmake-man/Makefile index f20282e33ad1..52cc7adfd9f1 100644 --- a/devel/cmake-man/Makefile +++ b/devel/cmake-man/Makefile @@ -1,8 +1,6 @@ PORTNAME= cmake -DISTVERSION= 3.24.3 +DISTVERSION= ${_CMAKE_VERSION} CATEGORIES= devel -MASTER_SITES= https://github.com/Kitware/CMake/releases/download/v${DISTVERSION}/ \ - https://www.cmake.org/files/v${DISTVERSION}/ PKGNAMESUFFIX= -man MAINTAINER= kde@FreeBSD.org @@ -11,6 +9,8 @@ WWW= https://www.cmake.org/ LICENSE= BSD3CLAUSE +DISTINFO_FILE= ${.CURDIR}/../cmake-core/distinfo + BUILD_DEPENDS= sphinx-build:textproc/py-sphinx USES= cmake diff --git a/devel/cmake/Makefile b/devel/cmake/Makefile index 61c8814a97e2..fe3cc2a9ae1a 100644 --- a/devel/cmake/Makefile +++ b/devel/cmake/Makefile @@ -1,5 +1,5 @@ PORTNAME= cmake -DISTVERSION= 3.24.3 +DISTVERSION= ${_CMAKE_VERSION} CATEGORIES= devel MAINTAINER= kde@FreeBSD.org diff --git a/devel/kms-cmake-utils/Makefile b/devel/kms-cmake-utils/Makefile index 5bb55a8231e7..05010bb4dc08 100644 --- a/devel/kms-cmake-utils/Makefile +++ b/devel/kms-cmake-utils/Makefile @@ -16,6 +16,6 @@ GH_ACCOUNT= Kurento NO_ARCH= yes -PLIST_SUB= CMAKE_VERSION=3.24 +PLIST_SUB= CMAKE_VERSION=${_CMAKE_VERSION:R} .include <bsd.port.mk>