File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -86,6 +86,10 @@ if(FIZZY_FUZZING)
8686 add_link_options (${fuzzing_flags} )
8787endif ()
8888
89+
90+ include (CMakePackageConfigHelpers )
91+ include (GNUInstallDirs )
92+
8993# Public include directory.
9094set (FIZZY_INCLUDE_DIR $<BUILD_INTERFACE :${PROJECT_SOURCE_DIR } /include >$<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >)
9195
@@ -100,5 +104,12 @@ if(FIZZY_TESTING)
100104 add_subdirectory (test )
101105endif ()
102106
107+ set (CMAKE_INSTALL_CMAKEPACKAGEDIR ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME } )
108+
109+ write_basic_package_version_file (fizzyConfigVersion.cmake COMPATIBILITY ExactVersion )
110+ configure_package_config_file (cmake/Config.cmake.in fizzyConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_CMAKEPACKAGEDIR} )
111+
103112install (TARGETS fizzy EXPORT fizzyTargets)
104113install (DIRECTORY include/fizzy TYPE INCLUDE)
114+ install (EXPORT fizzyTargets NAMESPACE fizzy:: DESTINATION ${CMAKE_INSTALL_CMAKEPACKAGEDIR} )
115+ install (FILES ${CMAKE_CURRENT_BINARY_DIR } /fizzyConfig.cmake ${CMAKE_CURRENT_BINARY_DIR } /fizzyConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_CMAKEPACKAGEDIR} )
Original file line number Diff line number Diff line change 1+ @PACKAGE_INIT@
2+
3+ include (${CMAKE_CURRENT_LIST_DIR } /fizzyTargets.cmake )
4+ check_required_components (fizzy )
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ add_subdirectory(utils)
2626add_subdirectory (bench )
2727add_subdirectory (bench_internal )
2828add_subdirectory (compilation )
29+ add_subdirectory (integration )
2930add_subdirectory (smoketests )
3031add_subdirectory (spectests )
3132add_subdirectory (testfloat )
Original file line number Diff line number Diff line change 1+ # Fizzy: A fast WebAssembly interpreter
2+ # Copyright 2020 The Fizzy Authors.
3+ # SPDX-License-Identifier: Apache-2.0
4+
5+ add_subdirectory (cmake_package )
Original file line number Diff line number Diff line change 1+ # Fizzy: A fast WebAssembly interpreter
2+ # Copyright 2020 The Fizzy Authors.
3+ # SPDX-License-Identifier: Apache-2.0
4+
5+ set (INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR } /install)
6+ set (BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR } /build)
7+ set (USE_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR } /use)
8+
9+ file (MAKE_DIRECTORY ${BUILD_DIR} ${USE_BUILD_DIR} )
10+
11+ set (PREFIX ${PROJECT_NAME } /integration/cmake_package)
12+
13+ add_test (
14+ NAME ${PREFIX} /configure
15+ COMMAND ${CMAKE_COMMAND } -G ${CMAKE_GENERATOR } ${PROJECT_SOURCE_DIR } -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}
16+ WORKING_DIRECTORY ${BUILD_DIR}
17+ )
18+
19+ add_test (
20+ NAME ${PREFIX} /install
21+ COMMAND ${CMAKE_COMMAND } --build ${BUILD_DIR} --target install
22+ )
23+ set_tests_properties (${PREFIX} /install PROPERTIES DEPENDS ${PREFIX} /configure)
24+
25+
26+ add_test (
27+ NAME ${PREFIX} /use/configure
28+ COMMAND ${CMAKE_COMMAND } -G ${CMAKE_GENERATOR } ${CMAKE_CURRENT_SOURCE_DIR } /use_fizzy -DCMAKE_PREFIX_PATH=${INSTALL_DIR}
29+ WORKING_DIRECTORY ${USE_BUILD_DIR}
30+ )
31+ set_tests_properties (${PREFIX} /use/configure PROPERTIES DEPENDS ${PREFIX} /install )
32+
33+ add_test (
34+ NAME ${PREFIX} /use/build
35+ COMMAND ${CMAKE_COMMAND } --build ${USE_BUILD_DIR}
36+ )
37+ set_tests_properties (${PREFIX} /use/build PROPERTIES DEPENDS ${PREFIX} /use/configure)
38+
Original file line number Diff line number Diff line change 1+ # Fizzy: A fast WebAssembly interpreter
2+ # Copyright 2020 The Fizzy Authors.
3+ # SPDX-License-Identifier: Apache-2.0
4+
5+ # This example shows how to use the fizzy library from the fizzy CMake package.
6+ cmake_minimum_required (VERSION 3.15 )
7+ project (use_fizzy LANGUAGES CXX )
8+ find_package (fizzy CONFIG REQUIRED )
9+
10+ add_executable (use_fizzy use_fizzy.cpp )
11+ target_link_libraries (use_fizzy PRIVATE fizzy::fizzy )
Original file line number Diff line number Diff line change 1+ // Fizzy: A fast WebAssembly interpreter
2+ // Copyright 2020 The Fizzy Authors.
3+ // SPDX-License-Identifier: Apache-2.0
4+
5+ #include < fizzy/fizzy.h>
6+
7+ int main ()
8+ {
9+ return fizzy_validate (nullptr , 0 ) ? 0 : 1 ;
10+ }
You can’t perform that action at this time.
0 commit comments