diff --git a/appveyor.yml b/appveyor.yml index 655f2be2..0c6f6a21 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -11,6 +11,18 @@ image: - Visual Studio 2019 - Visual Studio 2017 - Visual Studio 2015 +environment: + matrix: + - LTC_CC: cl + - LTC_CC: clang-cl +matrix: + exclude: + - image: Visual Studio 2019 + LTC_CC: clang-cl + - image: Visual Studio 2017 + LTC_CC: clang-cl + - image: Visual Studio 2015 + LTC_CC: clang-cl build_script: - cmd: >- if "Visual Studio 2022"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" @@ -18,6 +30,8 @@ build_script: if "Visual Studio 2017"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" if "Visual Studio 2015"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 if "Visual Studio 2015"=="%APPVEYOR_BUILD_WORKER_IMAGE%" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 + if "clang-cl"=="%LTC_CC%" set "PATH=C:\Program Files\LLVM\bin;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin;%PATH%" + if "clang-cl"=="%LTC_CC%" clang-cl --version cd.. git clone https://github.com/libtom/libtommath.git --branch=master cp libtomcrypt\.ci\cmake.bat libtommath\cmake.bat @@ -27,11 +41,11 @@ build_script: cd.. cd libtomcrypt .ci\cmake.bat - nmake -f makefile.msvc all + nmake -f makefile.msvc all CC=%LTC_CC% cp test.exe test-stock.exe cp timing.exe timing-stock.exe nmake -f makefile.msvc clean - nmake -f makefile.msvc all CFLAGS="/Ox /DUSE_LTM /DLTM_DESC /DLTC_NO_ACCEL /I../libtommath" + nmake -f makefile.msvc all CC=%LTC_CC% CFLAGS="/Ox /DUSE_LTM /DLTM_DESC /DLTC_NO_ACCEL /I../libtommath" test_script: - cmd: >- test-stock.exe diff --git a/makefile.msvc b/makefile.msvc index a9ae2b9d..763896cc 100644 --- a/makefile.msvc +++ b/makefile.msvc @@ -287,25 +287,25 @@ $(LIBMAIN_S): $(OBJECTS) #Demo tools/utilities hashsum.exe: demos/hashsum.c tests/common.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/hashsum.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/hashsum.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ crypt.exe: demos/crypt.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/crypt.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/crypt.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ small.exe: demos/small.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/small.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/small.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ tv_gen.exe: demos/tv_gen.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/tv_gen.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/tv_gen.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ sizes.exe: demos/sizes.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/sizes.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/sizes.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ constants.exe: demos/constants.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/constants.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/constants.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ timing.exe: demos/timing.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/timing.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/timing.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ der_print_flexi.exe: demos/der_print_flexi.c $(LIBMAIN_S) - cl $(LTC_CFLAGS) demos/der_print_flexi.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) demos/der_print_flexi.c tests/common.c $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ #Tests test.exe: $(LIBMAIN_S) $(TOBJECTS) - cl $(LTC_CFLAGS) $(TOBJECTS) $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ + $(CC) $(LTC_CFLAGS) $(TOBJECTS) $(LIBMAIN_S) $(LTC_LDFLAGS) /Fe$@ @echo NOTICE: start the tests by launching test.exe ALL_TEST=hashsum.exe crypt.exe small.exe tv_gen.exe sizes.exe constants.exe timing.exe test.exe