[dali_2.3.28] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-physics / third-party / bullet3 / CMakeLists.txt
index 2045410..5966463 100644 (file)
@@ -21,6 +21,9 @@ endif()
 # Build options
 option(BULLET3_BUILD_SHARED "Build bullet3 as a shared library" ON)
 
+set(prefix ${CMAKE_INSTALL_PREFIX})
+option(ENABLE_PKG_CONFIGURE "Use pkgconfig" ON)
+
 ADD_DEFINITIONS(-DB3_USE_CLEW)
 
 if (WIN32)
@@ -56,6 +59,7 @@ set(BULLET3_SOURCES
 foreach(SUB ${BULLET_SUBMODULES})
     file(GLOB_RECURSE SUBMODULE_SOURCES
         "${bullet_SOURCE_DIR}/src/${SUB}/*.h"
+        "${bullet_SOURCE_DIR}/src/${SUB}/*.hpp"
         "${bullet_SOURCE_DIR}/src/${SUB}/*.cpp"
         "${bullet_SOURCE_DIR}/src/${SUB}/*.c"
     )
@@ -93,29 +97,46 @@ else()
     target_compile_options(bullet3 PRIVATE -w)
 endif()
 
+target_compile_options(bullet3 PRIVATE -fvisibility=default)
+
 target_link_libraries(bullet3 ${COVERAGE})
 
-# Installation
-set (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
-set (LIB_DESTINATION "lib${LIB_SUFFIX}" CACHE STRING "Library directory name")
-## the following are directories where stuff will be installed to
-set(INCLUDE_INSTALL_DIR "include/bullet/" CACHE PATH "The subdirectory to the header prefix")
-set(PKGCONFIG_INSTALL_PREFIX "lib${LIB_SUFFIX}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files")
-if(NOT MSVC)
-  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bullet3.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/bullet3.pc @ONLY)
-install(
-  FILES
-  ${CMAKE_CURRENT_BINARY_DIR}/bullet3.pc
-  DESTINATION
-  ${PKGCONFIG_INSTALL_PREFIX})
-endif(NOT MSVC)
+if(ENABLE_PKG_CONFIGURE)
+    find_package(PkgConfig REQUIRED)
+
+    set( LIB_DIR $ENV{libdir} )
+    if( NOT LIB_DIR )
+        set( LIB_DIR ${CMAKE_INSTALL_LIBDIR} )
+    endif()
+    if( NOT LIB_DIR )
+        set( LIB_DIR ${prefix}/lib )
+    endif()
+    set(DEV_INCLUDE_PATH ${prefix}/include/bullet)
+
+    set(bullet_pkg_cfg_file bullet3.pc)
+    configure_file(${CMAKE_CURRENT_LIST_DIR}/${bullet_pkg_cfg_file}.cmake ${bullet_pkg_cfg_file} @ONLY)
+
+    # Installation
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${bullet_pkg_cfg_file}
+        DESTINATION ${LIB_DIR}/pkgconfig
+    )
+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()
@@ -129,6 +150,14 @@ foreach(SUB ${BULLET_SUBMODULES})
     install(
         DIRECTORY "${bullet_SOURCE_DIR}/src/${SUB}"
         DESTINATION "include/bullet"
-        FILES_MATCHING PATTERN "*.h"
+        FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
     )
 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()