@@ -10,6 +10,7 @@ HTMLDIR=$(abspath ./cov/)
1010BROWSER =firefox
1111
1212CC =g++
13+ CONAN_CC =gcc
1314CXXARGS =-I$(abspath ./inc) -g -c -std=c++20 -MMD -fprofile-arcs -ftest-coverage
1415LDARGS =-fprofile-arcs -ftest-coverage
1516
2526 @echo " "
2627 @echo " Some targets accept additional arguments in the form of KEY=VALUE pairs:"
2728 @echo " -> CC (for test and coverage): sets the command for the C++ compiler (g++ by default)"
29+ @echo " -> CONAN_CC (for test and coverage): sets the conan compiler name (gcc by default)"
2830 @echo " -> CXXARGS (for test and coverage): current arguments to the compiler - not recommended to change"
2931 @echo " -> EXTRA_CXX (for test and coverage): additional compilation flags/arguments"
3032 @echo " -> LDARGS (for test and coverage): current arguments to the linker - not recommended to change"
3133 @echo " -> EXTRA_LD (for test and coverage): additional linker flags/arguments"
34+ @echo " -> EXTRA_CONAN (for test and coverage): additional arguments for conan"
3235 @echo " -> BUILD_DIR (for test and coverage): build directory"
3336 @echo " -> BIN_DIR (for test and coverage): binary directory"
3437 @echo " -> TEST_DIR (for test and coverage): test sources directory"
@@ -56,17 +59,17 @@ docs:
5659 $(BROWSER ) $(DOC_DIR ) /html/index.html
5760
5861test :
59- make CC=" $( CC) " OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) " CXXARGS=" $( CXXARGS) $( EXTRA_CXX) -I$( INCL_PATH) " LDARGS=" $( LDARGS) $( EXTRA_LD) " -C $(TEST_DIR ) /..
62+ make CC=" $( CC) " CONAN_CC= " $( CONAN_CC ) " CONARGS= " $( EXTRA_CONAN ) " OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) " CXXARGS=" $( CXXARGS) $( EXTRA_CXX) -I$( INCL_PATH) " LDARGS=" $( LDARGS) $( EXTRA_LD) " -C $(TEST_DIR ) /..
6063
6164test-clang :
62- make CC=" clang++" OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) " CXXARGS=" $( CXXARGS) $( EXTRA_CXX) -I$( INCL_PATH) -stdlib=libc++" LDARGS=" $( LDARGS) $( EXTRA_LD) -stdlib=libc++" -C $(TEST_DIR ) /..
65+ make CC=" clang++" CONAN_CC= " clang " CONARGS= " $( EXTRA_CONAN ) -s compiler.libcxx=libc++ " OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) " CXXARGS=" $( CXXARGS) $( EXTRA_CXX) -I$( INCL_PATH) -stdlib=libc++" LDARGS=" $( LDARGS) $( EXTRA_LD) -stdlib=libc++" -C $(TEST_DIR ) /..
6366
6467clean :
6568 rm -rf $(DOC_DIR ) /*
6669 cd $(TEST_DIR ) /.. && make clean OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) "
6770
6871coverage :
69- make CC=" $( CC) " OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) " CXXARGS=" $( CXXARGS) $( EXTRA_CXX) -I$( INCL_PATH) " LDARGS=" $( LDARGS) $( EXTRA_LD) " -C $(TEST_DIR ) /..
72+ make CC=" $( CC) " CONAN_CC= " $( CONAN_CC ) " OBJD=" $( BUILD_DIR) " BIND=" $( BIN_DIR) " SRCD=" $( TEST_DIR) " CXXARGS=" $( CXXARGS) $( EXTRA_CXX) -I$( INCL_PATH) " LDARGS=" $( LDARGS) $( EXTRA_LD) " -C $(TEST_DIR ) /..
7073 lcov --directory " $( BUILD_DIR) " --output-file coverage.info -c --exclude ' *gmock' --exclude ' *doctest*' --exclude ' /usr/*'
7174 genhtml coverage.info --output-directory " $( HTMLDIR) "
7275 $(BROWSER ) $(HTMLDIR ) /index.html
0 commit comments