diff options
author | Pjotr Prins | 2017-08-20 09:21:01 +0000 |
---|---|---|
committer | Pjotr Prins | 2017-08-20 09:21:01 +0000 |
commit | e04e6e1d9cac2179bc449c916dc7fa9340dac349 (patch) | |
tree | 321b14efee4151e5800decab99bde5f5a613c637 | |
parent | d564a6f16613985340040cc7ab0ffc371cbce3d1 (diff) | |
download | pangemma-e04e6e1d9cac2179bc449c916dc7fa9340dac349.tar.gz |
Support files
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .travis.yml | 6 | ||||
-rw-r--r-- | INSTALL.md | 2 | ||||
-rw-r--r-- | Makefile | 22 | ||||
-rw-r--r-- | README.md | 10 |
5 files changed, 27 insertions, 14 deletions
@@ -4,6 +4,7 @@ src/Eigen example/output test/output ./output +bin/ doc/manual.aux doc/manual.bbl doc/manual.blg diff --git a/.travis.yml b/.travis.yml index bc033f9..df74fb2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -language: g++ +language: C++ compiler: gcc matrix: include: @@ -36,11 +36,11 @@ script: - $CXX --version # build and test debug version - make CXX=$CXX FORCE_DYNAMIC=1 WITH_OPENBLAS=1 DEBUG=1 -j 4 - - time make check + - time make CXX=$CXX FORCE_DYNAMIC=1 WITH_OPENBLAS=1 DEBUG=1 check - make clean # build and test release version - make CXX=$CXX FORCE_DYNAMIC=1 WITH_OPENBLAS=1 -j 4 - - time make check + - time make CXX=$CXX FORCE_DYNAMIC=1 WITH_OPENBLAS=1 check # build static release (fast-check only) # - make clean # - make CXX=$CXX TRAVIS_CI=1 -j 4 fast-check @@ -69,7 +69,7 @@ work another example overriding optimization and LIB flags (so as to link against gslv1) would be - make EIGEN_INCLUDE_PATH=~/.guix-profile/include/eigen3 WITH_OPENBLAS=1 DEBUG=1 FORCE_DYNAMIC=1 GCC_FLAGS="-O3" LIBS="$HOME/opt/gsl1/lib/libgsl.a $HOME/opt/gsl1/lib/libgslcblas.a -L$HOME/.guix-profile/lib -pthread -llapack -lblas -lz" + make EIGEN_INCLUDE_PATH=~/.guix-profile/include/eigen3 WITH_OPENBLAS=1 DEBUG=1 FORCE_DYNAMIC=1 GCC_FLAGS="-Wall" LIBS="$HOME/opt/gsl1/lib/libgsl.a $HOME/opt/gsl1/lib/libgslcblas.a -L$HOME/.guix-profile/lib -pthread -llapack -lblas -lz" to run GEMMA tests @@ -29,6 +29,7 @@ EIGEN_INCLUDE_PATH=/usr/include/eigen3 BIN_DIR = ./bin SRC_DIR = ./src +TEST_SRC_DIR = ./test/src ifdef CXX CPP = $(CXX) @@ -38,10 +39,10 @@ else endif ifdef DEBUG - CPPFLAGS = -g $(GCC_FLAGS) -std=gnu++11 -isystem/$(EIGEN_INCLUDE_PATH) + CPPFLAGS = -g $(GCC_FLAGS) -std=gnu++11 -isystem/$(EIGEN_INCLUDE_PATH) -Icontrib/catch-1.9.7 -Isrc else # release mode - CPPFLAGS = -DNDEBUG $(GCC_FLAGS) -std=gnu++11 -isystem/$(EIGEN_INCLUDE_PATH) + CPPFLAGS = -DNDEBUG $(GCC_FLAGS) -std=gnu++11 -isystem/$(EIGEN_INCLUDE_PATH) -Icontrib/catch-1.9.7 -Isrc endif ifdef SHOW_COMPILER_WARNINGS @@ -72,7 +73,7 @@ LIBS_MAC_D_LAPACK = -framework Veclib LIBS_LNX_S_LAPACK = /usr/lib/lapack/liblapack.a -lgfortran /usr/lib/atlas-base/libatlas.a /usr/lib/libblas/libblas.a -Wl,--allow-multiple-definition -SOURCES += $(SRC_DIR)/param.cpp $(SRC_DIR)/gemma.cpp $(SRC_DIR)/io.cpp $(SRC_DIR)/lm.cpp $(SRC_DIR)/lmm.cpp $(SRC_DIR)/vc.cpp $(SRC_DIR)/mvlmm.cpp $(SRC_DIR)/bslmm.cpp $(SRC_DIR)/prdt.cpp $(SRC_DIR)/mathfunc.cpp $(SRC_DIR)/gzstream.cpp $(SRC_DIR)/eigenlib.cpp $(SRC_DIR)/ldr.cpp $(SRC_DIR)/bslmmdap.cpp $(SRC_DIR)/logistic.cpp $(SRC_DIR)/varcov.cpp +SOURCES += $(SRC_DIR)/param.cpp $(SRC_DIR)/gemma.cpp $(SRC_DIR)/io.cpp $(SRC_DIR)/lm.cpp $(SRC_DIR)/lmm.cpp $(SRC_DIR)/vc.cpp $(SRC_DIR)/mvlmm.cpp $(SRC_DIR)/bslmm.cpp $(SRC_DIR)/prdt.cpp $(SRC_DIR)/mathfunc.cpp $(SRC_DIR)/gzstream.cpp $(SRC_DIR)/eigenlib.cpp $(SRC_DIR)/ldr.cpp $(SRC_DIR)/bslmmdap.cpp $(SRC_DIR)/logistic.cpp $(SRC_DIR)/varcov.cpp $(SRC_DIR)/debug.cpp HDR += $(SRC_DIR)/param.h $(SRC_DIR)/gemma.h $(SRC_DIR)/io.h $(SRC_DIR)/lm.h $(SRC_DIR)/lmm.h $(SRC_DIR)/vc.h $(SRC_DIR)/mvlmm.h $(SRC_DIR)/bslmm.h $(SRC_DIR)/prdt.h $(SRC_DIR)/mathfunc.h $(SRC_DIR)/gzstream.h $(SRC_DIR)/eigenlib.h ifdef WITH_LAPACK @@ -118,19 +119,28 @@ $(OBJS) : $(HDR) $(CPP) $(CPPFLAGS) $(HEADERS) -c $*.cpp -o $*.o .SUFFIXES : .cpp .c .o $(SUFFIXES) -fast-check: all +unittests: all contrib/catch-1.9.7/catch.hpp $(TEST_SRC_DIR)/unittests-main.o $(TEST_SRC_DIR)/unittests-math.o + $(CPP) $(CPPFLAGS) $(TEST_SRC_DIR)/unittests-main.o $(TEST_SRC_DIR)/unittests-math.o $(filter-out $(SRC_DIR)/main.o, $(OBJS)) $(LIBS) -o ./bin/unittests + ./bin/unittests + +fast-check: all unittests + rm -vf test/output/* cd test && ./dev_test_suite.sh | tee ../dev_test.log grep -q 'success rate: 100%' dev_test.log slow-check: all + rm -vf test/output/* cd test && ./test_suite.sh | tee ../test.log grep -q 'success rate: 100%' test.log check: fast-check slow-check clean: - rm -rf ${SRC_DIR}/*.o ${SRC_DIR}/*~ *~ $(OUTPUT) - rm -f test/output/* + rm -vf $(SRC_DIR)/*.o + rm -vf $(SRC_DIR)/*~ + rm -vf $(TEST_SRC_DIR)/*.o + rm -vf $(OUTPUT) + rm -vf ./bin/unittests DIST_COMMON = COPYING.txt README.txt Makefile DIST_SUBDIRS = src doc example bin @@ -101,16 +101,18 @@ warranty**; without even the implied warranty of **merchantability or fitness for a particular purpose**. See file [LICENSE](LICENSE) for the full text of the license. - - The source code for the [shUnit2](https://github.com/genenetwork/shunit2) unit testing -framework, included in this repository [here](test/shunit2-2.0.3), is +framework, included in this repository [here](contrib/shunit2-2.0.3), is distributed under the -[GNU Lesser General Public License](test/shunit2-2.0.3/doc/LGPL-2.1), +[GNU Lesser General Public License](contrib/shunit2-2.0.3/doc/LGPL-2.1), either version 2.1 of the License, or (at your option) any later revision. +The source code for the included [Catch](http://catch-lib.net) unit +testing framework is distributed under the +[Boost Software Licence version 1](https://github.com/philsquared/Catch/blob/master/LICENSE.txt). + ## What's included This is the current structure of the GEMMA source repository: |