Sat Aug 23 19:26:07 2014 UTC ()
Add CMAKE_PREFIX_PATH variable that can be used by packages that install
their files in non-standard locations (e.g., qt5).
>From Niclas Rosenvik.


(wiz)
diff -r1.10 -r1.11 pkgsrc/mk/configure/cmake.mk

cvs diff -r1.10 -r1.11 pkgsrc/mk/configure/cmake.mk (expand / switch to unified diff)

--- pkgsrc/mk/configure/cmake.mk 2013/10/08 12:03:53 1.10
+++ pkgsrc/mk/configure/cmake.mk 2014/08/23 19:26:07 1.11
@@ -1,52 +1,64 @@ @@ -1,52 +1,64 @@
1# $NetBSD: cmake.mk,v 1.10 2013/10/08 12:03:53 obache Exp $ 1# $NetBSD: cmake.mk,v 1.11 2014/08/23 19:26:07 wiz Exp $
2# 2#
3# This file handles packages that use CMake as their primary build 3# This file handles packages that use CMake as their primary build
4# system. For more information about CMake, see http://www.cmake.org/. 4# system. For more information about CMake, see http://www.cmake.org/.
5# 5#
6# === Package-settable variables === 6# === Package-settable variables ===
7# 7#
8# CMAKE_DEPENDENCIES_REWRITE 8# CMAKE_DEPENDENCIES_REWRITE
9# A list of files (XXX: variable name) relative to WRKSRC in 9# A list of files (XXX: variable name) relative to WRKSRC in
10# which, after configuring the package, buildlink3 dependencies 10# which, after configuring the package, buildlink3 dependencies
11# are resolved to the real ones. 11# are resolved to the real ones.
12# 12#
13# CMAKE_MODULE_PATH_OVERRIDE 13# CMAKE_MODULE_PATH_OVERRIDE
14# A list of files relative to WRKSRC in which the CMAKE_MODULE_PATH 14# A list of files relative to WRKSRC in which the CMAKE_MODULE_PATH
15# variable is adjusted to include the path from the pkgsrc wrappers. 15# variable is adjusted to include the path from the pkgsrc wrappers.
16# The file ${WRKSRC}/CMakeLists.txt is always appended to this list. 16# The file ${WRKSRC}/CMakeLists.txt is always appended to this list.
17# 17#
 18# CMAKE_PREFIX_PATH
 19# A list of directories to add the CMAKE_PREFIX_PATH cmake variable.
 20# If a package installs it's contents in ${PREFIX}/package instead of
 21# ${PREFIX} and it installs cmake modules there
 22# "CMAKE_PREFIX_PATH += ${PREFIX}/package" should be in it's
 23# buildlink3.mk so that packages that depend on it can find it's
 24# cmake modules if they use cmake to build.
 25#
