From d6970186f916ea561566760a3e567e796ae8f17a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Thu, 30 Aug 2018 18:19:26 +0200 Subject: [PATCH] CMake: Flatten examplevm --- examples/CMakeLists.txt | 16 +++++++++++++++- examples/example.c | 2 +- examples/{examplevm => }/examplevm.c | 0 examples/{examplevm => }/examplevm.h | 0 examples/examplevm/CMakeLists.txt | 22 ---------------------- 5 files changed, 16 insertions(+), 24 deletions(-) rename examples/{examplevm => }/examplevm.c (100%) rename examples/{examplevm => }/examplevm.h (100%) delete mode 100644 examples/examplevm/CMakeLists.txt diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 1dfec39e1..5a140d0e0 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -2,16 +2,30 @@ # Copyright 2018 The EVMC Authors. # Licensed under the Apache License, Version 2.0. See the LICENSE file. +include(GNUInstallDirs) + if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_EXTENSIONS OFF) endif() set(CMAKE_DEBUG_POSTFIX "") + add_library(evmc-example-host STATIC example_host.cpp) target_link_libraries(evmc-example-host PRIVATE evmc) -add_subdirectory(examplevm) + +add_library(evmc-examplevm examplevm.c) +target_link_libraries(evmc-examplevm PRIVATE evmc) +set_source_files_properties(examplevm.c PROPERTIES COMPILE_DEFINITIONS PROJECT_VERSION=${PROJECT_VERSION}) + add_executable(evmc-example example.c) target_link_libraries(evmc-example PRIVATE evmc-example-host evmc-examplevm evmc) + + +install(TARGETS evmc-examplevm + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) \ No newline at end of file diff --git a/examples/example.c b/examples/example.c index 46fbe9312..4bb3e7aec 100644 --- a/examples/example.c +++ b/examples/example.c @@ -4,7 +4,7 @@ */ #include "example_host.h" -#include "examplevm/examplevm.h" +#include "examplevm.h" #include diff --git a/examples/examplevm/examplevm.c b/examples/examplevm.c similarity index 100% rename from examples/examplevm/examplevm.c rename to examples/examplevm.c diff --git a/examples/examplevm/examplevm.h b/examples/examplevm.h similarity index 100% rename from examples/examplevm/examplevm.h rename to examples/examplevm.h diff --git a/examples/examplevm/CMakeLists.txt b/examples/examplevm/CMakeLists.txt deleted file mode 100644 index 5681a2844..000000000 --- a/examples/examplevm/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -# EVMC: Ethereum Client-VM Connector API -# Copyright 2018 The EVMC Authors. -# Licensed under the Apache License, Version 2.0. See the LICENSE file. - -include(GNUInstallDirs) - -add_library(evmc-examplevm examplevm.c) -target_link_libraries(evmc-examplevm PRIVATE evmc) -set_target_properties( - evmc-examplevm PROPERTIES - DEBUG_POSTFIX "" - RUNTIME_OUTPUT_DIRECTORY .. - LIBRARY_OUTPUT_DIRECTORY .. -) -set_source_files_properties(examplevm.c PROPERTIES COMPILE_DEFINITIONS PROJECT_VERSION=${PROJECT_VERSION}) - -install( - TARGETS evmc-examplevm - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -)