Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake: add CPPDAP_USE_EXTERNAL_GTEST_PACKAGE option #124

Merged
merged 1 commit into from Jan 2, 2024

Conversation

topazus
Copy link
Contributor

@topazus topazus commented Dec 27, 2023

  • Add CPPDAP_USE_EXTERNAL_GTEST_PACKAGE option
  • Use enable_testing() and add_test() so that we can run ctest.

With the CPPDAP_USE_EXTERNAL_GTEST_PACKAGE option (ON or OFF), It can successfully build and run the tests.

build log:

❯ rm -rf build && cmake . -B build/ -DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON -DCPPDAP_USE_EXTERNAL_GTEST_P
ACKAGE=ON -DCPPDAP_BUILD_TESTS=ON && cmake --build build/ -j20 && ctest --test-dir build/ -j20
-- The CXX compiler identification is GNU 13.2.1
-- The C compiler identification is GNU 13.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) in CMakeLists.txt:
  A logical block opening on the line

    /home/aurora/fedora-src/cppdap/CMakeLists.txt:63 (if)

  closes on the line

    /home/aurora/fedora-src/cppdap/CMakeLists.txt:69 (endif)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found nlohmann_json: /usr/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.2") 
-- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.14.0")  
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/aurora/fedora-src/cppdap/build
[  7%] Building CXX object CMakeFiles/cppdap.dir/src/null_json_serializer.cpp.o
[  7%] Building CXX object CMakeFiles/cppdap.dir/src/nlohmann_json_serializer.cpp.o
[ 10%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_requests.cpp.o
[ 14%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_response.cpp.o
[ 17%] Building CXX object CMakeFiles/cppdap.dir/src/content_stream.cpp.o
[ 21%] Building CXX object CMakeFiles/cppdap.dir/src/session.cpp.o
[ 25%] Building CXX object CMakeFiles/cppdap.dir/src/io.cpp.o
[ 28%] Building CXX object CMakeFiles/cppdap.dir/src/network.cpp.o
[ 35%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_events.cpp.o
[ 35%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_types.cpp.o
[ 39%] Building CXX object CMakeFiles/cppdap.dir/src/typeof.cpp.o
[ 42%] Building CXX object CMakeFiles/cppdap.dir/src/socket.cpp.o
[ 46%] Building CXX object CMakeFiles/cppdap.dir/src/typeinfo.cpp.o
[ 50%] Linking CXX static library libcppdap.a
[ 50%] Built target cppdap
[ 53%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/json_serializer_test.cpp.o
[ 57%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/rwmutex_test.cpp.o
[ 67%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/network_test.cpp.o
[ 67%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/session_test.cpp.o
[ 67%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/any_test.cpp.o
[ 71%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/chan_test.cpp.o
[ 75%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/socket_test.cpp.o
[ 82%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/content_stream_test.cpp.o
[ 82%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/optional_test.cpp.o
[ 85%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/dap_test.cpp.o
[ 89%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/variant_test.cpp.o
[ 92%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/traits_test.cpp.o
[ 96%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/typeinfo_test.cpp.o
[100%] Linking CXX executable cppdap-unittests
[100%] Built target cppdap-unittests
Internal ctest changing into directory: /home/aurora/fedora-src/cppdap/build
Test project /home/aurora/fedora-src/cppdap/build
    Start 1: cppdap-unittests
1/1 Test #1: cppdap-unittests .................   Passed    6.06 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   6.06 sec

aurora in 🌐 fedora in cppdap on  fix via △ v3.27.7 took 6s 
❯ rm -rf build && cmake . -B build/ -DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON -DCPPDAP_USE_EXTERNAL_GTEST_P
ACKAGE=OFF -DCPPDAP_BUILD_TESTS=ON && cmake --build build/ -j20 && ctest --test-dir build/ -j20
-- The CXX compiler identification is GNU 13.2.1
-- The C compiler identification is GNU 13.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) in CMakeLists.txt:
  A logical block opening on the line

    /home/aurora/fedora-src/cppdap/CMakeLists.txt:63 (if)

  closes on the line

    /home/aurora/fedora-src/cppdap/CMakeLists.txt:69 (endif)

  with mis-matching arguments.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found nlohmann_json: /usr/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.11.2") 
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/aurora/fedora-src/cppdap/build
[  3%] Building CXX object CMakeFiles/cppdap.dir/src/null_json_serializer.cpp.o
[ 10%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_requests.cpp.o
[ 10%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_events.cpp.o
[ 13%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_response.cpp.o
[ 17%] Building CXX object CMakeFiles/cppdap.dir/src/session.cpp.o
[ 20%] Building CXX object CMakeFiles/cppdap.dir/src/content_stream.cpp.o
[ 24%] Building CXX object CMakeFiles/cppdap.dir/src/io.cpp.o
[ 27%] Building CXX object CMakeFiles/cppdap.dir/src/nlohmann_json_serializer.cpp.o
[ 31%] Building CXX object CMakeFiles/cppdap.dir/src/socket.cpp.o
[ 34%] Building CXX object CMakeFiles/cppdap.dir/src/network.cpp.o
[ 37%] Building CXX object CMakeFiles/cppdap.dir/src/protocol_types.cpp.o
[ 41%] Building CXX object CMakeFiles/cppdap.dir/src/typeinfo.cpp.o
[ 44%] Building CXX object CMakeFiles/cppdap.dir/src/typeof.cpp.o
[ 48%] Linking CXX static library libcppdap.a
[ 48%] Built target cppdap
[ 55%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/rwmutex_test.cpp.o
[ 55%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/optional_test.cpp.o
[ 58%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/session_test.cpp.o
[ 62%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/typeinfo_test.cpp.o
[ 65%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/network_test.cpp.o
[ 72%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/any_test.cpp.o
[ 75%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/variant_test.cpp.o
[ 72%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/json_serializer_test.cpp.o
[ 79%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/chan_test.cpp.o
[ 86%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/dap_test.cpp.o
[ 86%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/content_stream_test.cpp.o
[ 89%] Building CXX object CMakeFiles/cppdap-unittests.dir/third_party/googletest/googletest/src/gtest-all.cc.o
[ 93%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/socket_test.cpp.o
[ 96%] Building CXX object CMakeFiles/cppdap-unittests.dir/src/traits_test.cpp.o
In file included from /home/aurora/fedora-src/cppdap/third_party/googletest/googletest/src/gtest-all.cc:42:
/home/aurora/fedora-src/cppdap/third_party/googletest/googletest/src/gtest-death-test.cc: In function ‘bool testing::internal::StackGrowsDown()’:
/home/aurora/fedora-src/cppdap/third_party/googletest/googletest/src/gtest-death-test.cc:1301:24: warning: ‘dummy’ may be used uninitialized [-Wmaybe-uninitialized]
 1301 |   StackLowerThanAddress(&dummy, &result);
      |   ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/home/aurora/fedora-src/cppdap/third_party/googletest/googletest/src/gtest-death-test.cc:1290:13: note: by argument 1 of type ‘const void*’ to ‘void testing::internal::StackLowerThanAddress(const void*, bool*)’ declared here
 1290 | static void StackLowerThanAddress(const void* ptr, bool* result) {
      |             ^~~~~~~~~~~~~~~~~~~~~
/home/aurora/fedora-src/cppdap/third_party/googletest/googletest/src/gtest-death-test.cc:1299:7: note: ‘dummy’ declared here
 1299 |   int dummy;
      |       ^~~~~
[100%] Linking CXX executable cppdap-unittests
[100%] Built target cppdap-unittests
Internal ctest changing into directory: /home/aurora/fedora-src/cppdap/build
Test project /home/aurora/fedora-src/cppdap/build
    Start 1: cppdap-unittests
1/1 Test #1: cppdap-unittests .................   Passed    6.05 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   6.05 sec

Copy link
Member

@ben-clayton ben-clayton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you!

@ben-clayton ben-clayton merged commit ae76a38 into google:main Jan 2, 2024
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants