diff options
author | Ben Morgan <Ben.Morgan@warwick.ac.uk> | 2017-08-30 11:18:07 (GMT) |
---|---|---|
committer | Ben Morgan <Ben.Morgan@warwick.ac.uk> | 2017-09-01 15:02:57 (GMT) |
commit | bfe51369a7f2dd29eb08f24b877fdd01b7534e5c (patch) | |
tree | 09a03f97addb4656da7ff311a30e67660bb02ecd | |
parent | 78f166f8730c4da4ad21ba6218803f1a6552a95a (diff) | |
download | CMake-bfe51369a7f2dd29eb08f24b877fdd01b7534e5c.zip CMake-bfe51369a7f2dd29eb08f24b877fdd01b7534e5c.tar.gz CMake-bfe51369a7f2dd29eb08f24b877fdd01b7534e5c.tar.bz2 |
FindEXPAT: Add unit test of target and variables
-rw-r--r-- | Tests/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/FindEXPAT/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/FindEXPAT/Test/CMakeLists.txt | 16 | ||||
-rw-r--r-- | Tests/FindEXPAT/Test/main.c | 21 |
4 files changed, 51 insertions, 0 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index f0e58ee..73918be 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1427,6 +1427,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_subdirectory(FindDoxygen) endif() + if(CMake_TEST_FindEXPAT) + add_subdirectory(FindEXPAT) + endif() + if(CMake_TEST_FindGSL) add_subdirectory(FindGSL) endif() diff --git a/Tests/FindEXPAT/CMakeLists.txt b/Tests/FindEXPAT/CMakeLists.txt new file mode 100644 index 0000000..a74174a --- /dev/null +++ b/Tests/FindEXPAT/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindEXPAT.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindEXPAT/Test" + "${CMake_BINARY_DIR}/Tests/FindEXPAT/Test" + ${build_generator_args} + --build-project TestFindEXPAT + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) diff --git a/Tests/FindEXPAT/Test/CMakeLists.txt b/Tests/FindEXPAT/Test/CMakeLists.txt new file mode 100644 index 0000000..5681f74 --- /dev/null +++ b/Tests/FindEXPAT/Test/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.9) +project(TestFindEXPAT C) +include(CTest) + +find_package(EXPAT REQUIRED) + +add_definitions(-DCMAKE_EXPECTED_EXPAT_VERSION="${EXPAT_VERSION_STRING}") + +add_executable(testexpat_tgt main.c) +target_link_libraries(testexpat_tgt EXPAT::EXPAT) +add_test(NAME testexpat_tgt COMMAND testexpat_tgt) + +add_executable(testexpat_var main.c) +target_include_directories(testexpat_var PRIVATE ${EXPAT_INCLUDE_DIRS}) +target_link_libraries(testexpat_var PRIVATE ${EXPAT_LIBRARIES}) +add_test(NAME testexpat_var COMMAND testexpat_var) diff --git a/Tests/FindEXPAT/Test/main.c b/Tests/FindEXPAT/Test/main.c new file mode 100644 index 0000000..94ee3ef --- /dev/null +++ b/Tests/FindEXPAT/Test/main.c @@ -0,0 +1,21 @@ +#include <expat.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +int main() +{ + XML_Expat_Version expat_version; + char expat_version_string[16]; + + expat_version = XML_ExpatVersionInfo(); + + snprintf(expat_version_string, 16, "%i.%i.%i", expat_version.major, + expat_version.minor, expat_version.micro); + + if (strcmp(expat_version_string, CMAKE_EXPECTED_EXPAT_VERSION) != 0) { + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} |