[Cmake-commits] CMake branch, master, updated. v3.13.2-754-g0495ce4
Kitware Robot
kwrobot at kitware.com
Thu Dec 20 06:23:06 EST 2018
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.chevrier at gmail.com>
AuthorDate: Thu Dec 20 06:17:35 2018 -0500
Commit: Marc Chevrier <marc.chevrier at 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 <miurahr at linux.com>
AuthorDate: Wed Dec 12 07:31:12 2018 +0900
Commit: Hiroshi Miura <miurahr at 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 <miurahr at 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
More information about the Cmake-commits
mailing list