]> git.seodisparate.com - UDPConnection/commitdiff
Fix conanfile.py/CMakeLists.txt for C consumers
authorStephen Seo <seo.disparate@gmail.com>
Sat, 13 Jul 2024 13:41:16 +0000 (22:41 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Sat, 13 Jul 2024 13:41:16 +0000 (22:41 +0900)
The new configuration should make C consumers link to "stdc++" by
default, which should fix building with static libs for C programs.

CMakeLists.txt
conan_usage_example/CMakeLists.txt
conan_usage_example/conanfile.txt
conanfile.py

index 04a98f68af8bfca071787d502f07ce4e47de9603..007f44c502768eb36ec6e3cf3098b8d1d27956ac 100644 (file)
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.7)
 project(UDPC)
 
-set(UDPC_VERSION 1.1)
+set(UDPC_VERSION 1.2)
 set(UDPC_SOVERSION 1)
 
 set(UDPC_SOURCES
@@ -42,6 +42,12 @@ find_package(libsodium REQUIRED)
 target_compile_definitions(UDPC PUBLIC UDPC_LIBSODIUM_ENABLED)
 target_link_libraries(UDPC PUBLIC libsodium::libsodium)
 
+# Enforce linking with libstdc++ even with C targets.
+# Doesn't affect conan, so conanfile.py was also modified for this.
+set_target_properties(UDPC PROPERTIES
+    INTERFACE_LINK_LIBRARIES "stdc++"
+)
+
 if(CMAKE_BUILD_TYPE MATCHES "Debug")
     set(UDPC_UnitTest_SOURCES
         src/CXX11_shared_spin_lock.cpp
index 6fe669f7b188f8b4cc504993fb19492c6c90b8ec..2f7a1f2ce192fb29605613af7a84e992502b8042 100644 (file)
@@ -22,4 +22,4 @@ find_package(udpc CONFIG REQUIRED)
 add_executable(UDPC_NetworkTest
     ${UDPC_NetworkTest_SOURCES}
 )
-target_link_libraries(UDPC_NetworkTest udpc::udpc stdc++)
+target_link_libraries(UDPC_NetworkTest PUBLIC udpc::udpc)
index 0572e7dae4ed8f96f2a987f721ce7a90e10491a9..bbe51fca2db6f2ac20d8386748fa14d4e89f9fc2 100644 (file)
@@ -1,5 +1,5 @@
 [requires]
-udpc/1.1
+udpc/1.2
 
 [generators]
 CMakeDeps
index d5ef8f95abb7e740bc6a283c43917ff1d30689bf..e28a1a9508eade052b6a9082c8f87553b16f43ec 100644 (file)
@@ -5,7 +5,7 @@ import os
 
 class udpcRecipe(ConanFile):
     name = "udpc"
-    version = "1.1"
+    version = "1.2"
     package_type = "library"
 
     # Optional metadata
@@ -54,4 +54,4 @@ class udpcRecipe(ConanFile):
 
     def package_info(self):
         self.cpp_info.libs = ["UDPC"]
-
+        self.cpp_info.system_libs = ["stdc++"]