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}"
|
version: "{build}"
|
||||||
|
image: Visual Studio 2017
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
@ -9,28 +10,23 @@ configuration:
|
|||||||
- Release
|
- Release
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
- VS: 2015
|
||||||
GENERATOR: "Visual Studio 15 2017 Win64"
|
- VS: 2017
|
||||||
|
|
||||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
||||||
GENERATOR: "Visual Studio 14 2015 Win64"
|
|
||||||
|
|
||||||
- GO: true
|
- GO: true
|
||||||
cache:
|
cache:
|
||||||
- C:\.hunter\_Base\Cache -> cmake\Hunter\init.cmake
|
- C:\.hunter\_Base\Cache -> cmake\Hunter\init.cmake
|
||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
- ps: >-
|
# Add ninja to PATH. This is done for VS2017 by vsdevcmd, but not for VS2015.
|
||||||
if ($env:GENERATOR) {
|
- set PATH=%PATH%;%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
|
||||||
if (!(test-path build)) { mkdir build }
|
- if "%VS%" == "2017" (call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -arch=amd64)
|
||||||
cd build
|
- if "%VS%" == "2015" (call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall" x64)
|
||||||
cmake -Wno-dev -G "$env:GENERATOR" .. -DTOOLCHAIN=cxx17-pic -DEVMC_TESTING=ON -DCMAKE_INSTALL_PREFIX=C:\install
|
- if defined VS cmake -S . -B build -G Ninja -Wno-dev -DCMAKE_INSTALL_PREFIX=C:\install -DTOOLCHAIN=cxx17-pic -DEVMC_TESTING=ON
|
||||||
}
|
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- ps: >-
|
- ps: >-
|
||||||
if ($env:GENERATOR) {
|
if ($env:VS) {
|
||||||
cmake --build . --config $env:CONFIGURATION --target install
|
cmake --build build --target install
|
||||||
}
|
}
|
||||||
elseif ($env:GO) {
|
elseif ($env:GO) {
|
||||||
$env:PATH = "C:\msys64\mingw64\bin;$env:PATH"
|
$env:PATH = "C:\msys64\mingw64\bin;$env:PATH"
|
||||||
@ -53,6 +49,7 @@ build_script:
|
|||||||
|
|
||||||
after_build:
|
after_build:
|
||||||
- ps: >-
|
- ps: >-
|
||||||
if ($env:GENERATOR) {
|
if ($env:VS) {
|
||||||
|
cd build
|
||||||
ctest -C $env:CONFIGURATION -j4 --schedule-random --output-on-failure
|
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})
|
file(MAKE_DIRECTORY ${build_dir} ${use_evmc_build_dir} ${use_instructions_build_dir})
|
||||||
|
|
||||||
|
set(prefix ${PROJECT_NAME}/cmake_packge)
|
||||||
|
|
||||||
add_test(
|
add_test(
|
||||||
NAME cmake_package/configure
|
NAME ${prefix}/configure
|
||||||
COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR} -DCMAKE_INSTALL_PREFIX=${install_dir}
|
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${PROJECT_SOURCE_DIR} -DCMAKE_INSTALL_PREFIX=${install_dir}
|
||||||
WORKING_DIRECTORY ${build_dir}
|
WORKING_DIRECTORY ${build_dir}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_test(
|
add_test(
|
||||||
NAME cmake_package/install
|
NAME ${prefix}/install
|
||||||
COMMAND ${CMAKE_COMMAND} --build ${build_dir} --target 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(
|
add_test(
|
||||||
NAME cmake_package/use_evmc/configure
|
NAME ${prefix}/use_evmc/configure
|
||||||
COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR}/examples/use_evmc_in_cmake -DCMAKE_PREFIX_PATH=${install_dir}
|
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}
|
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(
|
add_test(
|
||||||
NAME cmake_package/use_evmc/build
|
NAME ${prefix}/use_evmc/build
|
||||||
COMMAND ${CMAKE_COMMAND} --build ${use_evmc_build_dir}
|
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(
|
add_test(
|
||||||
NAME cmake_package/use_instructions/configure
|
NAME ${prefix}/use_instructions/configure
|
||||||
COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR}/examples/use_instructions_in_cmake -DCMAKE_PREFIX_PATH=${install_dir}
|
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}
|
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(
|
add_test(
|
||||||
NAME cmake_package/use_instructions/build
|
NAME ${prefix}/use_instructions/build
|
||||||
COMMAND ${CMAKE_COMMAND} --build ${use_instructions_build_dir}
|
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)
|
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 ..)
|
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)
|
add_executable(evmc-vmtester vmtester.hpp vmtester.cpp tests.cpp)
|
||||||
set_target_properties(evmc-vmtester PROPERTIES RUNTIME_OUTPUT_DIRECTORY ..)
|
set_target_properties(evmc-vmtester PROPERTIES RUNTIME_OUTPUT_DIRECTORY ..)
|
||||||
target_link_libraries(evmc-vmtester PRIVATE evmc loader evmc-example-host GTest::gtest)
|
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})
|
install(TARGETS evmc-vmtester RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
|
||||||
add_test(NAME vmtester/examplevm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-vm>)
|
set(prefix ${PROJECT_NAME}/vmtester)
|
||||||
add_test(NAME vmtester/example_precompiles_vm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-precompiles-vm>)
|
|
||||||
|
|
||||||
add_test(NAME vmtester/help COMMAND evmc-vmtester --version --help)
|
add_test(NAME ${prefix}/examplevm COMMAND evmc-vmtester $<TARGET_FILE:evmc-example-vm>)
|
||||||
set_tests_properties(vmtester/help PROPERTIES PASS_REGULAR_EXPRESSION "Usage:")
|
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)
|
add_test(NAME ${prefix}/help COMMAND evmc-vmtester --version --help)
|
||||||
set_tests_properties(vmtester/nonexistingvm PROPERTIES PASS_REGULAR_EXPRESSION "[Cc]annot open")
|
set_tests_properties(${prefix}/help PROPERTIES PASS_REGULAR_EXPRESSION "Usage:")
|
||||||
|
|
||||||
add_test(NAME vmtester/noarg COMMAND evmc-vmtester)
|
add_test(NAME ${prefix}/nonexistingvm COMMAND evmc-vmtester nonexistingvm)
|
||||||
set_tests_properties(vmtester/noarg PROPERTIES PASS_REGULAR_EXPRESSION "is required")
|
set_tests_properties(${prefix}/nonexistingvm PROPERTIES PASS_REGULAR_EXPRESSION "[Cc]annot open")
|
||||||
|
|
||||||
add_test(NAME vmtester/too-many-args COMMAND evmc-vmtester a b)
|
add_test(NAME ${prefix}/noarg COMMAND evmc-vmtester)
|
||||||
set_tests_properties(vmtester/too-many-args PROPERTIES PASS_REGULAR_EXPRESSION "Unexpected")
|
set_tests_properties(${prefix}/noarg PROPERTIES PASS_REGULAR_EXPRESSION "is required")
|
||||||
|
|
||||||
add_test(NAME vmtester/version COMMAND evmc-vmtester --version)
|
add_test(NAME ${prefix}/too-many-args COMMAND evmc-vmtester a b)
|
||||||
set_tests_properties(vmtester/version PROPERTIES PASS_REGULAR_EXPRESSION ${PROJECT_VERSION})
|
set_tests_properties(${prefix}/too-many-args PROPERTIES PASS_REGULAR_EXPRESSION "Unexpected")
|
||||||
|
|
||||||
add_test(NAME vmtester/unknown-option COMMAND evmc-vmtester --verbose)
|
add_test(NAME ${prefix}/version COMMAND evmc-vmtester --version)
|
||||||
set_tests_properties(vmtester/unknown-option PROPERTIES PASS_REGULAR_EXPRESSION "Unknown")
|
set_tests_properties(${prefix}/version PROPERTIES PASS_REGULAR_EXPRESSION ${PROJECT_VERSION})
|
||||||
|
|
||||||
add_test(NAME vmtester/option-long-prefix COMMAND evmc-vmtester ---)
|
add_test(NAME ${prefix}/unknown-option COMMAND evmc-vmtester --verbose)
|
||||||
set_tests_properties(vmtester/option-long-prefix PROPERTIES PASS_REGULAR_EXPRESSION "Unknown")
|
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