summaryrefslogtreecommitdiffstats
path: root/package/pkg-cmake.mk
AgeCommit message (Collapse)Author
2014-10-26package/pkg-cmake.mk: disable colouring the outputSamuel Martin
Because cmake was the only build-system supporting this feature, it has been disabled for the target packages. For consistency, this patch does the same for host package too. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-26package/pkg-cmake.mk: globally disable doc, examples and testsSamuel Martin
This patch globally disables doc, examples and tests build for both the target and host packages. If needed, these configure flags can be overloaded in the per-package *_CONF_OPTS variables. This makes the cmake-package infrastructure even closer to the autotools one. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04package/pkg-cmake.mk: rename _INSTALL_HOST_OPTS -> _INSTALL_OPTSSamuel Martin
This patch renames, consistently with the other package infrastructures, the _INSTALL_OPTS variable for host CMake-based package. As mentioned in [1], no host-cmake-package uses this variable so far; so it is a safe rename. [1] http://lists.busybox.net/pipermail/buildroot/2014-October/107712.html Reported-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04packages: rename FOO_CONF_OPT into FOO_CONF_OPTSThomas De Schampheleire
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_CONF_OPT. Sed command used: find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04packages: rename FOO_INSTALL_HOST_OPT into FOO_INSTALL_HOST_OPTSThomas De Schampheleire
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_INSTALL_HOST_OPT. Sed command used: find * -type f | xargs sed -i 's#_INSTALL_HOST_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04packages: rename FOO_INSTALL_STAGING_OPT into FOO_INSTALL_STAGING_OPTSThomas De Schampheleire
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_INSTALL_STAGING_OPT. Sed command used: find * -type f | xargs sed -i 's#_INSTALL_STAGING_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04packages: rename FOO_INSTALL_TARGET_OPT into FOO_INSTALL_TARGET_OPTSThomas De Schampheleire
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS, make the same change for FOO_INSTALL_TARGET_OPT. Sed command used: find * -type f | xargs sed -i 's#_INSTALL_TARGET_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04packages: rename FOO_MAKE_OPT into FOO_MAKE_OPTSThomas De Schampheleire
While the autotools infrastructure was using FOO_MAKE_OPT, generic packages were typically using FOO_MAKE_OPTS. This inconsistency becomes a problem when a new infrastructure is introduced that wants to make use of FOO_MAKE_OPT(S), and can live alongside either generic-package or autotools-package. The new infrastructure will have to choose between either OPT or OPTS, and thus rule out transparent usage by respectively generic packages or generic packages. An example of such an infrastructure is kconfig-package, which provides kconfig-related make targets. The OPTS variant is more logical, as there are typically multiple options. This patch renames all occurrences of FOO_MAKE_OPT in FOO_MAKE_OPTS. Sed command used: find * -type f | xargs sed -i 's#_MAKE_OPT\>#&S#g' Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-09-28toolchainfile.cmake.in: set linker flagsSamuel Martin
The linker flags are part of the toolchain configuration, so set them for the CMake-based packages. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-28package/pkg-cmake.mk: set the {C, CXX, LD}FLAGS for host packagesSamuel Martin
Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-28package/pkg-cmake.mk: remove the USE_CCACHE CMake flag for host-packageSamuel Martin
The USE_CCACHE CMake flag is only useful when building target package (only the toolchainfile.cmake uses it). Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-24trivial: fix typo 'informations'Thomas De Schampheleire
In English, unlike in French, almost all usages of the word 'information' are uncountable, meaning that 'informations' is invalid. This patch fixes this typo throughout the tree, except in CHANGES and docs/news.html (historic text). Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-24trivial: fix typo 'an host'Thomas De Schampheleire
In English, unlike in French, the 'h' in 'host' is pronounced, meaning that the article should be 'a' instead of 'an'. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-14infra: consistently use double dollar signs inside inner-xxx-targetsThomas De Schampheleire
The inner-xxx-targets in the buildroot package infrastructures are evaluated using $(eval) which causes variable references to be a bit different than in regular make code. As we want most references to be expanded only at the time of the $(eval) we should not use standard references $(VAR) but rather use double dollar signs $$(VAR). This includes function references like $(call), $(subst), etc. The only exception is the reference to pkgdir/pkgname and numbered variables, which are parameters to the inner block: $(1), $(2), etc. This patch introduces consistent usage of double-dollar signs throughout the different inner-xxx-targets blocks. In some cases, this would potentially cause circular references, in particular when the value of HOST_FOO_VAR would be obtained from the corresponding FOO_VAR if HOST_FOO_VAR is not defined. In these cases, a test is added to check for a host package (the only case where such constructions are relevant; these are not circular). Benefits of these changes are: - behavior of variables is now again as expected. For example, setting $(2)_VERSION = virtual in pkg-virtual.mk will effectively work, while originally it would cause very odd results. - The output of 'make printvars' is now much more useful. This target shows the value of all variables, and the expression that led to that value. However, if the expression was coming from an inner-xxx-targets block, and was using single dollar signs, it would show in printvars as VAR = value (value) while if double dollar signs are used, it would effectively look like VAR = value (actual expression) as is intended. This improvement is for example effective for FOO_DL_VERSION, FOO_RAWNAME, FOO_SITE_METHOD and FOO_MAKE. The correctness of this patch has been verified using 'make printvars', 'make manual' and 'make legal-info' before and after applying this patch, and comparing the output. Insight-provided-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-01pkg-cmake.mk: globally drive the CMAKE_BUILD_TYPE flag using BR2_ENABLE_DEBUGSamuel Martin
This CMake flag is usually used to adjust compiler flags (like: -Ox, -g, etc). So, it makes sense for Buildroot to globally drive this CMake flags in the cmake-package infrastructure. However, if a package prefer overriding this default setting, it still can via the <PKG>_CONF_OPT variable. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01pkg-cmake.mk: globally disable BUILD_TESTING flagSamuel Martin
This CMake flag is used to enable tests. It may not disable the test programs from being built, but it controls the test execution. Since we don't care about building the tests (and usually disable them when possible), make sure Buildroot won't try to run them. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01pkg-cmake.mk: enable ccache for cmake packagesSamuel Martin
This patch updates the generated toolchainfile.cmake to use ccache. When toolchainfile.cmake is used inside Buildroot, using ccache during the build is driven by a CMake knob: USE_CCACHE, automatically set by the cmake-package infrastructure and reflecting the BR2_CCACHE value. Since this toolchainefile.cmake file can be used outside Buildroot, and this file also set a couple of things (among these: the sysroot cflag, some pkg-config environment variables), it is important to set the compiler variables as well to keep the consistency of the cross-compilation configuration. So, when it is used outside Buildroot, using ccache for the build is driven by the ccache program availability. Note that using ccache for the build is achieved by setting the *_ARG1 CMake variables to let CMake use ccache without failing in detecting the compiler. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Luca Ceresoli <luca@lucaceresoli.net> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01pkg-cmake.mk: do not hardcode absolute path in toolchainfile.cmakeSamuel Martin
The patch allows sharing or moving the toolchains. This is a step toward making the toolchain/sdk relocatable. Closes #6818 [Peter: reword comment as suggested by Thomas] Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Uwe Strempel <u.strempel@googlemail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01pkg-cmake.mk: refactor the toolchainfile.cmake generationSamuel Martin
This patch introduces a toolchainfile.cmake.in template which is filled by Buildroot. Using a toolchainfile.cmake.in template file allows to avoid overloading quoting and/or escaping and it becomes much more similar to the resulting file. This patch also cleans up the quoting style. [Peter: drop stdin redirect as suggested by Thomas] Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-24pkg-cmake.mk: replace "echo -en" with printfSamuel Martin
printf is POSIX-compliant, echo -e is not. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-16pkg-cmake.mk: add PATH in the configure command environmentSamuel Martin
Because BR_PATH is not exported in the environment beforehand running cmake, it is necessary to add it on the cmake configure command. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-02-14package: add toolchain dependency to every target packageFabio Porcedda
This commit makes the dependency from the target toolchain explicit. This way we can buid from command line a package that use inner-generic-package right after the configuration phase, example: make clean <package-name> Also remove TARGETS_ALL because the only purpose was to add toolchain dependency so it's superseded by this commit. To prevent circular dependency add the new variable <pkgname>_ADD_TOOLCHAIN_DEPENDENCY to avoid adding the toolchain dependency for toolchain packages. This is also a step forward supporting top-level parallel make. Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-05infra: remove unused 4th parameter to package infrastructures (pkgparentdir)Thomas De Schampheleire
The fourth parameter to inner-generic-package is no longer used. Removing this parameters requires renaming all usages of $(5) to $(4), and updating the calls to inner-generic-package (and equivalent for the other package infrastructures). Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-05infra: remove redundant $(call) on pkgdir, pkgname, pkgparentdirThomas De Schampheleire
When calling make 'functions', the $(call) keyword is only needed if the function takes arguments. For pkgdir, pkgname and pkgparentdir this is not the case, so we can remove the call to make things more readable. Suggested-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-28package/pkg-cmake: disable colouring the outputYann E. MORIN
cmake is the only build-system we support that does colour its output, Also, since parallel builds generates intermixed output lines, it makes for ugly-looking output. Just disable cmake colouring globally. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-22pkg-cmake.mk: build shared library when !BR2_PREFER_STATIC_LIBSamuel Martin
CMake offers a couple of places where one can specify how to build a library: - when you create the library target itself, by calling add_library(target [SHARED|STATIC] ...) - or globally, when you configure the build, by setting the BUILD_SHARED_LIBS CMake flag. * if the library target kind of library is specified: it overrides the global setting BUILD_SHARED_LIBS; * else, if the global setting BUILD_SHARED_LIBS is set: it builds according to the BUILD_SHARED_LIBS flags; * otherwise: for linux, it will build static library (like BUILD_SHARED_LIBS default is OFF). So, we can consider the setting BUILD_SHARED_LIBS acts a bit similarly to the autotools ones '--disable-static' and '--enable-shared'. Thus, it makes sense for Buildroot to globally drive to CMake flags in the cmake-package infrastructure. It seems we never trigger this so far because: - either we specified it in the *.mk file (e.g. opencv.mk); - or it was already set per target by the projects' upstreams. Followup patches will clean the remaining BUILD_SHARED_LIBS in the package *.mk files. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-08infra: remove package clean commandsThomas De Schampheleire
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06infra: remove uninstall commandsThomas De Schampheleire
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-09-13package: remove the empty trailing linesJerzy Grzegorek
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-07-22pkg-*targets.mk: factorize and fix $(PKG)_SRCDIR and $(PKG)_BUILDDIR declarationSamuel Martin
Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17Clean up naming of old GENTARGETS infrastructureArnout Vandecappelle (Essensium/Mind)
With the renaming of XXXTARGETS to xxx-package, the names of the pkg-xxx.mk files is inconsistent, as well as some internal names in the documentation. These inconsistencies are cleaned up here. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> ...kages-autotargets.txt => adding-packages-autotools.txt} | 4 ++-- ...packages-cmaketargets.txt => adding-packages-cmake.txt} | 4 ++-- docs/manual/adding-packages-directory.txt | 12 ++++++------ ...packages-gentargets.txt => adding-packages-generic.txt} | 4 ++-- docs/manual/adding-packages.txt | 6 +++--- package/Makefile.in | 6 +++--- package/{pkg-autotargets.mk => pkg-autotools.mk} | 0 package/{pkg-cmaketargets.mk => pkg-cmake.mk} | 0 package/{pkg-gentargets.mk => pkg-generic.mk} | 0 9 files changed, 18 insertions(+), 18 deletions(-) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>