Skip to content
Snippets Groups Projects
Commit 4c02d8e2 authored by William Salmon's avatar William Salmon
Browse files

Add conf-root variable to builds

Adding the conf-root variable makes creating out of source builds
slightly easier.
parent 5127c59a
No related branches found
No related tags found
No related merge requests found
......@@ -52,6 +52,12 @@ variables:
# normally staged
build-root: /buildstream/%{project-name}/%{element-name}
# now that we have build-root we can define some more helpful
# vars for build elements.
source-directory: .
source-subdir: .
conf-root: "%{source-directory}/%{source-subdir}/"
# Indicates the build installation directory in the sandbox
install-root: /buildstream-install
......
......@@ -6,11 +6,11 @@ variables:
export NOCONFIGURE=1;
if [ -x %{conf-cmd} ]; then true;
elif [ -x autogen ]; then ./autogen;
elif [ -x autogen.sh ]; then ./autogen.sh;
elif [ -x bootstrap ]; then ./bootstrap;
elif [ -x bootstrap.sh ]; then ./bootstrap.sh;
else autoreconf -ivf;
elif [ -x %{conf-root}/autogen ]; then %{conf-root}/./autogen;
elif [ -x %{conf-root}/autogen.sh ]; then %{conf-root}/./autogen.sh;
elif [ -x %{conf-root}/bootstrap ]; then %{conf-root}/./bootstrap;
elif [ -x %{conf-root}/bootstrap.sh ]; then %{conf-root}/./bootstrap.sh;
else autoreconf -ivf %{conf-root};
fi
# Project-wide extra arguments to be passed to `configure`
......@@ -22,7 +22,8 @@ variables:
# For backwards compatibility only, do not use.
conf-extra: ''
conf-cmd: ./configure
conf-cmd: "%{conf-root}./configure"
conf-args: |
--prefix=%{prefix} \
......
......@@ -23,7 +23,7 @@ variables:
cmake: |
cmake -B%{build-dir} -H. -G"%{generator}" %{cmake-args}
cmake -B%{build-dir} -H"%{conf-root}" -G"%{generator}" %{cmake-args}
make: cmake --build %{build-dir} -- ${JOBS}
make-install: env DESTDIR="%{install-root}" cmake --build %{build-dir} --target install
......
......@@ -19,7 +19,7 @@ DATA_DIR = os.path.join(
@pytest.mark.parametrize("target,varname,expected", [
('autotools.bst', 'make-install', "make -j1 DESTDIR=\"/buildstream-install\" install"),
('cmake.bst', 'cmake',
"cmake -B_builddir -H. -G\"Unix Makefiles\" -DCMAKE_INSTALL_PREFIX:PATH=\"/usr\" \\\n" +
"cmake -B_builddir -H\"././\" -G\"Unix Makefiles\" " + "-DCMAKE_INSTALL_PREFIX:PATH=\"/usr\" \\\n" +
"-DCMAKE_INSTALL_LIBDIR=lib "),
('distutils.bst', 'python-install',
"python3 setup.py install --prefix \"/usr\" \\\n" +
......@@ -45,7 +45,7 @@ def test_defaults(cli, datafiles, tmpdir, target, varname, expected):
@pytest.mark.parametrize("target,varname,expected", [
('autotools.bst', 'make-install', "make -j1 DESTDIR=\"/custom/install/root\" install"),
('cmake.bst', 'cmake',
"cmake -B_builddir -H. -G\"Ninja\" -DCMAKE_INSTALL_PREFIX:PATH=\"/opt\" \\\n" +
"cmake -B_builddir -H\"././\" -G\"Ninja\" " + "-DCMAKE_INSTALL_PREFIX:PATH=\"/opt\" \\\n" +
"-DCMAKE_INSTALL_LIBDIR=lib "),
('distutils.bst', 'python-install',
"python3 setup.py install --prefix \"/opt\" \\\n" +
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment