mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Change to out-of source build, Update build instructions (#3271)
* update build instructions Usage of "modern" CMake syntax and using specific out of source build. Further add example on how to build in parallel, build a specific target and how to change the compiler. This closes #3236.
This commit is contained in:
parent
34c0e67469
commit
8dd29e0a8a
23 changed files with 75 additions and 379 deletions
14
.gitignore
vendored
14
.gitignore
vendored
|
@ -1,24 +1,12 @@
|
|||
cmake.h
|
||||
commit.h
|
||||
Makefile
|
||||
src/task
|
||||
src/taskd
|
||||
src/libtask.a
|
||||
src/commands/libcommands.a
|
||||
src/tc/libtc.a
|
||||
src/columns/libcolumns.a
|
||||
*~
|
||||
.*.swp
|
||||
Session.vim
|
||||
package-config/osx/binary/task
|
||||
/build/
|
||||
CMakeFiles
|
||||
CMakeCache.txt
|
||||
cmake_install.cmake
|
||||
/build*/
|
||||
install_manifest.txt
|
||||
_CPack_Packages
|
||||
CPackConfig.cmake
|
||||
CPackSourceConfig.cmake
|
||||
patches
|
||||
*.exe
|
||||
tutorials
|
||||
|
|
|
@ -175,11 +175,6 @@ add_custom_target(problems DEPENDS show-problems)
|
|||
|
||||
set (CPACK_SOURCE_GENERATOR "TGZ")
|
||||
set (CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION})
|
||||
set (CPACK_SOURCE_IGNORE_FILES "CMakeCache" "CMakeFiles" "CPackConfig" "CPackSourceConfig"
|
||||
"_CPack_Packages" "cmake_install" "install_manifest" "Makefile$"
|
||||
"test" "package-config" "misc/*" "src/task$" "src/calc$" "performance"
|
||||
"src/libtask.a" "src/columns/libcolumns.a" "src/commands/libcommands.a"
|
||||
"src/tc/libtc.a" "swp$" "src/lex$" "task-.*.tar.gz" "commit.h" "cmake.h$"
|
||||
"\\\\.gitmodules" "src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$"
|
||||
"src/liblibshared.a" "docker-compose.yml" "\\\\.git/")
|
||||
set (CPACK_SOURCE_IGNORE_FILES "build" "test" "misc/*" "performance" "swp$" "src/lex$" "task-.*.tar.gz"
|
||||
"commit.h" "cmake.h$" "\\\\.gitmodules" "src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$" "docker-compose.yml" "\\\\.git/")
|
||||
include (CPack)
|
||||
|
|
|
@ -16,26 +16,46 @@ See the [TaskChampion CONTRIBUTING guide](../../../taskchampion/CONTRIBUTING.md)
|
|||
* Rust 1.64.0 or higher (hint: use https://rustup.rs/ instead of using your system's package manager)
|
||||
|
||||
## Obtain and Build Code:
|
||||
```
|
||||
$ git clone --recursive https://github.com/GothenburgBitFactory/taskwarrior taskwarrior.git
|
||||
$ cd taskwarrior.git
|
||||
$ git checkout develop # Latest dev branch
|
||||
$ git submodule init # This is now done by cmake as a test
|
||||
$ git submodule update # Update the libhsared.git submodule
|
||||
$ cmake -DCMAKE_BUILD_TYPE=debug . # debug or release. Default: neither
|
||||
$ make VERBOSE=1 -j4 # Shows details, builds using 4 jobs
|
||||
# Alternately 'export MAKEFLAGS=-j 4'
|
||||
```
|
||||
The following documentation works with CMake 3.14 and later.
|
||||
Here are the minimal steps to get started, using an out of source build directory and calling the underlying build tool over the CMake interface.
|
||||
See the general CMake man pages or the [cmake-documentation](https://cmake.org/cmake/help/latest/manual/cmake.1.html) for more,
|
||||
|
||||
This will build several executables, but the one you want is probably `src/task`.
|
||||
## Basic Building
|
||||
```sh
|
||||
git clone https://github.com/GothenburgBitFactory/taskwarrior
|
||||
cd taskwarrior
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
cmake --build build
|
||||
```
|
||||
Other possible build types can be `Release` and `Debug`.
|
||||
This will build several executables, but the one you want is probably `src/task`, located in the `build` directory.
|
||||
When you make changes, just run the last line again.
|
||||
|
||||
## Run the Test Suite:
|
||||
### Building a specific target
|
||||
For **only** building the `task` executable, use
|
||||
```sh
|
||||
cmake --build build --target task_executable
|
||||
```
|
||||
|
||||
### Building in parallel
|
||||
If a parallel build is wanted use
|
||||
```sh
|
||||
cmake --build build -j <number-of-jobs>
|
||||
```
|
||||
|
||||
### Building with clang as compiler
|
||||
```sh
|
||||
cmake -S . -B build-clang\
|
||||
-DCMAKE_C_COMPILER=clang\
|
||||
-DCMAKE_CXX_COMPILER=clang++
|
||||
cmake --build build-clang
|
||||
```
|
||||
|
||||
## Run the Test Suite:
|
||||
First switch to the test directory:
|
||||
|
||||
```
|
||||
$ cd test
|
||||
$ cd build/test
|
||||
```
|
||||
Then you can run all tests, showing details, with
|
||||
```
|
||||
|
|
|
@ -30,13 +30,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx && \
|
||||
git submodule init && \
|
||||
git submodule update && \
|
||||
cmake -DCMAKE_BUILD_TYPE=release . && \
|
||||
make -j8
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release . && \
|
||||
cmake --build build -j 8
|
||||
|
||||
FROM base AS runner
|
||||
|
||||
# Install Taskwarrior
|
||||
COPY --from=builder /root/code/src/task /usr/local/bin
|
||||
COPY --from=builder /root/code/build/src/task /usr/local/bin
|
||||
|
||||
# Initialize Taskwarrior
|
||||
RUN ( echo "yes" | task ) || true
|
||||
|
|
|
@ -31,18 +31,18 @@ while (my $line = <$fh>)
|
|||
if ($. % 20 == 19)
|
||||
{
|
||||
my $anno_id = $id - 1;
|
||||
qx{../src/task rc:perf.rc rc.gc=off $anno_id annotate $line};
|
||||
qx{../build/src/task rc:perf.rc rc.gc=off $anno_id annotate $line};
|
||||
print "[$.] task rc:perf.rc rc.gc=off $anno_id annotate $line\n" if $?;
|
||||
}
|
||||
elsif ($. % 4 == 1)
|
||||
{
|
||||
qx{../src/task rc:perf.rc rc.gc=off add $line};
|
||||
qx{../build/src/task rc:perf.rc rc.gc=off add $line};
|
||||
print "[$.] task rc:perf.rc rc.gc=off add $line\n" if $?;
|
||||
++$id;
|
||||
}
|
||||
else
|
||||
{
|
||||
qx{../src/task rc:perf.rc rc.gc=off log $line};
|
||||
qx{../build/src/task rc:perf.rc rc.gc=off log $line};
|
||||
print "[$.] task rc:perf.rc rc.gc=off log $line\n" if $?;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ fi
|
|||
# Allow override.
|
||||
if [[ -z $TASK ]]
|
||||
then
|
||||
TASK=../src/task
|
||||
TASK=../build/src/task
|
||||
fi
|
||||
|
||||
# Run benchmarks.
|
||||
|
|
|
@ -20,13 +20,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
FROM centos:7
|
||||
|
||||
RUN yum update -y
|
||||
RUN yum install python3 git gcc gcc-c++ make libuuid-devel -y
|
||||
RUN yum install epel-release centos-release-scl -y
|
||||
RUN yum install which cmake3 devtoolset-7-gcc* libfaketime curl -y
|
||||
RUN source scl_source enable devtoolset-7; gcc --version; cmake3 --version
|
||||
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN source scl_source enable devtoolset-7; cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN source scl_source enable devtoolset-7; make -j8
|
||||
RUN source scl_source enable devtoolset-7; make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN source scl_source enable devtoolset-7; make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -1,39 +0,0 @@
|
|||
FROM centos:8
|
||||
|
||||
# Fix missing repo metadata
|
||||
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
|
||||
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python3 git gcc gcc-c++ make libuuid-devel glibc-langpack-en -y
|
||||
RUN dnf install epel-release -y
|
||||
RUN dnf install which cmake libfaketime curl -y
|
||||
RUN gcc --version; cmake --version
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
FROM fedora:32
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -1,32 +0,0 @@
|
|||
FROM fedora:33
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -1,32 +0,0 @@
|
|||
FROM fedora:34
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -1,32 +0,0 @@
|
|||
FROM fedora:35
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python3 git gcc gcc-c++ cmake make libuuid-devel libfaketime glibc-langpack-en curl -y
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -20,13 +20,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -20,13 +20,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
# name the portage image
|
||||
FROM gentoo/portage:latest as portage
|
||||
|
||||
# image is based on stage3-x86
|
||||
FROM gentoo/stage3-x86:latest
|
||||
|
||||
# copy the entire portage volume in
|
||||
COPY --from=portage /usr/portage /usr/portage
|
||||
|
||||
RUN emerge -qv sys-libs/readline:0 sys-apps/util-linux dev-util/cmake sys-devel/make dev-vcs/git sys-libs/libfaketime net-misc/curl
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -19,13 +19,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential cmake git uuid-dev faketime locales python3 curl
|
||||
|
||||
# Setup language environment
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -1,33 +0,0 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential cmake git uuid-dev faketime locales python3 curl
|
||||
|
||||
# Setup language environment
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Add source directory
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
|
||||
# Setup Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
||||
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
|
||||
|
||||
# Setup taskwarrior
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
|
@ -21,13 +21,13 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
|
|||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN make install
|
||||
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
|
||||
RUN cmake --build build -j 8
|
||||
RUN cmake --install build
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
WORKDIR /root/code/build/test
|
||||
RUN make -j8
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue