You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pe...@apache.org on 2022/03/08 14:17:16 UTC

[celix] 02/03: Fix misuse of find_package and find_dependency in CelixConfig.cmake.

This is an automated email from the ASF dual-hosted git repository.

pengzheng pushed a commit to branch feature/conan_support
in repository https://gitbox.apache.org/repos/asf/celix.git

commit ba8632467f684908581473e638f75f619a08f89c
Author: PengZheng <ho...@gmail.com>
AuthorDate: Tue Mar 8 11:17:46 2022 +0800

    Fix misuse of find_package and find_dependency in CelixConfig.cmake.
    
    Use find_dependency without REQUIRED to handle find_package(Celix) correctly (i.e., use Celix as an optional package).
---
 bundles/http_admin/civetweb/CMakeLists.txt |  1 +
 cmake/CelixConfig.cmake                    | 21 +++++++++--------
 cmake/cmake_celix/UseCelix.cmake           | 37 ------------------------------
 3 files changed, 12 insertions(+), 47 deletions(-)

diff --git a/bundles/http_admin/civetweb/CMakeLists.txt b/bundles/http_admin/civetweb/CMakeLists.txt
index 8b43cf2..ff2e5fd 100644
--- a/bundles/http_admin/civetweb/CMakeLists.txt
+++ b/bundles/http_admin/civetweb/CMakeLists.txt
@@ -15,6 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
+find_package(CURL REQUIRED)
 
 #Create shared library
 add_library(civetweb_shared SHARED
diff --git a/cmake/CelixConfig.cmake b/cmake/CelixConfig.cmake
index 67e202a..e56039e 100644
--- a/cmake/CelixConfig.cmake
+++ b/cmake/CelixConfig.cmake
@@ -73,25 +73,26 @@ set(CELIX_SHELL_TUI_BUNDLE ${CELIX_BUNDLES_DIR}/shell_tui.zip)
 
 include(CMakeFindDependencyMacro)
 
-find_dependency(ZLIB REQUIRED) #Needed by framework
-find_dependency(UUID REQUIRED) #Needed by framework
-find_dependency(CURL REQUIRED) #Needed by framework (used for curl initialization)
+find_dependency(ZLIB) #Needed by framework
+find_dependency(UUID) #Needed by framework
+find_dependency(CURL) #Needed by framework (used for curl initialization)
 find_dependency(LIBZIP) #Needed by utils
-find_dependency(Jansson REQUIRED) #Needed by dfi, etcdlib, remote services, pubsub
+find_dependency(Jansson) #Needed by dfi, etcdlib, remote services, pubsub
+find_dependency(FFI) #Needed by dfi
 
 if (TARGET Celix::dfi)
-  find_dependency(FFI REQUIRED)
+  find_dependency(FFI)
 endif()
 if (TARGET Celix::RsaConfiguredDiscovery)
-  find_dependency(RapidJSON REQUIRED)
+  find_dependency(RapidJSON)
 endif ()
 if (TARGET Celix::rsa_discovery_common)
-  find_dependency(LibXml2 REQUIRED)
+  find_dependency(LibXml2)
 endif ()
 if (TARGET Celix::celix_pubsub_admin_zmq OR TARGET Celix::celix_pubsub_admin_zmq_v2)
-  find_dependency(ZMQ REQUIRED)
-  find_dependency(CZMQ REQUIRED)
+  find_dependency(ZMQ)
+  find_dependency(CZMQ)
 endif ()
 if (TARGET Celix::pubsub_admin_nanomsg)
-  find_dependency(NanoMsg REQUIRED)
+  find_dependency(NanoMsg)
 endif ()
diff --git a/cmake/cmake_celix/UseCelix.cmake b/cmake/cmake_celix/UseCelix.cmake
index 0e98b53..5077159 100644
--- a/cmake/cmake_celix/UseCelix.cmake
+++ b/cmake/cmake_celix/UseCelix.cmake
@@ -28,40 +28,3 @@ include(${CELIX_CMAKE_DIRECTORY}/ContainerPackaging.cmake)
 include(${CELIX_CMAKE_DIRECTORY}/DockerPackaging.cmake)
 include(${CELIX_CMAKE_DIRECTORY}/Runtimes.cmake)
 include(${CELIX_CMAKE_DIRECTORY}/Generic.cmake)
-
-#find required packages
-find_package(CURL REQUIRED) #framework, etcdlib
-find_package(ZLIB REQUIRED) #framework
-find_package(UUID REQUIRED) #framework
-find_package(Jansson REQUIRED) #etcdlib, dfi
-find_package(FFI REQUIRED) #dfi
-
-if (NOT TARGET ZLIB::ZLIB)
-    #Note more recent zlib will create ZLIB::ZLIB target
-    message("Note ZLIB::ZLIB target not created by find_package(ZLIB). Creating ZLIB::ZLIB Target.")
-    add_library(ZLIB::ZLIB SHARED IMPORTED)
-    set_target_properties(ZLIB::ZLIB PROPERTIES
-            IMPORTED_LOCATION "${ZLIB_LIBRARIES}"
-            INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIRS}"
-    )
-endif ()
-
-if (NOT TARGET CURL::libcurl)
-    #Note more recent curl will create CURL::libcurl target
-    message("Note CURL::libcurl target not created by find_package(CURL). Creating CURL::libcurl Target.")
-    add_library(CURL::libcurl SHARED IMPORTED)
-    set_target_properties(CURL::libcurl PROPERTIES
-            IMPORTED_LOCATION "${CURL_LIBRARIES}"
-            INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
-    )
-endif ()
-
-if (NOT TARGET Jansson)
-    #Note if JanssonConfig is present on system this is not needed
-    message("Note Jansson target not created by find_package(Jansson). Creating Jansson Target.")
-    add_library(Jansson SHARED IMPORTED)
-    set_target_properties(Jansson PROPERTIES
-            IMPORTED_LOCATION "${JANSSON_LIBRARY}"
-            INTERFACE_INCLUDE_DIRECTORIES "${JANSSON_INCLUDE_DIR}"
-    )
-endif ()