]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Fix some installation paths and the INVOKE_AUTOPILOT macro for Windows, add a news...
authorMatthias Maier <tamiko@kyomu.43-1.org>
Fri, 1 Nov 2013 14:52:07 +0000 (14:52 +0000)
committerMatthias Maier <tamiko@kyomu.43-1.org>
Fri, 1 Nov 2013 14:52:07 +0000 (14:52 +0000)
git-svn-id: https://svn.dealii.org/trunk@31504 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/cmake/checks/check_02_system_features.cmake
deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake
deal.II/doc/news/changes.h
deal.II/source/CMakeLists.txt

index f67407f6bd34ba584d7b6761d014abc318798ffe..562e174f67bb5c06a8bc51519203693f8b701994 100644 (file)
@@ -120,7 +120,7 @@ IF( CMAKE_SYSTEM_NAME MATCHES "CYGWIN"
     #
 
     MESSAGE(WARNING "\n"
-      "GCC ports (Cygwin or MinGW) older than version 4.8 are unsupported on Windows\n\n"
+      "GCC ports (Cygwin, MinGW-w64, or MinGW) older than version 4.8 are unsupported on Windows\n\n"
       )
 
   ELSE()
index cce7276509abe28060b9626f85b51a5fc67c08ca..8581f75f3219a9a688cf93734c67cc4021862731 100644 (file)
@@ -50,22 +50,31 @@ MACRO(DEAL_II_INVOKE_AUTOPILOT)
     SET(TARGET_RUN ${TARGET})
   ENDIF()
 
-  #
-  # Hack for Cygwin targets: Export PATH to point to the dynamic library.
-  # This is more or less harmless, so do this unconditionally.
-  #
-  FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/run_target.cmake
-    "SET(ENV{PATH} \"${CMAKE_CURRENT_BINARY_DIR}:${DEAL_II_PATH}/${DEAL_II_LIBRARY_RELDIR}:\$ENV{PATH}\")\n"
-    "EXECUTE_PROCESS(COMMAND ${TARGET_RUN}\n"
-    "  RESULT_VARIABLE _return_value\n"
-    "  )\n"
-    "IF(NOT \"\${_return_value}\" STREQUAL \"0\")\n"
-    "  MESSAGE(SEND_ERROR \"\nProgram terminated with exit code: \${_return_value}\")\n"
-    "ENDIF()\n"
-    )
+  IF( CMAKE_SYSTEM_NAME MATCHES "CYGWIN"
+      OR CMAKE_SYSTEM_NAME MATCHES "Windows" )
+    #
+    # Hack for Cygwin and Windows targets: Export PATH to point to the
+    # dynamic library.
+    #
+    FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/run_target.cmake
+      "SET(ENV{PATH} \"${CMAKE_CURRENT_BINARY_DIR};${DEAL_II_PATH}/${DEAL_II_EXECUTABLE_RELDIR};\$ENV{PATH}\")\n"
+      "EXECUTE_PROCESS(COMMAND ${TARGET_RUN}\n"
+      "  RESULT_VARIABLE _return_value\n"
+      "  )\n"
+      "IF(NOT \"\${_return_value}\" STREQUAL \"0\")\n"
+      "  MESSAGE(SEND_ERROR \"\nProgram terminated with exit code: \${_return_value}\")\n"
+      "ENDIF()\n"
+      )
+    SET(_command
+      ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/run_target.cmake
+      )
+  ELSE()
+    SET(_command ${TARGET_RUN})
+  ENDIF()
+
   IF(NOT "${TARGET_RUN}" STREQUAL "")
     ADD_CUSTOM_TARGET(run
-      COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/run_target.cmake
+      COMMAND ${_command}
       DEPENDS ${TARGET}
       COMMENT "Run ${TARGET} with ${CMAKE_BUILD_TYPE} configuration"
       )
index 4f73986ec4d60e83df260e7508d2af34d1a0fcbe..6960664c7e161dca1ae3735f8717ccf357709949 100644 (file)
@@ -94,6 +94,12 @@ inconvenience this causes.
 
 
 <ol>
+  <li> Added support for Windows: It is now possible again to use gcc on Windows
+  in order to compile the library. We support gcc-4.8.1 on Cygwin64 and MinGW-w64.
+  <br>
+  (Matthias Maier, 2013/11/1)
+  </li>
+
   <li> Changed: step-9, step-13 and step-14 have been converted to use the
   more modern WorkStream concept for assembling linear systems in parallel.
   <br>
index 0265ce09f462ceb58c008ee4db9ff0c422d64983..2603d71b4ad7fa628b2ac5553d1d1fd9d2d9d1ce 100644 (file)
@@ -81,7 +81,7 @@ FOREACH(build ${DEAL_II_BUILD_TYPES})
     INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${DEAL_II_LIBRARY_RELDIR}"
     ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${DEAL_II_LIBRARY_RELDIR}"
     LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${DEAL_II_LIBRARY_RELDIR}"
-    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${DEAL_II_LIBRARY_RELDIR}"
+    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${DEAL_II_EXECUTABLE_RELDIR}"
     )
 
   TARGET_LINK_LIBRARIES(${DEAL_II_BASE_NAME}${DEAL_II_${build}_SUFFIX}
@@ -99,7 +99,9 @@ FOREACH(build ${DEAL_II_BUILD_TYPES})
 
   INSTALL(TARGETS ${DEAL_II_BASE_NAME}${DEAL_II_${build}_SUFFIX}
     EXPORT ${DEAL_II_PROJECT_CONFIG_NAME}Targets
-    DESTINATION ${DEAL_II_LIBRARY_RELDIR}
+    RUNTIME DESTINATION ${DEAL_II_EXECUTABLE_RELDIR}
+    LIBARARY DESTINATION ${DEAL_II_LIBRARY_RELDIR}
+    ARCHIVE DESTINATION ${DEAL_II_LIBRARY_RELDIR}
     COMPONENT library
     )
 ENDFOREACH()

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.