]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add the old configuration behaviour as well
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 5 Oct 2012 18:33:15 +0000 (18:33 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 5 Oct 2012 18:33:15 +0000 (18:33 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@26975 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/CMakeLists.txt
deal.II/config/CMakeLists.txt
deal.II/config/Config.cmake.in
deal.II/config/setup_make.global_options.cmake [deleted file]
deal.II/config/setup_template-arguments.in.cmake [new file with mode: 0644]

index 145bcfea2775623643400350f8a67e81a163bb52..25cd8773f77bb8171d68746813bffac36219d4cd 100644 (file)
@@ -119,7 +119,7 @@ INCLUDE(setup_finalize)
 #
 # Build the toolchain and prepare the includes:
 #
-ADD_SUBDIRECTORY(config)
+INCLUDE(config/setup_template-arguments.in.cmake)
 ADD_SUBDIRECTORY(scripts)
 ADD_SUBDIRECTORY(include)
 
@@ -132,16 +132,14 @@ ENDIF()
 ADD_SUBDIRECTORY(source)
 
 #
-# Prepare some directories for installation
+# Prepare the remaining directories for installation
 #
+ADD_SUBDIRECTORY(config)
 IF(DEAL_II_WITH_DOC_DIRECTORY)
   ADD_SUBDIRECTORY(doc)
 ENDIF()
 ADD_SUBDIRECTORY(examples)
 ADD_SUBDIRECTORY(contrib)
-IF(DEAL_II_COMPONENT_COMPAT_FILES)
-  INCLUDE(config/setup_make.global_options.cmake)
-ENDIF()
 
 
 #
index d8d73562b9c347abe954389ecf41a8e4bd979bfc..a62e1b8b4e7e77f1650f28350432a4be7660bdcf 100644 (file)
 #####
 
 
-CONFIGURE_FILE(
-  ${CMAKE_CURRENT_SOURCE_DIR}/template-arguments.in
-  ${CMAKE_CURRENT_BINARY_DIR}/template-arguments
-  )
-
-
 ###########################################################################
 #                                                                         #
 #               Setup and install the convenience macros:                 #
@@ -44,6 +38,27 @@ INSTALL(FILES
 #                                                                         #
 ###########################################################################
 
+
+FOREACH(build ${DEAL_II_BUILD_TYPES})
+  SET(CONFIG_LIBRARIES_${build}
+    ${MAKEFILE_LIBRARY_${build}}
+    ${DEAL_II_EXTERNAL_LIBRARIES}
+    ${DEAL_II_EXTERNAL_LIBRARIES_${build}}
+     )
+  IF(NOT "${CONFIG_LIBRARIES_${build}}" STREQUAL "")
+    IF(build MATCHES DEBUG)
+      SET(keyword "debug")
+    ELSE()
+      SET(keyword "optmized")
+    ENDIF()
+    LIST(APPEND CONFIG_LIBRARIES
+      ${keyword}
+      ${CONFIG_LIBRARIES_${build}}
+      )
+  ENDIF()
+ENDFOREACH()
+
+
 CONFIGURE_FILE(
   ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
   ${CMAKE_CURRENT_BINARY_DIR}/${DEAL_II_PROJECT_CONFIG_NAME}Config.cmake
@@ -100,3 +115,93 @@ INSTALL(FILES
   COMPONENT library
   )
 
+
+###########################################################################
+#                                                                         #
+#          Configure and install the old Makefile configuration:          #
+#                                                                         #
+###########################################################################
+
+IF(DEAL_II_COMPONENT_COMPAT_FILES)
+  #
+  # Transform some cmake lists into a string that the old Makefile
+  # mechanism actually understands:
+  #
+  TO_STRING_AND_ADD_PREFIX(MAKEFILE_INCLUDE_DIRS "${CMAKE_INCLUDE_FLAG_C}"
+    ${DEAL_II_USER_INCLUDE_DIRS}
+    ${DEAL_II_INCLUDE_DIRS}
+    )
+
+  FOREACH(build ${DEAL_II_BUILD_TYPES})
+    TO_STRING_AND_ADD_PREFIX(MAKEFILE_DEFINITIONS_${build}
+      "-D"
+      ${DEAL_II_USER_DEFINITIONS}
+      ${DEAL_II_USER_DEFINITIONS_${build}}
+      )
+
+    #
+    # Add an rpath directive in front of each library, so that libraries
+    # outside of the default search directories will be found by the runtime
+    # dynamic linker:
+    #
+    FOREACH(lib
+        ${MAKEFILE_LIBRARY_${build}}
+        ${DEAL_II_EXTERNAL_LIBRARIES}
+        ${DEAL_II_EXTERNAL_LIBRARIES_${build}}
+        )
+      GET_FILENAME_COMPONENT(path ${lib} PATH)
+      LIST(APPEND MAKEFILE_LIBS_${build} "-Wl,-rpath -Wl,${path}")
+      LIST(APPEND MAKEFILE_LIBS_${build} ${lib})
+    ENDFOREACH()
+    TO_STRING(MAKEFILE_LIBS_${build} ${MAKEFILE_LIBS_${build}})
+    #
+    # Put our linker flags directly in front of this string:
+    #
+    SET(MAKEFILE_LIBS_${build}
+      "${CMAKE_SHARED_LINKER_FLAGS} ${DEAL_II_SHARED_LINKER_FLAGS_${build}} ${MAKEFILE_LIBS_${build}}"
+      )
+  ENDFOREACH()
+
+  #
+  # Boilerplate: The Make.global_options expects variables to be set to
+  # yes, as is common for Makefiles.
+  #
+  COND_SET_TO_YES(DEAL_II_WITH_TBB MAKEFILE_enablethreads)
+  COND_SET_TO_YES(DEAL_II_WITH_FUNCTIONPARSER MAKEFILE_enableparser)
+  COND_SET_TO_YES(BUILD_SHARED_LIBS MAKEFILE_enableshared)
+
+  COND_SET_TO_YES(DEAL_II_WITH_PETSC MAKEFILE_PETSC)
+  COND_SET_TO_YES(DEAL_II_USE_PETSC_DEV MAKEFILE_PETSC_DEV)
+  COND_SET_TO_YES(DEAL_II_WITH_TRILINOS MAKEFILE_TRILINOS)
+  COND_SET_TO_YES(DEAL_II_WITH_BLAS MAKEFILE_BLAS)
+  COND_SET_TO_YES(DEAL_II_WITH_LAPACK MAKEFILE_LAPACK)
+  COND_SET_TO_YES(DEAL_II_WITH_ARPACK MAKEFILE_ARPACK)
+  COND_SET_TO_YES(DEAL_II_WITH_METIS MAKEFILE_METIS)
+  COND_SET_TO_YES(DEAL_II_WITH_UMFPACK MAKEFILE_UMFPACK)
+  COND_SET_TO_YES(DEAL_II_WITH_P4EST MAKEFILE_P4EST)
+  COND_SET_TO_YES(DEAL_II_WITH_MPI MAKEFILE_MPI)
+
+  CONFIGURE_FILE(
+    ${CMAKE_CURRENT_SOURCE_DIR}/Make.global_options.in
+    ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options
+    )
+
+  CONFIGURE_FILE(
+    ${CMAKE_CURRENT_SOURCE_DIR}/Version.in
+    ${CMAKE_CURRENT_BINARY_DIR}/Version
+    )
+
+  INSTALL(FILES
+    ${CMAKE_CURRENT_BINARY_DIR}/template-arguments
+    ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options
+    DESTINATION common
+    COMPONENT compat_files
+    )
+
+  INSTALL(FILES
+    ${CMAKE_CURRENT_BINARY_DIR}/Version
+    DESTINATION ${CMAKE_INSTALL_PREFIX}
+    COMPONENT compat_files
+    )
+ENDIF()
+
index 5aef14ccd9420e854ef65c5cff752f82df500c52..3bc7c3f794daaa4df6178f02b140596f97119903 100644 (file)
@@ -89,14 +89,19 @@ SET(DEAL_II_USER_DEFINITIONS_RELEASE "@DEAL_II_USER_DEFINITIONS_RELEASE@")
 
 
 #
-# Information about include directories
+# Information about include directories and libraries
 #
 
-# Include directories of the deal.II library
 SET(DEAL_II_INCLUDE_DIRS "@DEAL_II_INCLUDE_DIRS@")
 
-# External include directories
-SET(DEAL_II_EXTERNAL_INCLUDE_DIRS "@DEAL_II_USER_INCLUDE_DIRS@")
+# Full list of libraries for the debug target:
+SET(DEAL_II_LIBRARIES_DEBUG "@CONFIG_LIBRARIES_DEBUG@")
+
+# Full lis of libraries for the release target:
+SET(DEAL_II_LIBRARIES_RELEASE "@CONFIG_LIBRARIES_RELEASE@")
+
+# Full list of libraries with "debug" and "optimized" keywords for easy use with TARGET_LINK_LIBRARIES:
+SET(DEAL_II_LIBRARIES "@CONFIG_LIBRARIES@")
 
 
 #
diff --git a/deal.II/config/setup_make.global_options.cmake b/deal.II/config/setup_make.global_options.cmake
deleted file mode 100644 (file)
index 986cd63..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#####
-##
-## Copyright (C) 2012 by the deal.II authors
-##
-## This file is part of the deal.II library.
-##
-## <TODO: Full License information>
-## This file is dual licensed under QPL 1.0 and LGPL 2.1 or any later
-## version of the LGPL license.
-##
-## Author: Matthias Maier <matthias.maier@iwr.uni-heidelberg.de>
-##
-#####
-
-
-###########################################################################
-#                                                                         #
-#          Configure and install the old Makefile configuration:          #
-#                                                                         #
-###########################################################################
-
-#
-# Transform some cmake lists into a string that the old Makefile
-# mechanism actually understands:
-#
-TO_STRING_AND_ADD_PREFIX(MAKEFILE_INCLUDE_DIRS "${CMAKE_INCLUDE_FLAG_C}"
-  ${DEAL_II_USER_INCLUDE_DIRS}
-  ${DEAL_II_INCLUDE_DIRS}
-  )
-
-FOREACH(build ${DEAL_II_BUILD_TYPES})
-  TO_STRING_AND_ADD_PREFIX(MAKEFILE_DEFINITIONS_${build}
-    "-D"
-    ${DEAL_II_USER_DEFINITIONS}
-    ${DEAL_II_USER_DEFINITIONS_${build}}
-    )
-
-  #
-  # Add an rpath directive in front of each library, so that libraries
-  # outside of the default search directories will be found by the runtime
-  # dynamic linker:
-  #
-  FOREACH(lib
-      ${MAKEFILE_LIBRARY_${build}}
-      ${DEAL_II_EXTERNAL_LIBRARIES}
-      ${DEAL_II_EXTERNAL_LIBRARIES_${build}}
-      )
-    GET_FILENAME_COMPONENT(path ${lib} PATH)
-    LIST(APPEND MAKEFILE_LIBS_${build} "-Wl,-rpath -Wl,${path}")
-    LIST(APPEND MAKEFILE_LIBS_${build} ${lib})
-  ENDFOREACH()
-  TO_STRING(MAKEFILE_LIBS_${build} ${MAKEFILE_LIBS_${build}})
-  #
-  # Put our linker flags directly in front of this string:
-  #
-  SET(MAKEFILE_LIBS_${build}
-    "${CMAKE_SHARED_LINKER_FLAGS} ${DEAL_II_SHARED_LINKER_FLAGS_${build}} ${MAKEFILE_LIBS_${build}}"
-    )
-ENDFOREACH()
-
-#
-# Boilerplate: The Make.global_options expects variables to be set to
-# yes, as is common for Makefiles.
-#
-COND_SET_TO_YES(DEAL_II_WITH_TBB MAKEFILE_enablethreads)
-COND_SET_TO_YES(DEAL_II_WITH_FUNCTIONPARSER MAKEFILE_enableparser)
-COND_SET_TO_YES(BUILD_SHARED_LIBS MAKEFILE_enableshared)
-
-COND_SET_TO_YES(DEAL_II_WITH_PETSC MAKEFILE_PETSC)
-COND_SET_TO_YES(DEAL_II_USE_PETSC_DEV MAKEFILE_PETSC_DEV)
-COND_SET_TO_YES(DEAL_II_WITH_TRILINOS MAKEFILE_TRILINOS)
-COND_SET_TO_YES(DEAL_II_WITH_BLAS MAKEFILE_BLAS)
-COND_SET_TO_YES(DEAL_II_WITH_LAPACK MAKEFILE_LAPACK)
-COND_SET_TO_YES(DEAL_II_WITH_ARPACK MAKEFILE_ARPACK)
-COND_SET_TO_YES(DEAL_II_WITH_METIS MAKEFILE_METIS)
-COND_SET_TO_YES(DEAL_II_WITH_UMFPACK MAKEFILE_UMFPACK)
-COND_SET_TO_YES(DEAL_II_WITH_P4EST MAKEFILE_P4EST)
-COND_SET_TO_YES(DEAL_II_WITH_MPI MAKEFILE_MPI)
-
-CONFIGURE_FILE(
-  ${CMAKE_SOURCE_DIR}/config/Make.global_options.in
-  ${CMAKE_BINARY_DIR}/config/Make.global_options
-  )
-
-CONFIGURE_FILE(
-  ${CMAKE_SOURCE_DIR}/config/Version.in
-  ${CMAKE_BINARY_DIR}/config/Version
-  )
-
-INSTALL(FILES
-  ${CMAKE_BINARY_DIR}/config/template-arguments
-  ${CMAKE_BINARY_DIR}/config/Make.global_options
-  DESTINATION common
-  COMPONENT compat_files
-  )
-
-INSTALL(FILES
-  ${CMAKE_BINARY_DIR}/config/Version
-  DESTINATION ${CMAKE_INSTALL_PREFIX}
-  COMPONENT compat_files
-  )
-
diff --git a/deal.II/config/setup_template-arguments.in.cmake b/deal.II/config/setup_template-arguments.in.cmake
new file mode 100644 (file)
index 0000000..5dc1594
--- /dev/null
@@ -0,0 +1,20 @@
+#####
+##
+## Copyright (C) 2012 by the deal.II authors
+##
+## This file is part of the deal.II library.
+##
+## <TODO: Full License information>
+## This file is dual licensed under QPL 1.0 and LGPL 2.1 or any later
+## version of the LGPL license.
+##
+## Author: Matthias Maier <matthias.maier@iwr.uni-heidelberg.de>
+##
+#####
+
+
+CONFIGURE_FILE(
+  ${CMAKE_SOURCE_DIR}/config/template-arguments.in
+  ${CMAKE_BINARY_DIR}/config/template-arguments
+  )
+

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.