From baa300b8fc8b0d8e61fbc23769174fe5d1da8751 Mon Sep 17 00:00:00 2001 From: maier Date: Fri, 1 Nov 2013 14:52:07 +0000 Subject: [PATCH] Fix some installation paths and the INVOKE_AUTOPILOT macro for Windows, add a news entry git-svn-id: https://svn.dealii.org/trunk@31504 0785d39b-7218-0410-832d-ea1e28bc413d --- .../checks/check_02_system_features.cmake | 2 +- .../macro_deal_ii_invoke_autopilot.cmake | 37 ++++++++++++------- deal.II/doc/news/changes.h | 6 +++ deal.II/source/CMakeLists.txt | 6 ++- 4 files changed, 34 insertions(+), 17 deletions(-) diff --git a/deal.II/cmake/checks/check_02_system_features.cmake b/deal.II/cmake/checks/check_02_system_features.cmake index f67407f6bd..562e174f67 100644 --- a/deal.II/cmake/checks/check_02_system_features.cmake +++ b/deal.II/cmake/checks/check_02_system_features.cmake @@ -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() diff --git a/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake b/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake index cce7276509..8581f75f32 100644 --- a/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake +++ b/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake @@ -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" ) diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index 4f73986ec4..6960664c7e 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -94,6 +94,12 @@ inconvenience this causes.
    +
  1. 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. +
    + (Matthias Maier, 2013/11/1) +
  2. +
  3. Changed: step-9, step-13 and step-14 have been converted to use the more modern WorkStream concept for assembling linear systems in parallel.
    diff --git a/deal.II/source/CMakeLists.txt b/deal.II/source/CMakeLists.txt index 0265ce09f4..2603d71b4a 100644 --- a/deal.II/source/CMakeLists.txt +++ b/deal.II/source/CMakeLists.txt @@ -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() -- 2.39.5