Эх сурвалжийг харах

fixes for comiso on windows for VS2015

Former-commit-id: c7bd7532c8e98708458dbcf62d2ef13bfdc504b6
Daniele Panozzo 9 жил өмнө
parent
commit
c2e96e45fa

+ 31 - 7
tutorial/CMakeLists.txt

@@ -12,9 +12,11 @@ endif(LIBIGL_USE_STATIC_LIBRARY)
 SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 
 IF(MSVC)
-  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj") ### Enable parallel compilation for Visual Studio
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj /w") ### Enable parallel compilation for Visual Studio
+
   SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} )
   SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} )
+
 ELSE(MSVC)
   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #### Libigl requires a modern C++ compiler that supports c++11
   SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../" )
@@ -84,17 +86,39 @@ IF(LIBCOMISO_FOUND)
   list(GET LIBCOMISO_INCLUDE_DIRS 0 COMISO_ROOT)
   # message( FATAL_ERROR "${COMISO_ROOT}" )
 
-  include_directories("${COMISO_ROOT}/CoMISo/ext/gmm-4.2/include")
-  include_directories("${COMISO_ROOT}/")
-  add_subdirectory("${COMISO_ROOT}/CoMISo/" "CoMISo")
-
   if(APPLE)
     find_library(accelerate_library Accelerate)
     list(APPEND SHARED_LIBRARIES "CoMISo" ${accelerate_library})
-  else(APPLE) #APPLE
-    list(APPEND SHARED_LIBRARIES "CoMISo")
   endif(APPLE)
 
+  if(MSVC)
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SCL_SECURE_NO_DEPRECATE")
+    #link_directories("${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/lib/")
+    list(APPEND SHARED_LIBRARIES "CoMISo" "${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/lib/libopenblas.dll.a.lib")
+  endif(MSVC)
+
+
+  include_directories("${COMISO_ROOT}/CoMISo/ext/gmm-4.2/include")
+  include_directories("${COMISO_ROOT}/")
+  add_subdirectory("${COMISO_ROOT}/CoMISo/" "CoMISo")
+
+  if(MSVC)
+    # Copy the dll
+    add_custom_target(Copy-CoMISo-DLL        # Adds a post-build event to MyTest
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different
+        "${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libopenblas.dll"
+        "${CMAKE_CURRENT_BINARY_DIR}/libopenblas.dll"
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different
+        "${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libgcc_s_seh-1.dll"
+        "${CMAKE_CURRENT_BINARY_DIR}/libgcc_s_seh-1.dll"
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different
+        "${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libgfortran-3.dll"
+        "${CMAKE_CURRENT_BINARY_DIR}/libgfortran-3.dll"
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different
+        "${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libquadmath-0.dll"
+        "${CMAKE_CURRENT_BINARY_DIR}/libquadmath-0.dll")
+  endif(MSVC)
+
 ENDIF(LIBCOMISO_FOUND)
 
 message(STATUS "Linking with: ${LIBIGL_LIBRARIES}")

+ 4 - 3
tutorial/cmake/FindLIBCOMISOH.cmake

@@ -19,8 +19,9 @@ FIND_PATH(LIBCOMISO_INCLUDE_DIR CoMISo/Solver/ConstrainedSolver.hh
    ${PROJECT_SOURCE_DIR}/../CoMISo/include
    ${PROJECT_SOURCE_DIR}/../../CoMISo/
    ${PROJECT_SOURCE_DIR}/../../CoMISo/include
-   /Users/daniele/Dropbox/igl/MIQ/src
-   /Users/olkido/Documents/igl/MIQ/src
+   ${PROJECT_SOURCE_DIR}/../external
+   ${PROJECT_SOURCE_DIR}/../../external
+   ${PROJECT_SOURCE_DIR}/../../../external
 )
 
 SET(LIBCOMISO_FOUND "NO")
@@ -56,6 +57,6 @@ if(LIBCOMISO_INCLUDE_DIR)
 else(LIBCOMISO_INCLUDE_DIR)
   if (NOT LIBCOMISOH_FIND_QUIETLY)
    message(FATAL_ERROR "could NOT find LIBCOMISO")
- endif (NOT LIBCOMISO_FIND_QUIETLY)
+  endif (NOT LIBCOMISOH_FIND_QUIETLY)
 
 endif(LIBCOMISO_INCLUDE_DIR)