From 1d0e95595007d5007b8926f2baa66cfc7d10b904 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 19 Oct 2023 19:56:14 +0300 Subject: [PATCH] Update cmake_install_test, cmake_subdir_test --- test/cmake_install_test/CMakeLists.txt | 7 +++--- test/cmake_install_test/main.cpp | 31 ++++++++++++++++++++++++++ test/cmake_subdir_test/CMakeLists.txt | 29 ++++-------------------- test/cmake_subdir_test/main.cpp | 31 ++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 29 deletions(-) create mode 100644 test/cmake_install_test/main.cpp create mode 100644 test/cmake_subdir_test/main.cpp diff --git a/test/cmake_install_test/CMakeLists.txt b/test/cmake_install_test/CMakeLists.txt index 74116d2..3c85717 100644 --- a/test/cmake_install_test/CMakeLists.txt +++ b/test/cmake_install_test/CMakeLists.txt @@ -7,12 +7,11 @@ cmake_minimum_required(VERSION 3.5...3.16) project(cmake_install_test LANGUAGES CXX) find_package(boost_endian REQUIRED) -find_package(boost_core REQUIRED) -add_executable(quick ../quick.cpp) -target_link_libraries(quick Boost::endian Boost::core) +add_executable(main main.cpp) +target_link_libraries(main Boost::endian) enable_testing() -add_test(quick quick) +add_test(main main) add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/cmake_install_test/main.cpp b/test/cmake_install_test/main.cpp new file mode 100644 index 0000000..5eaed5f --- /dev/null +++ b/test/cmake_install_test/main.cpp @@ -0,0 +1,31 @@ +// Copyright 2019, 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#include +#include + +#define BOOST_TEST_EQ(x, y) assert((x)==(y)) + +int main() +{ + using namespace boost::endian; + + { + little_uint32_t v( 0x01020304 ); + + BOOST_TEST_EQ( v.data()[ 0 ], 0x04 ); + BOOST_TEST_EQ( v.data()[ 1 ], 0x03 ); + BOOST_TEST_EQ( v.data()[ 2 ], 0x02 ); + BOOST_TEST_EQ( v.data()[ 3 ], 0x01 ); + } + + { + big_uint32_t v( 0x01020304 ); + + BOOST_TEST_EQ( v.data()[ 0 ], 0x01 ); + BOOST_TEST_EQ( v.data()[ 1 ], 0x02 ); + BOOST_TEST_EQ( v.data()[ 2 ], 0x03 ); + BOOST_TEST_EQ( v.data()[ 3 ], 0x04 ); + } +} diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt index 9831e4b..e8256f3 100644 --- a/test/cmake_subdir_test/CMakeLists.txt +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -7,33 +7,12 @@ cmake_minimum_required(VERSION 3.5...3.16) project(cmake_subdir_test LANGUAGES CXX) add_subdirectory(../.. boostorg/endian) +add_subdirectory(../../../config boostorg/config) -# boost_add_subdir - -function(boost_add_subdir name) - - add_subdirectory(../../../${name} boostorg/${name}) - -endfunction() - -# primary dependencies - -boost_add_subdir(config) -boost_add_subdir(core) -boost_add_subdir(static_assert) -boost_add_subdir(type_traits) - -# secondary dependencies - -boost_add_subdir(assert) -boost_add_subdir(throw_exception) - -# --target check - -add_executable(quick ../quick.cpp) -target_link_libraries(quick Boost::endian Boost::core) +add_executable(main main.cpp) +target_link_libraries(main Boost::endian) enable_testing() -add_test(quick quick) +add_test(main main) add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $) diff --git a/test/cmake_subdir_test/main.cpp b/test/cmake_subdir_test/main.cpp new file mode 100644 index 0000000..5eaed5f --- /dev/null +++ b/test/cmake_subdir_test/main.cpp @@ -0,0 +1,31 @@ +// Copyright 2019, 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#include +#include + +#define BOOST_TEST_EQ(x, y) assert((x)==(y)) + +int main() +{ + using namespace boost::endian; + + { + little_uint32_t v( 0x01020304 ); + + BOOST_TEST_EQ( v.data()[ 0 ], 0x04 ); + BOOST_TEST_EQ( v.data()[ 1 ], 0x03 ); + BOOST_TEST_EQ( v.data()[ 2 ], 0x02 ); + BOOST_TEST_EQ( v.data()[ 3 ], 0x01 ); + } + + { + big_uint32_t v( 0x01020304 ); + + BOOST_TEST_EQ( v.data()[ 0 ], 0x01 ); + BOOST_TEST_EQ( v.data()[ 1 ], 0x02 ); + BOOST_TEST_EQ( v.data()[ 2 ], 0x03 ); + BOOST_TEST_EQ( v.data()[ 3 ], 0x04 ); + } +}