You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2016/08/30 14:35:41 UTC

[3/7] incubator-singa git commit: fix bug for python build in mac

fix bug for python build in mac


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/59f56e67
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/59f56e67
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/59f56e67

Branch: refs/heads/master
Commit: 59f56e676a2651375d14f74a46c20a1c46910003
Parents: 546c38b
Author: aaronwwf <dc...@gmail.com>
Authored: Mon Aug 29 16:34:01 2016 +0800
Committer: aaronwwf <dc...@gmail.com>
Committed: Mon Aug 29 16:34:01 2016 +0800

----------------------------------------------------------------------
 src/CMakeLists.txt | 50 +++++++++++++++++++++++++++----------------------
 1 file changed, 28 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/59f56e67/src/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 87486f7..9db0eca 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -20,12 +20,9 @@
 
 FILE(GLOB proto_files proto/*.proto)
 protobuf_generate_cpp(proto_srcs proto_hdrs ${proto_files})
-IF (USE_PYTHON)
-    protobuf_generate_python(proto_pys ${proto_files})
-ENDIF()
 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/include")
 
-LIST(APPEND singa_sources ${proto_hdrs} ${proto_srcs} ${proto_pys})
+LIST(APPEND singa_sources ${proto_hdrs} ${proto_srcs})
 SET(PREVIOUS_LINKER_LIBS ${SINGA_LINKER_LIBS})
 
 AUX_SOURCE_DIRECTORY(utils utils_source)
@@ -61,9 +58,26 @@ LIST(APPEND singa_sources ${model_source})
 AUX_SOURCE_DIRECTORY(io io_source)
 AUX_SOURCE_DIRECTORY(io/network io_source)
 LIST(APPEND singa_sources ${io_source})
+ADD_LIBRARY(singa SHARED ${singa_sources})
+ADD_CUSTOM_TARGET(
+  copy_protobuf
+  COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/include/singa/proto"
+  DEPENDS ${proto_hdrs}
+  COMMENT "Copying Protobuf headers"
+  )
+FOREACH(fil ${proto_hdrs})
+  ADD_CUSTOM_COMMAND(
+    TARGET copy_protobuf PRE_BUILD
+    COMMAND ${CMAKE_COMMAND} -E copy ${fil} "${CMAKE_BINARY_DIR}/include/singa/proto"
+ )
+ENDFOREACH()
+ADD_DEPENDENCIES(singa copy_protobuf)
+TARGET_LINK_LIBRARIES(singa ${SINGA_LINKER_LIBS})
+#MESSAGE(STATUS "HEADERS: ${proto_hdrs}")
 
 IF(USE_PYTHON)
 
+    protobuf_generate_python(proto_pys ${proto_files})
     FILE(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/python/swig/config.i")
     CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/python/swig/config.i.in" "${CMAKE_CURRENT_SOURCE_DIR}/python/swig/config.i")
 
@@ -80,11 +94,11 @@ IF(USE_PYTHON)
 
     create_symlinks(${python_source_files})
 
-    SET(python_cxxs "${core_source};${io_source};${model_source};${utils_source}")
-    ADD_LIBRARY(_singa_wrap SHARED ${python_srcs} ${python_cxxs} ${cuda_objs})
+    ADD_LIBRARY(_singa_wrap SHARED ${python_srcs} ${singa_sources} ${cuda_objs})
     SET(WRAPPER_LINKER_LIBS "${PREVIOUS_LINKER_LIBS}")
     TARGET_LINK_LIBRARIES(_singa_wrap ${WRAPPER_LINKER_LIBS})
     TARGET_INCLUDE_DIRECTORIES(_singa_wrap PRIVATE ${PYTHON_INCLUDE_DIRS})
+    ADD_DEPENDENCIES(_singa_wrap singa)
     #message(STATUS "PREVIOUS_LINKER_LIBS ${PREVIOUS_LINKER_LIBS}")
 
     SET_TARGET_PROPERTIES(_singa_wrap
@@ -99,23 +113,15 @@ IF(USE_PYTHON)
 
     #create python/singa/proto/__init__.py
     FILE(WRITE ${CMAKE_BINARY_DIR}/python/singa/proto/__init__.py "")
+    IF(APPLE)
+        ADD_CUSTOM_TARGET(
+            change_subfix 
+            COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_BINARY_DIR}/python/singa/_singa_wrap.dylib" "${CMAKE_BINARY_DIR}/python/singa/_singa_wrap.so"
+            DEPENDS ${_singa_wrap}
+            COMMENT "change .dylib to .so in mac system"
+        )
+    ENDIF(APPLE)
 
 ENDIF(USE_PYTHON)
 
-ADD_LIBRARY(singa SHARED ${singa_sources})
-ADD_CUSTOM_TARGET(
-  copy_protobuf
-  COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/include/singa/proto"
-  DEPENDS ${proto_hdrs}
-  COMMENT "Copying Protobuf headers"
-  )
-FOREACH(fil ${proto_hdrs})
-  ADD_CUSTOM_COMMAND(
-    TARGET copy_protobuf PRE_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${fil} "${CMAKE_BINARY_DIR}/include/singa/proto"
- )
-ENDFOREACH()
-ADD_DEPENDENCIES(singa copy_protobuf)
-TARGET_LINK_LIBRARIES(singa ${SINGA_LINKER_LIBS})
-#MESSAGE(STATUS "HEADERS: ${proto_hdrs}")