-
Notifications
You must be signed in to change notification settings - Fork 438
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cmake: add cmake Find<package>.cmake for thrift
In some cases, when using jaeger-cpp-client, we use thrift provided from distro packages, these does not contain thriftConfig.cmake. For such scenarios, we pivot to do not make find_package CONFIG mode as default, instead we use basic signature[0]. We make use of `CMAKE_MODULE_PATH` to search for FindThrift.cmake, which will find and set all thrift::thrift's target properties. This appends cmake/modules dir to CMAKE_MODULE_PATH, which is used as all modules requiring find_package mode with basic_signature. [0] https://cmake.org/cmake/help/latest/command/find_package.html The command arguments determine which of the above modes is used. When the basic signature is used, the command searches in Module mode first. If the package is not found, the search falls back to Config mode. Signed-off-by: Deepika Upadhyay <[email protected]>
- Loading branch information
Deepika Upadhyay
committed
Oct 19, 2021
1 parent
5aa7365
commit 5e363fb
Showing
3 changed files
with
35 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# This module defines Thrift_LIBRARIES, libraries to link Thrift_INCLUDE_DIR, | ||
# Thrift_FOUND, If false, do not try to use it. | ||
|
||
# prefer the Thrift version supplied in Thrift_HOME (cmake -DThrift_HOME then | ||
# environment) | ||
find_path( | ||
Thrift_INCLUDE_DIR | ||
NAMES thrift/Thrift.h | ||
HINTS ${Thrift_HOME} ENV Thrift_HOME /usr/local /opt/local | ||
PATH_SUFFIXES include) | ||
|
||
# prefer the Thrift version supplied in Thrift_HOME | ||
find_library( | ||
Thrift_LIBRARIES | ||
NAMES thrift libthrift | ||
HINTS ${Thrift_HOME} ENV Thrift_HOME /usr/local /opt/local | ||
PATH_SUFFIXES lib lib64) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(Thrift DEFAULT_MSG Thrift_LIBRARIES | ||
Thrift_INCLUDE_DIR) | ||
mark_as_advanced(Thrift_LIBRARIES Thrift_INCLUDE_DIR) | ||
|
||
|
||
if(Thrift_FOUND AND NOT (TARGET thrift::thrift)) | ||
add_library(thrift::thrift UNKNOWN IMPORTED) | ||
set_target_properties( | ||
thrift::thrift | ||
PROPERTIES IMPORTED_LOCATION ${thrift_LIBRARIES} | ||
INTERFACE_INCLUDE_DIRECTORIES ${thrift_INCLUDE_DIR}) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters