1. 30 Mar, 2021 1 commit
    • adridg's avatar
      Add support for USES=cmake:testing · 167a96f2
      adridg authored
      CMake-based ports have a "standard" way of controlling whether
      testing should be built, by passing -DBUILD_TESTING=ON at the
      configure stage (with some footnotes). Add a :testing modifier
      for USES=cmake that enables a boilerplate do-test target that
      rebuilds with testing enabled, and then runs the tests.
      
      Individual ports need to buy in to this explicitly (because
      tests might not be non-destructive).
      
      Submitted and explained well by yuri@
      
      PR:		249024
      Submitted by:	yuri
      167a96f2
  2. 25 Dec, 2018 1 commit
    • tcberner's avatar
      Change cmake default behaviour to outsource. · 49081780
      tcberner authored
      Ports that build out of source now simply can use "USES=cmake"
      instead of "USES=cmake:outsource". Ports that fail to build
      out of source now need to specify "USES=cmake:insource".
      
      I tried to only set insource where explictely needed.
      
      PR:		232038
      Exp-run by:	antoine
      49081780
  3. 31 Dec, 2017 1 commit
    • tcberner's avatar
      Add CMAKE_ON and CMAKE_OFF to cmake.mk · 7d25ef3c
      tcberner authored
        USES=cmake now supports two additional list variables:
          * CMAKE_ON  : List of variables to turn on
          * CMAKE_OFF : List of variables to turn off
        This can be used as a shortcut to append these to CMAKE_ARGS.
      
        For example ports that previously set
          CMAKE_ARGS=		-DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE
        can now set this as
          CMAKE_ON=		VAR1 VAR2
          CMAKE_OFF=		VAR3
      
      Reviewed by:	adridg, rakuco, mat
      Differential Revision:	https://reviews.freebsd.org/D13636
      7d25ef3c
  4. 25 Jun, 2017 1 commit
    • tcberner's avatar
      Make ninja opt-out in cmake.mk · 19b60f63
      tcberner authored
      Using ninja instead of make (1) can lead to significant speed ups while building.
      Therefore switch from having the ninja generator opt-in to having it opt-out.
      
      Previously cmake-ports that wanted to use ninja could set
          CMAKE_NINJA=yes
      now, ports that do not work with ninja can set
          cmake:<existing args>,noninja
      Note, that needing this should be an exception and most often points to a broken
      cmake of the port.
      
      The ports using cmake were modified
      * removed USES=gmake, if ninja is used
      * removed MAKE_ARGS, if ninja is used
      * added the cmake-argument noninja if necessary
      
      PR:		219629
      PR:		213331
      Exp-run by:	antoine
      Reviewed by:	rakuco
      Differential Revision:	https://reviews.freebsd.org/D10748
      19b60f63
  5. 18 Oct, 2016 1 commit
  6. 09 Sep, 2016 1 commit
    • amdmi3's avatar
      Most commonly used build systems support silent builds, when they · 6e502d51
      amdmi3 authored
      hide actual commands executed and only show short summary line (like
      "CC foo.c"). CMake and ninja enable this by default, some autotools
      using ports do as well. This is unacceptable because we need complete
      build logs at any time, so we now switch to verbose build logs
      unconditionally. Note that this change deliberately affects ALL
      builds and not only package builds on cluster, because we need to
      be sure that user experiencing failure can always provide informative
      build log regardless of settings and without rerunning the build.
      
      Change summary:
      
      - Always do verbose builds for cmake, ninja and GNU configure (the
        latter includes check if --disable-silent-rules is actually supported
        by the configure script; there are isolated cases when it's not true)
      - Remove CMAKE_VERBOSE, NINJA_VERBOSE and
        CONFIGURE_ARGS=--disable-silent-rules from all ports which set them
        for this is no longer needed
      - Revert hacks for --disable-silent-rules support priorly committed
        to biology/ncbi-blast+ and net-p2p/mldonkey - no longer needed as well
      
      Submitted by:	amdmi3
      Reviewed by:	mat
      Exp-run by:	antoine
      Approved by:	portmgr (mat, antoine)
      Differential Revision:	D7534
      6e502d51
  7. 27 Mar, 2016 1 commit
  8. 18 Jan, 2016 1 commit
  9. 15 Oct, 2015 1 commit
  10. 14 Oct, 2015 1 commit
  11. 18 Aug, 2015 1 commit
    • rakuco's avatar
      Uses/cmake.mk: Replace CMAKE_ENV with CONFIGURE_ENV. · 4f4c3f48
      rakuco authored
      Instead of defining a variable that is almost always based on CONFIGURE_ENV,
      just use CONFIGURE_ENV directly.
      
      This also matches the behavior of other ports that do not use autotools (so
      most ports can just worry about CONFIGURE_ENV). Additionally, the fact that
      we do not use ?= means we do not have problems if another file in Uses/
      needs to set CONFIGURE_ENV (with CMAKE_ENV, the order of the arguments to
      USES would matter).
      
      Ports which set CMAKE_ENV have been adjusted accordingly. In most cases,
      CMAKE_ENV was just replaced with CONFIGURE_ENV, the exceptions being:
      * databases/sqliteman: CMAKE_ENV line removed; setting QMAKESPEC there has
                             no effect on the build system.
      * devel/freeocl: CMAKE_ENV line removed; FREEOCL_CXX_COMPILER is already
                       retrieved from the CMAKE_CXX_COMPILER variable in the build
                       system.
      * graphics/openimageio: CMAKE_ENV line removed; setting Qt variables there
                              has no effect on the build system.
      
      Reviewed by:		makc
      Differential Revision:	https://reviews.freebsd.org/D3403
      4f4c3f48
  12. 18 Dec, 2014 1 commit
  13. 02 Oct, 2014 1 commit
  14. 28 Sep, 2014 1 commit
    • tijl's avatar
      Change the way USES is handled: · e7dc3095
      tijl authored
      - Loop over USES twice, once to define all *_ARGS variables and once to
        include Uses/*.mk.  This allows all Uses/*.mk to examine arguments given
        to other USES entries.
      - Always define *_ARGS (possibly empty) and replace commas with spaces.
      
      Similar for _USES_POST.
      
      Adjust all Uses/*.mk:
      - defined(u_ARGS) becomes !empty(u_ARGS)
      - Eliminate helper variables like _*_ARGS=${*_ARGS:C/,/ /g}
      - Some Uses/*.mk used ":" as argument separator instead of ",", but no port
        used this form
      - Uses/cran.mk: remove unused variable VALID_ARGS and USES+=fortran which
        has no effect
      - Uses/twisted.mk: simplify handling of the case where neither "build" nor
        "run" arguments have been specified
      
      PR:		193931
      Exp-run by:	antoine
      Approved by:	portmgr (antoine)
      e7dc3095
  15. 05 May, 2014 1 commit
    • bapt's avatar
      Convert all :U to :tu and :L to :tl · 1fa39fd2
      bapt authored
      Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
      replacement for :U and :L (which has been marked as deprecated)
      
      bmake which is the default on FreeBSD 10+ only support by default
      :tu/:tl a hack has been added at the time to support :U and :L to ease
      migration. This hack is now not necessary anymore
      
      Note that this makes the ports tree incompatible with make(1) from
      FreeBSD 8.3 or earlier
      
      With hat:	portmgr
      1fa39fd2
  16. 11 Apr, 2014 1 commit
  17. 15 Mar, 2014 1 commit
  18. 08 Feb, 2014 1 commit
  19. 22 Dec, 2013 1 commit
  20. 19 Mar, 2013 1 commit
    • makc's avatar
      Convert USE_CMAKE to USES macro: · 68a9961e
      makc authored
       Usage:		USES= cmake or USES= cmake:ARGS
       Valid ARGS:	outsource (perform an out-of-source build)
      
      Tested by:	exp-run (bapt)
      Approved by:	portmgr (bapt)
      68a9961e