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()

Reply via email to