Index: head/Mk/Uses/cmake.mk =================================================================== --- head/Mk/Uses/cmake.mk (revision 424155) +++ head/Mk/Uses/cmake.mk (revision 424156) @@ -1,115 +1,116 @@ # $FreeBSD$ # # Provide support for CMake based projects # # Feature: cmake # Usage: USES=cmake or USES=cmake:ARGS # Valid ARGS: outsource # ARGS description: # outsource perform an out-of-source build # # # Additional variables that affect cmake behaviour: # # User defined variables: # CMAKE_NOCOLOR - Disable colour build output # Default: not set, unless BATCH or PACKAGE_BUILDING is defined # CMAKE_NINJA - Use ninja instead of make(1) # # Variables for ports: # CMAKE_ARGS - Arguments passed to cmake # Default: see below # CMAKE_BUILD_TYPE - Type of build (cmake predefined build types). # Projects may have their own build profiles. # CMake supports the following types: Debug, # Release, RelWithDebInfo and MinSizeRel. # Debug and Release profiles respect system # CFLAGS, RelWithDebInfo and MinSizeRel will set # CFLAGS to "-O2 -g" and "-Os -DNDEBUG". # Default: Release, if WITH_DEBUG is not set, # Debug otherwise # CMAKE_SOURCE_PATH - Path to the source directory # Default: ${WRKSRC} # # MAINTAINER: kde@FreeBSD.org .if !defined(_INCLUDE_USES_CMAKE_MK) _INCLUDE_USES_CMAKE_MK= yes _valid_ARGS= outsource run # Sanity check .for arg in ${cmake_ARGS} . if empty(_valid_ARGS:M${arg}) IGNORE= Incorrect 'USES+= cmake:${cmake_ARGS}' usage: argument [${arg}] is not recognized . endif .endfor CMAKE_BIN= ${LOCALBASE}/bin/cmake BUILD_DEPENDS+= ${CMAKE_BIN}:devel/cmake .if ${cmake_ARGS:Mrun} RUN_DEPENDS+= ${CMAKE_BIN}:devel/cmake .endif .if defined(WITH_DEBUG) CMAKE_BUILD_TYPE?= Debug .else CMAKE_BUILD_TYPE?= Release .endif #defined(WITH_DEBUG) PLIST_SUB+= CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:tl}" .if defined(STRIP) && ${STRIP} != "" && !defined(WITH_DEBUG) INSTALL_TARGET?= install/strip .endif CMAKE_ARGS+= -DCMAKE_C_COMPILER:STRING="${CC}" \ -DCMAKE_CXX_COMPILER:STRING="${CXX}" \ -DCMAKE_C_FLAGS:STRING="${CFLAGS}" \ -DCMAKE_C_FLAGS_DEBUG:STRING="${CFLAGS}" \ -DCMAKE_C_FLAGS_RELEASE:STRING="${CFLAGS}" \ -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \ -DCMAKE_CXX_FLAGS_DEBUG:STRING="${CXXFLAGS}" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="${CXXFLAGS}" \ -DCMAKE_EXE_LINKER_FLAGS:STRING="${LDFLAGS}" \ -DCMAKE_MODULE_LINKER_FLAGS:STRING="${LDFLAGS}" \ -DCMAKE_SHARED_LINKER_FLAGS:STRING="${LDFLAGS}" \ -DCMAKE_INSTALL_PREFIX:PATH="${CMAKE_INSTALL_PREFIX}" \ -DCMAKE_BUILD_TYPE:STRING="${CMAKE_BUILD_TYPE}" \ -DTHREADS_HAVE_PTHREAD_ARG:BOOL=YES \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=YES \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON CMAKE_INSTALL_PREFIX?= ${PREFIX} .if defined(BATCH) || defined(PACKAGE_BUILDING) CMAKE_NOCOLOR= yes .endif .if defined(CMAKE_NOCOLOR) CMAKE_ARGS+= -DCMAKE_COLOR_MAKEFILE:BOOL=OFF .endif .if defined(CMAKE_NINJA) .include "${USESDIR}/ninja.mk" .endif _CMAKE_MSG= "===> Performing in-source build" CMAKE_SOURCE_PATH?= ${WRKSRC} .if ${cmake_ARGS:Moutsource} _CMAKE_MSG= "===> Performing out-of-source build" CONFIGURE_WRKSRC= ${WRKDIR}/.build BUILD_WRKSRC?= ${CONFIGURE_WRKSRC} INSTALL_WRKSRC?= ${CONFIGURE_WRKSRC} +TEST_WRKSRC?= ${CONFIGURE_WRKSRC} .endif .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 #!defined(_INCLUDE_USES_CMAKE_MK) Index: head/Mk/Uses/qmake.mk =================================================================== --- head/Mk/Uses/qmake.mk (revision 424155) +++ head/Mk/Uses/qmake.mk (revision 424156) @@ -1,113 +1,114 @@ # $FreeBSD$ # # Provide support for qmake-based projects # # Feature: qmake # Usage: USES=qmake or USES=qmake:ARGS # Must be used along with 'USE_QT*=#' # Valid ARGS: norecursive outsource # ARGS description: # norecursive Don't pass -recursive argument to qmake binary # outsource Perform an out-of-source build # # # Variables for ports: # QMAKE_ENV - Environment passed to qmake. # Default: ${CONFIGURE_ENV} # QMAKE_ARGS - Arguments passed to qmake. # Default: see below # QMAKE_SOURCE_PATH - Path to qmake project files. # Default: ${WRKSRC} if out-of-source build is # requested, empty otherwise. # # User defined variables: # QMAKE_VERBOSE - Enable verbose configure output. # # MAINTAINER: kde@FreeBSD.org .if !defined(_INCLUDE_USES_QMAKE_MK) _INCLUDE_USES_QMAKE_MK= yes # _QT_VERSION is defined in bsd.qt.mk, only if a correct Qt version was selected # via USE_QT*. .if empty(_QT_VERSION) IGNORE= 'USES+= qmake' must be accompanied with 'USE_QT[${_QT_SUPPORTED:S/ //g}]= #' .endif # _env is a private argument used only by bsd.qt.mk to get variables and custom # targets (currently, only qmake-configure), without qmake being added to the # configure stage. _VALID_ARGS= norecursive outsource _env .for arg in ${qmake_ARGS} . if empty(_VALID_ARGS:M${arg}) IGNORE= Incorrect 'USES+= qmake' usage: argument '${arg}' is not recognized . endif .endfor .if ! ${qmake_ARGS:M_env} USE_QT${_QT_VERSION:R:R}+= qmake_build .endif # QMAKESPEC belongs to bsd.qt.mk. QMAKE_ENV?= ${CONFIGURE_ENV} QMAKE_ARGS+= -spec ${QMAKESPEC} \ QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" \ QMAKE_LINK_C="${CC}" QMAKE_LINK_C_SHLIB="${CC}" \ QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \ QMAKE_CFLAGS="${CFLAGS}" \ QMAKE_CXXFLAGS="${CXXFLAGS}" \ QMAKE_LFLAGS="${LDFLAGS}" \ QMAKE_LIBS="${LIBS}" \ QMAKE_CFLAGS_DEBUG="" \ QMAKE_CFLAGS_RELEASE="" \ QMAKE_CXXFLAGS_DEBUG="" \ QMAKE_CXXFLAGS_RELEASE="" \ PREFIX="${PREFIX}" .if defined(WITH_DEBUG) QMAKE_ARGS+= CONFIG+="debug" \ CONFIG-="release" .else QMAKE_ARGS+= CONFIG+="release" \ CONFIG-="debug separate_debug_info" .endif # defined(WITH_DEBUG) # We set -recursive by default to keep qmake from running in the build stage. .if ! ${qmake_ARGS:Mnorecursive} QMAKE_ARGS+= -recursive .endif .if defined(QMAKE_VERBOSE) QMAKE_ARGS+= -d .endif # _QMAKE_WRKSRC (and _QMAKE, below) are needed to abstract the qmake target and # use it for both qtbase and USES=qmake ports. They are private, not supposed to # be used anywhere else. _QMAKE_WRKSRC?= ${CONFIGURE_WRKSRC} .if ${qmake_ARGS:Moutsource} CONFIGURE_WRKSRC= ${WRKDIR}/.build BUILD_WRKSRC= ${CONFIGURE_WRKSRC} INSTALL_WRKSRC= ${BUILD_WRKSRC} +TEST_WRKSRC= ${BUILD_WRKSRC} QMAKE_SOURCE_PATH?= ${WRKSRC} .else QMAKE_SOURCE_PATH?= # empty .endif .if ! ${qmake_ARGS:M_env} DESTDIRNAME= INSTALL_ROOT .endif # Define a custom target to make it usable by bsd.qt.mk for internal Qt # configuration. qmake-configure: @${MKDIR} ${_QMAKE_WRKSRC} @cd ${_QMAKE_WRKSRC} && \ ${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} ${QMAKE_SOURCE_PATH} .if !target(do-configure) && ! ${qmake_ARGS:M_env} _USES_configure+= 450:qmake-configure .endif .endif # !defined(_INCLUDE_USES_QMAKE_MK) Index: head/devel/caf/Makefile =================================================================== --- head/devel/caf/Makefile (revision 424155) +++ head/devel/caf/Makefile (revision 424156) @@ -1,66 +1,65 @@ # Created by: vanilla@ # $FreeBSD$ PORTNAME= caf PORTVERSION= 0.14.5 CATEGORIES= devel MAINTAINER= vallentin@icir.org COMMENT= C++ actor framework LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_powerpc64= Does not build CXXFLAGS+= -std=c++11 -Wextra -Wall -pedantic LDFLAGS+= -pthread USES= cmake:outsource compiler:c++11-lang USE_LDCONFIG= yes TEST_TARGET= test -TEST_WRKSRC= ${BUILD_WRKSRC} USE_GITHUB= yes GH_ACCOUNT= actor-framework GH_PROJECT= ${GH_ACCOUNT} OPTIONS_DEFINE= DEBUG TEST STATIC OPTIONS_RADIO= LOG_LEVEL OPTIONS_RADIO_LOG_LEVEL= LOG_LEVEL_ERROR LOG_LEVEL_WARN LOG_LEVEL_INFO LOG_LEVEL_DEBUG LOG_LEVEL_TRACE OPTIONS_DEFAULT= TEST OPTIONS_SUB= yes PLIST_SUB+= PORTVERSION=${PORTVERSION} TEST_DESC= Build with unit tests STATIC_DESC= Additionally build static version of library LOG_LEVEL_ERROR= Use log level ERROR for console output LOG_LEVEL_WARN= Use log level WARN for console output LOG_LEVEL_INFO= Use log level INFO for console output LOG_LEVEL_DEBUG= Use log level DEBUG for console output LOG_LEVEL_TRACE= Use log level TRACE for console output # Until we cannot automatically disentangle examples from other binaries, we do # not support an EXAMPLES option. We also disable a few components that are # still quite experimental. CMAKE_ARGS+= -DCAF_NO_EXAMPLES:BOOL=yes -DCAF_NO_OPENCL:BOOL=yes DEBUG_CMAKE_ON= -DCAF_ENABLE_RUNTIME_CHECKS:BOOL=yes STATIC_CMAKE_ON= -DCAF_BUILD_STATIC:BOOL=yes TEST_CMAKE_OFF= -DCAF_NO_UNIT_TESTS:BOOL=yes LOG_LEVEL_ERROR_CMAKE_ON= -DCAF_LOG_LEVEL:STRING=0 LOG_LEVEL_WARN_CMAKE_ON= -DCAF_LOG_LEVEL:STRING=1 LOG_LEVEL_INFO_CMAKE_ON= -DCAF_LOG_LEVEL:STRING=2 LOG_LEVEL_DEBUG_CMAKE_ON= -DCAF_LOG_LEVEL:STRING=3 LOG_LEVEL_TRACE_CMAKE_ON= -DCAF_LOG_LEVEL:STRING=4 .include regression-test: test .if ${OSVERSION} < 1001000 # require clang & libc++ BUILD_DEPENDS+= ${LOCALBASE}/bin/clang34:lang/clang34 \ ${LOCALBASE}/lib/c++/libstdc++.so:devel/libc++ CXXFLAGS+= -stdlib=libc++ -I${LOCALBASE}/include/c++/v1 -L${LOCALBASE}/lib .endif .include Index: head/devel/yajl/Makefile =================================================================== --- head/devel/yajl/Makefile (revision 424155) +++ head/devel/yajl/Makefile (revision 424156) @@ -1,31 +1,30 @@ # $FreeBSD$ PORTNAME= yajl PORTVERSION= 2.1.0 CATEGORIES= devel MAINTAINER= ports@FreeBSD.org COMMENT= Portable JSON parsing and serialization library in ANSI C LICENSE= ISCL USE_GITHUB= yes GH_ACCOUNT= lloyd CFLAGS+= -g -O0 USE_LDCONFIG= yes USES= cmake:outsource PLIST_SUB= VERSION=${PORTVERSION} TEST_TARGET= test test-api -TEST_WRKSRC= ${BUILD_WRKSRC} post-patch: @${REINPLACE_CMD} -e "s,share/pkgconfig,libdata/pkgconfig,g" \ ${WRKSRC}/src/CMakeLists.txt @${REINPLACE_CMD} -e 's|include/yajl|include|' \ ${WRKSRC}/src/yajl.pc.cmake .include Index: head/math/ceres-solver/Makefile =================================================================== --- head/math/ceres-solver/Makefile (revision 424155) +++ head/math/ceres-solver/Makefile (revision 424156) @@ -1,112 +1,110 @@ # $FreeBSD$ PORTNAME= ceres-solver DISTVERSION= 1.12.0rc1 PORTREVISION= 1 CATEGORIES= math MAINTAINER= jbeich@FreeBSD.org COMMENT= Nonlinear least squares minimizer LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= eigen>=3.2.2:math/eigen3 LIB_DEPENDS= libglog.so:devel/glog RUN_DEPENDS:= ${BUILD_DEPENDS:Meigen*} USES= cmake:outsource compiler:${OPENMP}c++11-lib localbase shebangfix USE_GITHUB= yes USE_LDCONFIG= yes SHEBANG_FILES= examples/slam/pose_graph_*/plot_results.py \ scripts/make_docs.py CMAKE_ARGS= -DCXX11=on -DBUILD_SHARED_LIBS=on LDFLAGS+= -Wl,--as-needed # -lccolamd -lcholmod -lrt from suitesparse PLIST_SUB= VERSION=${PORTVERSION:R} EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:S/-solver//} DOCSDIR= ${PREFIX}/share/doc/${PORTNAME:S/-solver//} PORTDOCS= * PORTEXAMPLES= * OPTIONS_DEFINE= CUSTOM_BLAS EXAMPLES DOCS GFLAGS LAPACK OPENMP SCHUR TEST OPTIONS_DEFAULT=CUSTOM_BLAS CXSPARSE NETLIB OPENMP SCHUR SUITESPARSE OPTIONS_RADIO= LAPACK OPTIONS_RADIO_LAPACK= ATLAS GOTOBLAS NETLIB OPENBLAS OPTIONS_GROUP= SPARSE OPTIONS_GROUP_SPARSE= CXSPARSE EIGENSPARSE SUITESPARSE CUSTOM_BLAS_DESC= Handcoded BLAS routines instead of Eigen CUSTOM_BLAS_CMAKE_BOOL= CUSTOM_BLAS DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx DOCS_USES= python:build DOCS_CMAKE_BOOL= BUILD_DOCUMENTATION EXAMPLES_CMAKE_BOOL= BUILD_EXAMPLES EXAMPLES_IMPLIES= GFLAGS GFLAGS_DESC= Google Flags support GFLAGS_LIB_DEPENDS= libgflags.so:devel/gflags GFLAGS_CMAKE_BOOL= GFLAGS OPENMP_USES= compiler:openmp OPENMP_CMAKE_BOOL= OPENMP OPENMP_VARS= OPENMP=gcc- # XXX ports/210337 SCHUR_DESC= Fixed-size schur specializations SCHUR_CMAKE_BOOL= SCHUR_SPECIALIZATIONS # XXX Unbundle googletest/googlemock TEST_CMAKE_BOOL= BUILD_TESTING TEST_TEST_TARGET= test ARGS="-V" TEST_IMPLIES= GFLAGS -# XXX Move to USES=cmake -TEST_VARS= TEST_WRKSRC="${CONFIGURE_WRKSRC}" LAPACK_DESC= Linear Algebra PACKage LAPACK_USES= fortran # LDFLAGS LAPACK_CMAKE_ON= -DBLAS_LIBRARIES="${BLASLIB}" -DLAPACK_LIBRARIES="${LAPACKLIB}" LAPACK_CMAKE_BOOL= LAPACK ATLAS_USES= blaslapack:atlas ATLAS_CMAKE_ON= -DBLA_VENDOR="ATLAS" ATLAS_IMPLIES= LAPACK GOTOBLAS_DESC= Goto blas implementation GOTOBLAS_USES= blaslapack:gotoblas GOTOBLAS_CMAKE_ON= -DBLA_VENDOR="Goto" GOTOBLAS_IMPLIES= LAPACK NETLIB_USES= blaslapack:netlib NETLIB_CMAKE_ON= -DBLA_VENDOR="Generic" NETLIB_IMPLIES= LAPACK OPENBLAS_USES= blaslapack:openblas OPENBLAS_CMAKE_ON= -DBLA_VENDOR="OpenBLAS" OPENBLAS_IMPLIES= LAPACK SPARSE_DESC= Sparse linear algebra library CXSPARSE_DESC= CXSparse support CXSPARSE_LIB_DEPENDS= libcxsparse.so:math/suitesparse CXSPARSE_CMAKE_ON= -DCXSPARSE_INCLUDE_DIR="${LOCALBASE}/include/suitesparse" CXSPARSE_CMAKE_BOOL= CXSPARSE EIGENSPARSE_DESC= Simplicial Cholesky factorization in Eigen EIGENSPARSE_CMAKE_BOOL= EIGENSPARSE EIGENSPARSE_VARS= LICENSE+=LGPL21+ LICENSE_COMB=multi \ LICENSE_FILE_BSD3CLAUSE="${LICENSE_FILE}" SUITESPARSE_DESC= SuiteSparse support SUITESPARSE_LIB_DEPENDS=libspqr.so:math/suitesparse SUITESPARSE_CMAKE_BOOL= SUITESPARSE SUITESPARSE_IMPLIES= LAPACK post-patch-DOCS-on: @${REINPLACE_CMD} -e 's,python,${PYTHON_CMD:T},' \ ${WRKSRC}/docs/source/CMakeLists.txt pre-install-TEST-on: do-test post-install-EXAMPLES-on: # Copy examples (stripped), their source and sample data but not tests programs (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) (cd ${WRKSRC} && ${COPYTREE_SHARE} data ${STAGEDIR}${EXAMPLESDIR}) (cd ${BUILD_WRKSRC} && ${COPYTREE_SHARE} bin ${STAGEDIR}${EXAMPLESDIR}) @${RM} -r ${STAGEDIR}${EXAMPLESDIR}/bin/*_test -@${STRIP_CMD} ${STAGEDIR}${EXAMPLESDIR}/bin/* # may fail for non-root .include Index: head/textproc/cmark/Makefile =================================================================== --- head/textproc/cmark/Makefile (revision 424155) +++ head/textproc/cmark/Makefile (revision 424156) @@ -1,27 +1,26 @@ # Created by: Tobias Kortkamp # $FreeBSD$ PORTNAME= cmark PORTVERSION= 0.26.1 CATEGORIES= textproc MAINTAINER= t@tobik.me COMMENT= CommonMark parsing and rendering library and program in C LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING USE_GITHUB= yes GH_ACCOUNT= jgm USES= cmake:outsource python:3,test USE_LDCONFIG= yes TEST_TARGET= test -TEST_WRKSRC= ${BUILD_WRKSRC} CMAKE_ARGS= -DCMAKE_INSTALL_MANDIR=${MANPREFIX}/man PLIST_SUB= VERSION=${PORTVERSION} .include