18 26
19_CMAKE_DIR= ${BUILDLINK_DIR}/cmake-Modules 27_CMAKE_DIR= ${BUILDLINK_DIR}/cmake-Modules
20 28
21CMAKE_ARGS+= -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX} 29CMAKE_ARGS+= -DCMAKE_INSTALL_PREFIX:PATH=${PREFIX}
22CMAKE_ARGS+= -DCMAKE_MODULE_PATH:PATH=${_CMAKE_DIR} 30CMAKE_ARGS+= -DCMAKE_MODULE_PATH:PATH=${_CMAKE_DIR}
23CMAKE_ARGS+= -DCMAKE_INSTALL_LIBDIR:PATH=lib 31CMAKE_ARGS+= -DCMAKE_INSTALL_LIBDIR:PATH=lib
24.if ${OPSYS} != "Darwin" 32.if ${OPSYS} != "Darwin"
25CMAKE_ARGS+= -DCMAKE_SKIP_RPATH:BOOL=TRUE 33CMAKE_ARGS+= -DCMAKE_SKIP_RPATH:BOOL=TRUE
26.else 34.else
27CMAKE_ARGS+= -DCMAKE_SKIP_RPATH:BOOL=FALSE 35CMAKE_ARGS+= -DCMAKE_SKIP_RPATH:BOOL=FALSE
28CMAKE_ARGS+= -DCMAKE_INSTALL_NAME_DIR:PATH=${PREFIX}/lib 36CMAKE_ARGS+= -DCMAKE_INSTALL_NAME_DIR:PATH=${PREFIX}/lib
29CMAKE_ARGS+= -DOPENAL_INCLUDE_DIR:PATH=/System/Library/Frameworks/OpenAL.framework/Headers 37CMAKE_ARGS+= -DOPENAL_INCLUDE_DIR:PATH=/System/Library/Frameworks/OpenAL.framework/Headers
30CMAKE_ARGS+= -DOPENGL_INCLUDE_DIR:PATH=/System/Library/Frameworks/OpenGL.framework/Headers 38CMAKE_ARGS+= -DOPENGL_INCLUDE_DIR:PATH=/System/Library/Frameworks/OpenGL.framework/Headers
31.endif 39.endif
32CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR:PATH=${PKGMANDIR} 40CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR:PATH=${PKGMANDIR}
33.if defined(INFO_FILES) 41.if defined(INFO_FILES)
34CMAKE_ARGS+= -DCMAKE_INSTALL_INFODIR:PATH=${PKGINFODIR} 42CMAKE_ARGS+= -DCMAKE_INSTALL_INFODIR:PATH=${PKGINFODIR}
35.endif 43.endif
36.if defined(USE_PKGLOCALEDIR) && empty(USE_PKGLOCALEDIR:M[nN][oO]) 44.if defined(USE_PKGLOCALEDIR) && empty(USE_PKGLOCALEDIR:M[nN][oO])
37CMAKE_ARGS+= -DCMAKE_INSTALL_LOCALEDIR:PATH=${PKGLOCALEDIR}/locale 45CMAKE_ARGS+= -DCMAKE_INSTALL_LOCALEDIR:PATH=${PKGLOCALEDIR}/locale
38.endif 46.endif
39 47
 48.if defined(CMAKE_PREFIX_PATH)
 49CMAKE_ARGS+=-DCMAKE_PREFIX_PATH:PATH=${CMAKE_PREFIX_PATH:ts;:Q}
 50.endif
 51
40CMAKE_MODULE_PATH_OVERRIDE+= CMakeLists.txt 52CMAKE_MODULE_PATH_OVERRIDE+= CMakeLists.txt
41 53
42### configure-cmake-override modifies the cmake CMakeLists.txt file in 54### configure-cmake-override modifies the cmake CMakeLists.txt file in
43### ${WRKSRC} so that if CMAKE_MODULE_PATH is set we add our Module 55### ${WRKSRC} so that if CMAKE_MODULE_PATH is set we add our Module
44### directory before any others. 56### directory before any others.
45### 57###
46 58
47SUBST_CLASSES+= cmake 59SUBST_CLASSES+= cmake
48SUBST_STAGE.cmake= do-configure-pre-hook 60SUBST_STAGE.cmake= do-configure-pre-hook
49SUBST_MESSAGE.cmake= Fixing CMAKE_MODULE_PATH in CMakeLists.txt 61SUBST_MESSAGE.cmake= Fixing CMAKE_MODULE_PATH in CMakeLists.txt
50SUBST_FILES.cmake= ${CMAKE_MODULE_PATH_OVERRIDE} 62SUBST_FILES.cmake= ${CMAKE_MODULE_PATH_OVERRIDE}
51SUBST_SED.cmake= \ 63SUBST_SED.cmake= \
52 's|set *( *CMAKE_MODULE_PATH |set (CMAKE_MODULE_PATH "${_CMAKE_DIR}" |' 64 's|set *( *CMAKE_MODULE_PATH |set (CMAKE_MODULE_PATH "${_CMAKE_DIR}" |'