This is an automated email from the ASF dual-hosted git repository.
pengzheng pushed a commit to branch feature/update_github_actions
in repository https://gitbox.apache.org/repos/asf/celix.git
The following commit(s) were added to refs/heads/feature/update_github_actions
by this push:
new 38e6bea8 Add CMake find module providing RapidJSON target.
38e6bea8 is described below
commit 38e6bea83ad203bd5bea8313c325f8ceff4af389
Author: PengZheng <[email protected]>
AuthorDate: Wed Jan 18 20:23:20 2023 +0800
Add CMake find module providing RapidJSON target.
---
.../discovery_configured/CMakeLists.txt | 6 +---
cmake/Modules/FindRapidJSON.cmake | 35 ++++++++++++++++++++++
2 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt
b/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt
index ec973790..7be03970 100644
--- a/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt
+++ b/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt
@@ -38,13 +38,9 @@ target_link_libraries(RsaConfiguredDiscovery PRIVATE
Celix::framework
Celix::rsa_spi
Celix::log_helper
+ RapidJSON::RapidJSON
)
-#Note import target RapidJSON::RapidJSO only created when using conan, else
/usr/include is used.
-if (TARGET RapidJSON::RapidJSON)
- target_link_libraries(RsaConfiguredDiscovery PRIVATE RapidJSON::RapidJSON)
-endif ()
-
target_include_directories(RsaConfiguredDiscovery PRIVATE src)
install_celix_bundle(RsaConfiguredDiscovery EXPORT celix COMPONENT rsa)
add_library(Celix::RsaConfiguredDiscovery ALIAS RsaConfiguredDiscovery)
diff --git a/cmake/Modules/FindRapidJSON.cmake
b/cmake/Modules/FindRapidJSON.cmake
new file mode 100644
index 00000000..b31f0b2d
--- /dev/null
+++ b/cmake/Modules/FindRapidJSON.cmake
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+find_path(RapidJSON_INCLUDE_DIR rapidjson.h
+ PATH_SUFFIXES rapidjson)
+
+get_filename_component(RapidJSON_INCLUDE_DIRS ${RapidJSON_INCLUDE_DIR}/..
ABSOLUTE)
+
+include(FindPackageHandleStandardArgs)
+# handle the QUIETLY and REQUIRED arguments and set ZeroMQ_FOUND to TRUE
+# if all listed variables are TRUE
+find_package_handle_standard_args(RapidJSON DEFAULT_MSG
+ RapidJSON_INCLUDE_DIR)
+
+mark_as_advanced(RapidJSON_INCLUDE_DIR)
+
+if(RapidJSON_FOUND AND NOT TARGET RapidJSON::RapidJSON)
+ add_library(RapidJSON::RapidJSON INTERFACE IMPORTED)
+ set_target_properties(RapidJSON::RapidJSON PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES
+ "${RapidJSON_INCLUDE_DIRS}")
+endif()