mirror of
https://github.com/status-im/evmc.git
synced 2025-02-23 16:38:06 +00:00
Merge pull request #292 from ethereum/appveyor-ninja
ci: Use Ninja on AppVeyor
This commit is contained in:
commit
d01eb47add
27
appveyor.yml
27
appveyor.yml
@ -1,4 +1,5 @@
|
||||
version: "{build}"
|
||||
image: Visual Studio 2017
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
@ -9,28 +10,23 @@ configuration:
|
||||
- Release
|
||||
environment:
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
GENERATOR: "Visual Studio 15 2017 Win64"
|
||||
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
GENERATOR: "Visual Studio 14 2015 Win64"
|
||||
|
||||
- VS: 2015
|
||||
- VS: 2017
|
||||
- GO: true
|
||||
cache:
|
||||
- C:\.hunter\_Base\Cache -> cmake\Hunter\init.cmake
|
||||
|
||||
before_build:
|
||||
- ps: >-
|
||||
if ($env:GENERATOR) {
|
||||
if (!(test-path build)) { mkdir build }
|
||||
cd build
|
||||
cmake -Wno-dev -G "$env:GENERATOR" .. -DTOOLCHAIN=cxx17-pic -DEVMC_TESTING=ON -DCMAKE_INSTALL_PREFIX=C:\install
|
||||
}
|
||||
# Add ninja to PATH. This is done for VS2017 by vsdevcmd, but not for VS2015.
|
||||
- set PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
|
||||
- if "%VS%" == "2017" (call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -arch=amd64)
|
||||
- if "%VS%" == "2015" (call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall" x64)
|
||||
- if defined VS cmake -S . -B build -G Ninja -Wno-dev -DCMAKE_INSTALL_PREFIX=C:\install -DTOOLCHAIN=cxx17-pic -DEVMC_TESTING=ON
|
||||
|
||||
build_script:
|
||||
- ps: >-
|
||||
if ($env:GENERATOR) {
|
||||
cmake --build . --config $env:CONFIGURATION --target install
|
||||
if ($env:VS) {
|
||||
cmake --build build --target install
|
||||
}
|
||||
elseif ($env:GO) {
|
||||
$env:PATH = "C:\msys64\mingw64\bin;$env:PATH"
|
||||
@ -53,6 +49,7 @@ build_script:
|
||||
|
||||
after_build:
|
||||
- ps: >-
|
||||
if ($env:GENERATOR) {
|
||||
if ($env:VS) {
|
||||
cd build
|
||||
ctest -C $env:CONFIGURATION -j4 --schedule-random --output-on-failure
|
||||
}
|
||||
|
@ -9,42 +9,44 @@ set(use_instructions_build_dir ${CMAKE_CURRENT_BINARY_DIR}/use_instructions)
|
||||
|
||||
file(MAKE_DIRECTORY ${build_dir} ${use_evmc_build_dir} ${use_instructions_build_dir})
|
||||
|
||||
set(prefix ${PROJECT_NAME}/cmake_packge)
|
||||
|
||||
add_test(
|
||||
NAME cmake_package/configure
|
||||
COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR} -DCMAKE_INSTALL_PREFIX=${install_dir}
|
||||
NAME ${prefix}/configure
|
||||
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${PROJECT_SOURCE_DIR} -DCMAKE_INSTALL_PREFIX=${install_dir}
|
||||
WORKING_DIRECTORY ${build_dir}
|
||||
)
|
||||
|
||||
add_test(
|
||||
NAME cmake_package/install
|
||||
NAME ${prefix}/install
|
||||
COMMAND ${CMAKE_COMMAND} --build ${build_dir} --target install
|
||||
)
|
||||
set_tests_properties(cmake_package/install PROPERTIES DEPENDS cmake_package/configure)
|
||||
set_tests_properties(${prefix}/install PROPERTIES DEPENDS ${prefix}/configure)
|
||||
|
||||
|
||||
add_test(
|
||||
NAME cmake_package/use_evmc/configure
|
||||
COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR}/examples/use_evmc_in_cmake -DCMAKE_PREFIX_PATH=${install_dir}
|
||||
NAME ${prefix}/use_evmc/configure
|
||||
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${PROJECT_SOURCE_DIR}/examples/use_evmc_in_cmake -DCMAKE_PREFIX_PATH=${install_dir}
|
||||
WORKING_DIRECTORY ${use_evmc_build_dir}
|
||||
)
|
||||
set_tests_properties(cmake_package/use_evmc/configure PROPERTIES DEPENDS cmake_package/install)
|
||||
set_tests_properties(${prefix}/use_evmc/configure PROPERTIES DEPENDS ${prefix}/install)
|
||||
|
||||
add_test(
|
||||
NAME cmake_package/use_evmc/build
|
||||
NAME ${prefix}/use_evmc/build
|
||||
COMMAND ${CMAKE_COMMAND} --build ${use_evmc_build_dir}
|
||||
)
|
||||
set_tests_properties(cmake_package/use_evmc/build PROPERTIES DEPENDS cmake_package/use_evmc/configure)
|
||||
set_tests_properties(${prefix}/use_evmc/build PROPERTIES DEPENDS ${prefix}/use_evmc/configure)
|
||||
|
||||
|
||||
add_test(
|
||||
NAME cmake_package/use_instructions/configure
|
||||
COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR}/examples/use_instructions_in_cmake -DCMAKE_PREFIX_PATH=${install_dir}
|
||||
NAME ${prefix}/use_instructions/configure
|
||||
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${PROJECT_SOURCE_DIR}/examples/use_instructions_in_cmake -DCMAKE_PREFIX_PATH=${install_dir}
|
||||
WORKING_DIRECTORY ${use_instructions_build_dir}
|
||||
)
|
||||
set_tests_properties(cmake_package/use_instructions/configure PROPERTIES DEPENDS cmake_package/install)
|
||||
set_tests_properties(${prefix}/use_instructions/configure PROPERTIES DEPENDS ${prefix}/install)
|
||||
|
||||
add_test(
|
||||
NAME cmake_package/use_instructions/build
|
||||
NAME ${prefix}/use_instructions/build
|
||||
COMMAND ${CMAKE_COMMAND} --build ${use_instructions_build_dir}
|
||||
)
|
||||
set_tests_properties(cmake_package/use_instructions/build PROPERTIES DEPENDS cmake_package/use_instructions/configure)
|
||||
set_tests_properties(${prefix}/use_instructions/build PROPERTIES DEPENDS ${prefix}/use_instructions/configure)
|
||||
|
@ -20,4 +20,4 @@ add_executable(
|
||||
target_link_libraries(evmc-unittests PRIVATE loader-mocked evmc-example-vm-static evmc-example-host instructions GTest::gtest GTest::main)
|
||||
set_target_properties(evmc-unittests PROPERTIES RUNTIME_OUTPUT_DIRECTORY ..)
|
||||
|
||||
gtest_add_tests(TARGET evmc-unittests TEST_PREFIX unittests/)
|
||||
gtest_add_tests(TARGET evmc-unittests TEST_PREFIX ${PROJECT_NAME}/unittests/)
|
||||
|
@ -7,31 +7,33 @@ include(GNUInstallDirs)
|
||||
add_executable(evmc-vmtester vmtester.hpp vmtester.cpp tests.cpp)
|
||||
set_target_properties(evmc-vmtester PROPERTIES RUNTIME_OUTPUT_DIRECTORY ..)
|
||||
target_link_libraries(evmc-vmtester PRIVATE evmc loader evmc-example-host GTest::gtest)
|
||||
set_source_files_properties(vmtester.cpp PROPERTIES COMPILE_DEFINITIONS PROJECT_VERSION=\"${PROJECT_VERSION}\")
|
||||
set_source_files_properties(vmtester.cpp PROPERTIES COMPILE_DEFINITIONS PROJECT_VERSION="${PROJECT_VERSION}")
|
||||
|
||||
|
||||
install(TARGETS evmc-vmtester RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
add_test(NAME vmtester/examplevm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-vm>)
|
||||
add_test(NAME vmtester/example_precompiles_vm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-precompiles-vm>)
|
||||
set(prefix ${PROJECT_NAME}/vmtester)
|
||||
|
||||
add_test(NAME vmtester/help COMMAND evmc-vmtester --version --help)
|
||||
set_tests_properties(vmtester/help PROPERTIES PASS_REGULAR_EXPRESSION "Usage:")
|
||||
add_test(NAME ${prefix}/examplevm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-vm>)
|
||||
add_test(NAME ${prefix}/example_precompiles_vm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-precompiles-vm>)
|
||||
|
||||
add_test(NAME vmtester/nonexistingvm COMMAND evmc-vmtester nonexistingvm)
|
||||
set_tests_properties(vmtester/nonexistingvm PROPERTIES PASS_REGULAR_EXPRESSION "[Cc]annot open")
|
||||
add_test(NAME ${prefix}/help COMMAND evmc-vmtester --version --help)
|
||||
set_tests_properties(${prefix}/help PROPERTIES PASS_REGULAR_EXPRESSION "Usage:")
|
||||
|
||||
add_test(NAME vmtester/noarg COMMAND evmc-vmtester)
|
||||
set_tests_properties(vmtester/noarg PROPERTIES PASS_REGULAR_EXPRESSION "is required")
|
||||
add_test(NAME ${prefix}/nonexistingvm COMMAND evmc-vmtester nonexistingvm)
|
||||
set_tests_properties(${prefix}/nonexistingvm PROPERTIES PASS_REGULAR_EXPRESSION "[Cc]annot open")
|
||||
|
||||
add_test(NAME vmtester/too-many-args COMMAND evmc-vmtester a b)
|
||||
set_tests_properties(vmtester/too-many-args PROPERTIES PASS_REGULAR_EXPRESSION "Unexpected")
|
||||
add_test(NAME ${prefix}/noarg COMMAND evmc-vmtester)
|
||||
set_tests_properties(${prefix}/noarg PROPERTIES PASS_REGULAR_EXPRESSION "is required")
|
||||
|
||||
add_test(NAME vmtester/version COMMAND evmc-vmtester --version)
|
||||
set_tests_properties(vmtester/version PROPERTIES PASS_REGULAR_EXPRESSION ${PROJECT_VERSION})
|
||||
add_test(NAME ${prefix}/too-many-args COMMAND evmc-vmtester a b)
|
||||
set_tests_properties(${prefix}/too-many-args PROPERTIES PASS_REGULAR_EXPRESSION "Unexpected")
|
||||
|
||||
add_test(NAME vmtester/unknown-option COMMAND evmc-vmtester --verbose)
|
||||
set_tests_properties(vmtester/unknown-option PROPERTIES PASS_REGULAR_EXPRESSION "Unknown")
|
||||
add_test(NAME ${prefix}/version COMMAND evmc-vmtester --version)
|
||||
set_tests_properties(${prefix}/version PROPERTIES PASS_REGULAR_EXPRESSION ${PROJECT_VERSION})
|
||||
|
||||
add_test(NAME vmtester/option-long-prefix COMMAND evmc-vmtester ---)
|
||||
set_tests_properties(vmtester/option-long-prefix PROPERTIES PASS_REGULAR_EXPRESSION "Unknown")
|
||||
add_test(NAME ${prefix}/unknown-option COMMAND evmc-vmtester --verbose)
|
||||
set_tests_properties(${prefix}/unknown-option PROPERTIES PASS_REGULAR_EXPRESSION "Unknown")
|
||||
|
||||
add_test(NAME ${prefix}/option-long-prefix COMMAND evmc-vmtester ---)
|
||||
set_tests_properties(${prefix}/option-long-prefix PROPERTIES PASS_REGULAR_EXPRESSION "Unknown")
|
||||
|
Loading…
x
Reference in New Issue
Block a user