EDIT2: इन दिनों Catch2 अपनी ही cmake मॉड्यूल हां, तो बाद स्थापित स्थापित करता है, यह आप अपने CMake परियोजना का उपयोग कर पकड़ने पर निर्भर कर सकते हैं
include(GNUInstallDirs)
find_package(Catch2 REQUIRED)
के साथ एक और cmake परियोजना में इस्तेमाल किया जा सकता है find_package
। इस तरह आप खुद को पकड़ना शामिल नहीं करते हैं और इसे स्वतंत्र रूप से अपडेट कर सकते हैं। प्रक्रिया को this recipe में समझाया गया है, इस मामले को छोड़कर आपको पुस्तकालयों से निपटने की आवश्यकता नहीं है, क्योंकि कैच केवल हेडर है।
CMakeLists.txt (यह मानते हुए आप जगह में अपने FindCatch.cmake [नीचे देखें] और my_tests.cpp में अपने परीक्षण):
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/")
find_package(Catch REQUIRED)
include_directories(${CATCH_INCLUDE_DIRS})
add_executable(my_tests my_tests.cpp)
add_test(NAME MyTests COMMAND my_tests)
एक उदाहरण my_tests।सीपीपी:
#define CATCH_CONFIG_MAIN // This tells Catch to provide a main()
#include "catch/catch.hpp"
#include "stuff_to_test.h"
TEST_CASE("A test case")
{
...
}
...
आप cmake/Modules
के तहत, अपने प्रोजेक्ट में कोई FindCatch.cmake मॉड्यूल जोड़ने की आवश्यकता होगी। FindCatch.cmake के लिए वेब पर खोजें।
अंत में, आप make test
के साथ परीक्षण बना सकते हैं और चला सकते हैं।
संपादित करें: इसके अलावा, आप, निर्माण के दौरान Git से cmake डाउनलोड पकड़ने हो सकता है निम्न these instructions पकड़ने के GitHub से। यद्यपि इसके लिए गिट पर निर्भरता की आवश्यकता है।
[कैच बिल्ड सिस्टम प्रलेखन] में सीएमके के बारे में कुछ चर्चा है (https://github.com/philsquared/Catch/blob/master/docs/build-systems.md#cmake)। – phoenix