This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, master has been updated via 0495ce4f98497ba607c5d297f2d5dee70d9a36c6 (commit) via 9644c835b38d211ee17b5de0bb0ae62fe188eca0 (commit) from bc789afac9215ea60069393e3a2af4afb149a84c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0495ce4f98497ba607c5d297f2d5dee70d9a36c6 commit 0495ce4f98497ba607c5d297f2d5dee70d9a36c6 Merge: bc789af 9644c83 Author: Marc Chevrier <marc.chevr...@gmail.com> AuthorDate: Thu Dec 20 06:17:35 2018 -0500 Commit: Marc Chevrier <marc.chevr...@gmail.com> CommitDate: Thu Dec 20 06:17:35 2018 -0500 Merge branch 'topic-findliblzma' into 'master' FindLibLZMA: add imported target Closes #18679 and #18680 See merge request cmake/cmake!2730 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9644c835b38d211ee17b5de0bb0ae62fe188eca0 commit 9644c835b38d211ee17b5de0bb0ae62fe188eca0 Author: Hiroshi Miura <miur...@linux.com> AuthorDate: Wed Dec 12 07:31:12 2018 +0900 Commit: Hiroshi Miura <miur...@linux.com> CommitDate: Thu Dec 13 09:40:11 2018 +0900 FindLibLZMA: add imported target - Add imported target LibLZMA::LibLZMA - Show found message with library path - Add test for FindLibLZMA Fixes: #18680, #18679 Signed-off-by: Hiroshi Miura <miur...@linux.com> diff --git a/Help/release/dev/FindLibLZMA-target.rst b/Help/release/dev/FindLibLZMA-target.rst new file mode 100644 index 0000000..a13c45f --- /dev/null +++ b/Help/release/dev/FindLibLZMA-target.rst @@ -0,0 +1,4 @@ +FindLibLZMA-target +------------------ + +* The :module:`FindLibLZMA` module now provides an imported target. diff --git a/Modules/FindLibLZMA.cmake b/Modules/FindLibLZMA.cmake index 6d30e57..b7e5815 100644 --- a/Modules/FindLibLZMA.cmake +++ b/Modules/FindLibLZMA.cmake @@ -9,6 +9,18 @@ Find LibLZMA Find LibLZMA headers and library + +IMPORTED Targets +^^^^^^^^^^^^^^^^ + +This module defines :prop_tgt:`IMPORTED` target ``LibLZMA::LibLZMA``, if +LibLZMA has been found. + +Result variables +^^^^^^^^^^^^^^^^ + +This module will set the following variables in your project: + :: LIBLZMA_FOUND - True if liblzma is found. @@ -51,17 +63,23 @@ if (LIBLZMA_LIBRARY) endif () include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZMA REQUIRED_VARS LIBLZMA_INCLUDE_DIR - LIBLZMA_LIBRARY +find_package_handle_standard_args(LibLZMA REQUIRED_VARS LIBLZMA_LIBRARY + LIBLZMA_INCLUDE_DIR LIBLZMA_HAS_AUTO_DECODER LIBLZMA_HAS_EASY_ENCODER LIBLZMA_HAS_LZMA_PRESET VERSION_VAR LIBLZMA_VERSION_STRING ) +mark_as_advanced( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY ) if (LIBLZMA_FOUND) set(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY}) set(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR}) + if(NOT TARGET LibLZMA::LibLZMA) + add_library(LibLZMA::LibLZMA UNKNOWN IMPORTED) + set_target_properties(LibLZMA::LibLZMA PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${LIBLZMA_INCLUDE_DIR} + IMPORTED_LINK_INTERFACE_LANGUAGES C + IMPORTED_LOCATION ${LIBLZMA_LIBRARY}) + endif() endif () - -mark_as_advanced( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY ) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 408c941..2a8d3e6 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1417,6 +1417,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_subdirectory(FindJsonCpp) endif() + if(CMake_TEST_FindLibLZMA) + add_subdirectory(FindLibLZMA) + endif() + if(CMake_TEST_FindLibRHash) add_subdirectory(FindLibRHash) endif() diff --git a/Tests/FindLibLZMA/CMakeLists.txt b/Tests/FindLibLZMA/CMakeLists.txt new file mode 100644 index 0000000..6dff0ef --- /dev/null +++ b/Tests/FindLibLZMA/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindLibLZMA.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindLibLZMA/Test" + "${CMake_BINARY_DIR}/Tests/FindLibLZMA/Test" + ${build_generator_args} + --build-project TestFindLibLZMA + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) diff --git a/Tests/FindLibLZMA/Test/CMakeLists.txt b/Tests/FindLibLZMA/Test/CMakeLists.txt new file mode 100644 index 0000000..c59dcdb --- /dev/null +++ b/Tests/FindLibLZMA/Test/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.4) +project(TestFindLZMA C) +include(CTest) + +find_package(LibLZMA REQUIRED) + +add_executable(test_tgt main.c) +target_link_libraries(test_tgt LibLZMA::LibLZMA) +add_test(NAME test_tgt COMMAND test_tgt) + +add_executable(test_var main.c) +target_include_directories(test_var PRIVATE ${LIBLZMA_INCLUDE_DIRS}) +target_link_libraries(test_var PRIVATE ${LIBLZMA_LIBRARIES}) +add_test(NAME test_var COMMAND test_var) diff --git a/Tests/FindLibLZMA/Test/main.c b/Tests/FindLibLZMA/Test/main.c new file mode 100644 index 0000000..06e8065 --- /dev/null +++ b/Tests/FindLibLZMA/Test/main.c @@ -0,0 +1,15 @@ +#include <assert.h> +#include <lzma.h> +#include <string.h> + +static const uint8_t test_string[9] = "123456789"; + +int main() +{ + static const uint32_t test_vector = 0xCBF43926; + + uint32_t crc = lzma_crc32(test_string, sizeof(test_string), 0); + assert(crc == test_vector); + + return 0; +} ----------------------------------------------------------------------- Summary of changes: Help/release/dev/FindLibLZMA-target.rst | 4 ++++ Modules/FindLibLZMA.cmake | 26 ++++++++++++++++++++++---- Tests/CMakeLists.txt | 4 ++++ Tests/{FindCURL => FindLibLZMA}/CMakeLists.txt | 8 ++++---- Tests/FindLibLZMA/Test/CMakeLists.txt | 14 ++++++++++++++ Tests/FindLibLZMA/Test/main.c | 15 +++++++++++++++ 6 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 Help/release/dev/FindLibLZMA-target.rst copy Tests/{FindCURL => FindLibLZMA}/CMakeLists.txt (53%) create mode 100644 Tests/FindLibLZMA/Test/CMakeLists.txt create mode 100644 Tests/FindLibLZMA/Test/main.c hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits