Module: sems
Branch: master
Commit: 83968f9082aa4fc9cd81e6a24ac16504ee7fddd2
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=83968f9082aa4fc9cd81e6a24ac16504ee7fddd2

Author: Raphael Coeffic <[email protected]>
Committer: Peter Lemenkov <[email protected]>
Date:   Thu Mar 17 14:24:20 2011 +0300

Fix compiling with cmake on MacOSX

Tested-by: Peter Lemenkov <[email protected]>

---

 CMakeLists.txt                    |    1 +
 cmake/dsm.lib.rules.txt           |   10 +++++++++-
 cmake/module.rules.txt            |   10 +++++++++-
 core/plug-in/speex/CMakeLists.txt |    3 +++
 4 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 94c2f7b..abb2191 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
 IF(COMMAND cmake_policy)
        # Don't do automatic escaping of variables
        CMAKE_POLICY(SET CMP0005 OLD)
+       CMAKE_POLICY(SET CMP0003 NEW)
 ENDIF(COMMAND cmake_policy)
 
 
diff --git a/cmake/dsm.lib.rules.txt b/cmake/dsm.lib.rules.txt
index c7daa27..1358b48 100644
--- a/cmake/dsm.lib.rules.txt
+++ b/cmake/dsm.lib.rules.txt
@@ -7,13 +7,21 @@ INCLUDE_DIRECTORIES (../..)
 # issue then this name is equals to external library, our module links to.
 # E.g. the issue, then speex module should be linked to -lspeex
 
-ADD_LIBRARY(sems_dsm_${sems_dsm_module_name} SHARED 
${${sems_dsm_module_name}_SRCS})
+ADD_LIBRARY(sems_dsm_${sems_dsm_module_name} MODULE 
${${sems_dsm_module_name}_SRCS})
+
+IF(APPLE)
+       SET(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
+               "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} -flat_namespace 
-undefined suppress")
+       SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+               "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace 
-undefined suppress")
+ENDIF(APPLE)
 
 # all modules should be linked against ${CMAKE_DL_LIBS} at least
 # and with additional ${sems_dsm_module_libs} if they exists
 TARGET_LINK_LIBRARIES(sems_dsm_${sems_dsm_module_name} ${CMAKE_DL_LIBS} 
${sems_dsm_module_libs})
 
 SET_TARGET_PROPERTIES(sems_dsm_${sems_dsm_module_name} PROPERTIES OUTPUT_NAME 
${sems_dsm_module_name})
+SET_TARGET_PROPERTIES(sems_dsm_${sems_dsm_module_name} PROPERTIES PREFIX "")
 
 INSTALL(
        TARGETS sems_dsm_${sems_dsm_module_name}
diff --git a/cmake/module.rules.txt b/cmake/module.rules.txt
index af0694a..9a8636e 100644
--- a/cmake/module.rules.txt
+++ b/cmake/module.rules.txt
@@ -8,7 +8,14 @@ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/doc.rules.txt)
 INCLUDE(${CMAKE_SOURCE_DIR}/cmake/config.rules.txt)
 INCLUDE(${CMAKE_SOURCE_DIR}/cmake/audio.rules.txt)
 
-ADD_LIBRARY(sems_${sems_module_name} SHARED ${${sems_module_name}_SRCS})
+ADD_LIBRARY(sems_${sems_module_name} MODULE ${${sems_module_name}_SRCS})
+
+IF(APPLE)
+       SET(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
+               "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} -flat_namespace 
-undefined suppress")
+       SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+               "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace 
-undefined suppress")
+ENDIF(APPLE)
 
 ADD_DEFINITIONS(-DMOD_NAME=\\\"${sems_module_name}\\\")
 
@@ -17,6 +24,7 @@ ADD_DEFINITIONS(-DMOD_NAME=\\\"${sems_module_name}\\\")
 TARGET_LINK_LIBRARIES(sems_${sems_module_name} ${CMAKE_DL_LIBS} 
${sems_module_libs})
 
 SET_TARGET_PROPERTIES(sems_${sems_module_name} PROPERTIES OUTPUT_NAME 
${sems_module_name})
+SET_TARGET_PROPERTIES(sems_${sems_module_name} PROPERTIES PREFIX "")
 
 INSTALL(
        TARGETS sems_${sems_module_name}
diff --git a/core/plug-in/speex/CMakeLists.txt 
b/core/plug-in/speex/CMakeLists.txt
index 6508fc0..a2ee909 100644
--- a/core/plug-in/speex/CMakeLists.txt
+++ b/core/plug-in/speex/CMakeLists.txt
@@ -6,6 +6,9 @@ INCLUDE_DIRECTORIES(${SPEEX_INCLUDE_DIR})
 
 # module_cflags  = -ansi # -DNOFPU
 
+add_library(speex SHARED IMPORTED)
+set_property(TARGET speex PROPERTY IMPORTED_LOCATION ${SPEEX_LIBRARIES})
+
 SET(sems_module_name speex)
 SET(sems_module_libs speex)
 INCLUDE(${CMAKE_SOURCE_DIR}/cmake/module.rules.txt)

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to