Make sure symbols are visible externally for bullet and chipmunk 72/296272/4
authorRichard Huang <r.huang@samsung.com>
Mon, 24 Jul 2023 17:06:33 +0000 (18:06 +0100)
committerRichard Huang <r.huang@samsung.com>
Thu, 27 Jul 2023 12:43:46 +0000 (13:43 +0100)
Change-Id: Ic5b873d5013480707126dcf8698032e51cbb52d7

build/tizen/dali-physics/CMakeLists.txt
dali-physics/third-party/bullet3/CMakeLists.txt
dali-physics/third-party/chipmunk2d/src/CMakeLists.txt

index f835962..d6dbad2 100644 (file)
@@ -8,7 +8,7 @@ set(${name}_VERSION_MINOR 0)
 set(${name}_VERSION_PATCH 0)
 set(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_VERSION_PATCH} )
 
-SET(DALI_SCENE3D_VERSION ${${name}_VERSION} )
+SET(DALI_PHYSICS_VERSION ${${name}_VERSION} )
 
 if(CMAKE_BUILD_TYPE MATCHES Debug)
     add_definitions("-DDEBUG_ENABLED")
@@ -76,8 +76,19 @@ if (ENABLE_PKG_CONFIGURE)
     )
 endif()
 
+if( INSTALL_CMAKE_MODULES )
 
+  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}-2d-config.cmake "
+    include(CMakeFindDependencyMacro)
+    include(\${CMAKE_CURRENT_LIST_DIR}/${name}-2d-targets.cmake)
+  ")
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-2d-config.cmake DESTINATION share/${name}-2d)
 
-
+  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}-3d-config.cmake "
+    include(CMakeFindDependencyMacro)
+    include(\${CMAKE_CURRENT_LIST_DIR}/${name}-3d-targets.cmake)
+  ")
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-3d-config.cmake DESTINATION share/${name}-3d)
+endif()
 
 
index 1f331c9..b504089 100644 (file)
@@ -96,6 +96,8 @@ else()
     target_compile_options(bullet3 PRIVATE -w)
 endif()
 
+target_compile_options(bullet3 PRIVATE -fvisibility=default)
+
 target_link_libraries(bullet3 ${COVERAGE})
 
 if(ENABLE_PKG_CONFIGURE)
@@ -121,9 +123,18 @@ endif(ENABLE_PKG_CONFIGURE)
 install(
     TARGETS bullet3
     DESTINATION ${LIB_DIR}
-    EXPORT Bullet3Targets
+    EXPORT bullet3-targets
 )
 
+if(INSTALL_CMAKE_MODULES)
+  install(
+      EXPORT bullet3-targets
+      NAMESPACE bullet3::
+      FILE bullet3-targets.cmake
+      DESTINATION share/bullet3
+  )
+endif()
+
 if(BULLET3_BUILD_SHARED AND MSVC)
     install(FILES $<TARGET_PDB_FILE:bullet3> DESTINATION lib)
 endif()
@@ -140,3 +151,11 @@ foreach(SUB ${BULLET_SUBMODULES})
         FILES_MATCHING PATTERN "*.h"
     )
 endforeach()
+
+if(INSTALL_CMAKE_MODULES)
+  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bullet3-config.cmake "
+    include(CMakeFindDependencyMacro)
+    include(\${CMAKE_CURRENT_LIST_DIR}/bullet3-targets.cmake)
+  ")
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bullet3-config.cmake DESTINATION share/bullet3)
+endif()
\ No newline at end of file
index 1c45355..34b30eb 100644 (file)
@@ -55,6 +55,7 @@ if(BUILD_SHARED)
       SOVERSION ${CHIPMUNK_VERSION_MAJOR}
       VERSION ${CHIPMUNK_VERSION})
   endif(NOT ANDROID)
+  target_compile_options(chipmunk PRIVATE -fvisibility=default)
   if(ANDROID OR UNIX)
     # need to explicitly link to the math library because the CMake/Android toolchains may not do it automatically
     target_link_libraries(chipmunk m ${COVERAGE})
@@ -62,9 +63,11 @@ if(BUILD_SHARED)
   if(ANDROID)
     target_link_libraries(chipmunk ${LOGLIB})
   endif(ANDROID)
-  install(TARGETS chipmunk RUNTIME DESTINATION ${BIN_INSTALL_DIR}
+  install(TARGETS chipmunk EXPORT chipmunk-targets
+                           RUNTIME DESTINATION ${BIN_INSTALL_DIR}
                            LIBRARY DESTINATION ${LIB_INSTALL_DIR}
-                           ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+                           ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
+                           )
 endif(BUILD_SHARED)
 
 if(BUILD_STATIC)
@@ -78,12 +81,13 @@ if(BUILD_STATIC)
   endif(MSVC)
   # Sets chipmunk_static to output "libchipmunk.a" not "libchipmunk_static.a"
   set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk)
+  target_compile_options(chipmunk PRIVATE -fvisibility=default)
   target_link_libraries(chipmunk m ${COVERAGE})
   if(ANDROID)
     target_link_libraries(chipmunk ${LOGLIB})
   endif(ANDROID)
   if(INSTALL_STATIC)
-    install(TARGETS chipmunk_static ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+    install(TARGETS chipmunk_static EXPORT chipmunk-targets ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
   endif(INSTALL_STATIC)
 endif(BUILD_STATIC)
 
@@ -91,6 +95,21 @@ if(BUILD_SHARED OR INSTALL_STATIC)
   # FIXME: change to PUBLIC_HEADER to allow building frameworks
   install(FILES ${chipmunk_public_header} DESTINATION include/chipmunk)
   install(FILES ${chipmunk_constraint_header} DESTINATION include/chipmunk/constraints)
+
+  if(INSTALL_CMAKE_MODULES)
+    install(
+      EXPORT chipmunk-targets
+      NAMESPACE chipmunk::
+      FILE chipmunk-targets.cmake
+      DESTINATION share/chipmunk
+    )
+
+    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/chipmunk-config.cmake "
+      include(CMakeFindDependencyMacro)
+      include(\${CMAKE_CURRENT_LIST_DIR}/chipmunk-targets.cmake)
+    ")
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/chipmunk-config.cmake DESTINATION share/chipmunk)
+  endif()
 endif(BUILD_SHARED OR INSTALL_STATIC)
 
 if (ENABLE_PKG_CONFIGURE)