From: maier Date: Sun, 30 Sep 2012 21:08:40 +0000 (+0000) Subject: The big contrib -> bundled move, part 1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8643b5c7f1f15204ee6fcfcc52219f8697d1c2fd;p=dealii-svn.git The big contrib -> bundled move, part 1 git-svn-id: https://svn.dealii.org/branches/branch_cmake@26892 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/CMakeLists.txt b/deal.II/CMakeLists.txt index b06ff1cab4..62544e0f4d 100644 --- a/deal.II/CMakeLists.txt +++ b/deal.II/CMakeLists.txt @@ -25,7 +25,7 @@ SET(VERSION "8.0.pre") # # Feature selection: external libraries and where to take them (if there -# is a choice, e.g. from contrib vs external) +# is a choice, e.g. from bundled vs external) # OPTION(DEAL_II_FEATURE_AUTODETECTION @@ -36,14 +36,14 @@ OPTION(DEAL_II_FEATURE_AUTODETECTION "Enables feature autodetection. This will automatically set DEAL_II_WITH_<...> options." ON) -OPTION(DEAL_II_ALLOW_CONTRIB -# Allow the use of contrib libraries bundled with the source tarball. -# Note: If set to off DEAL_II_FORCE_CONTRIB* will still pull in bundled +OPTION(DEAL_II_ALLOW_BUNDLED +# Allow the use of bundled libraries bundled with the source tarball. +# Note: If set to off DEAL_II_FORCE_BUNDLED* will still pull in bundled # packages, so to ensure that only external libraries are used -# DEAL_II_ALLOW_CONTRIB as well as all DEAL_II_FORCE_CONTRIB_* have to be +# DEAL_II_ALLOW_BUNDLED as well as all DEAL_II_FORCE_BUNDLED* have to be # OFF # Short description: - "Allow the use of contrib libraries bundled with the source tarball. (DEAL_II_FORCE_CONTRIB* will overwrite this option.)" + "Allow the use of libraries bundled with the source tarball. (DEAL_II_FORCE_BUNDLED* will overwrite this option.)" OFF) OPTION(DEAL_II_WITH_ARPACK @@ -55,7 +55,7 @@ SET(DEAL_II_WITH_BOOST ON CACHE BOOL "Build deal.II with support for boost." FORCE ) -OPTION(DEAL_II_FORCE_CONTRIB_BOOST +OPTION(DEAL_II_FORCE_BUNDLED_BOOST "Always use the bundled boost library instead of an external one." OFF) @@ -66,7 +66,7 @@ OPTION(DEAL_II_WITH_DOXYGEN OPTION(DEAL_II_WITH_FUNCTIONPARSER "Build deal.II with support for functionparser." OFF) -OPTION(DEAL_II_FORCE_CONTRIB_FUNCTIONPARSER +OPTION(DEAL_II_FORCE_BUNDLED_FUNCTIONPARSER "Always use the bundled functionparser library instead of an external one." ON) @@ -97,7 +97,7 @@ OPTION(DEAL_II_WITH_PETSC OPTION(DEAL_II_WITH_TBB "Build deal.II with support for tbb. This will enable thread support in deal.II." OFF) -OPTION(DEAL_II_FORCE_CONTRIB_TBB +OPTION(DEAL_II_FORCE_BUNDLED_TBB "Always use the bundled tbb library instead of an external one." OFF) @@ -108,7 +108,7 @@ OPTION(DEAL_II_WITH_TRILINOS OPTION(DEAL_II_WITH_UMFPACK "Build deal.II with support for UMFPACK." OFF) -OPTION(DEAL_II_FORCE_CONTRIB_UMFPACK +OPTION(DEAL_II_FORCE_BUNDLED_UMFPACK "Always use the bundled umfpack library instead of an external one." OFF) @@ -243,6 +243,7 @@ ADD_SUBDIRECTORY(include) # # Compile and install the library: # +ADD_SUBDIRECTORY(bundled) ADD_SUBDIRECTORY(source) diff --git a/deal.II/TODO.CMAKE b/deal.II/TODO.CMAKE index 0a19e9f453..4420919578 100644 --- a/deal.II/TODO.CMAKE +++ b/deal.II/TODO.CMAKE @@ -40,10 +40,5 @@ Minor: * There is still a perl script for generating lapack_templates.h. Is this necessary. -* What to do with ./lib/meshes ? I have moved it to ./contrib/meshes for - the time being... - * TODO: Update the p4est-setup.sh script... -* The contrib libraries are included too early. User CXX_FLAGS won't be - included in the contrib object targets... diff --git a/deal.II/bundled/CMakeLists.txt b/deal.II/bundled/CMakeLists.txt new file mode 100644 index 0000000000..8101804155 --- /dev/null +++ b/deal.II/bundled/CMakeLists.txt @@ -0,0 +1,46 @@ + +# +# TODO: +# The corresponding _folder and \n" " $ ccmake -DUMFPACK_DIR=\"...\" cmake <...>\n" "or set the relevant variables by hand in ccmake.\n" - "Alternatively you may choose to compile the bundled contrib libraries\n" - "by setting DEAL_II_ALLOW_CONTRIB=on or DEAL_II_FORCE_CONTRIB_UMFPACK=on.\n\n" + "Alternatively you may choose to compile the bundled libraries\n" + "by setting DEAL_II_ALLOW_BUNDLED=ON or DEAL_II_FORCE_BUNDLED_UMFPACK=ON.\n\n" ) ENDMACRO() diff --git a/deal.II/cmake/macros/macro_configure_feature.cmake b/deal.II/cmake/macros/macro_configure_feature.cmake index b21abfeffe..0e5be35169 100644 --- a/deal.II/cmake/macros/macro_configure_feature.cmake +++ b/deal.II/cmake/macros/macro_configure_feature.cmake @@ -20,14 +20,14 @@ # to work.) The features must be given with the full option toggle: # DEAL_II_WITH_[...] # -# FEATURE_${feature}_HAVE_CONTRIB (variable, optional) +# FEATURE_${feature}_HAVE_BUNDLED (variable, optional) # which should either be set to TRUE if all necessary libraries of the # features comes bundled with deal.II and hence can be supported # without external dependencies, or unset. # -# FEATURE_${feature}_CONFIGURE_CONTRIB(var) (macro, optional) +# FEATURE_${feature}_CONFIGURE_BUNDLED(var) (macro, optional) # which should setup all necessary configuration for the feature with -# contrib source dependencies. var set to TRUE indicates success, +# bundled source dependencies. var set to TRUE indicates success, # otherwise this script gives an error. # # FEATURE_${feature}_FIND_EXTERNAL(var) (macro, mandatory) @@ -48,7 +48,7 @@ # # FEATURE_${feature}_ERROR_MESSAGE() (macro, optional) # which should print a meaningfull error message (with SEND_ERROR) for -# the case that no external library was found (and contrib is not +# the case that no external library was found (and bundled is not # allowed to be used.) If not defined, a suitable default error message # will be printed. # @@ -86,15 +86,15 @@ ENDMACRO() # MACRO(FEATURE_ERROR_MESSAGE feature) STRING(TOLOWER ${feature} feature_lowercase) - IF(FEATURE_${feature}_HAVE_CONTRIB) + IF(FEATURE_${feature}_HAVE_BUNDLED) MESSAGE(SEND_ERROR "\n" "Could not find the ${feature_lowercase} library!\n\n" "Please ensure that the ${feature_lowercase} library is installed on your computer.\n" "If the library is not at a default location, either provide some hints\n" "for the autodetection, or set the relevant variables by hand in ccmake.\n\n" - "Alternatively you may choose to compile the bundled contrib library of\n" - "${feature_lowercase} by setting DEAL_II_ALLOW_CONTRIB=on or\n" - "DEAL_II_FORCE_CONTRIB_${feature}=on.\n\n" + "Alternatively you may choose to compile the bundled library of\n" + "${feature_lowercase} by setting DEAL_II_ALLOW_BUNDLED=on or\n" + "DEAL_II_FORCE_BUNDLED_${feature}=on.\n\n" ) ELSE() MESSAGE(SEND_ERROR "\n" @@ -159,18 +159,18 @@ MACRO(CONFIGURE_FEATURE feature) ENDFOREACH() IF(macro_dependencies_ok) - IF(DEAL_II_FORCE_CONTRIB_${feature}) + IF(DEAL_II_FORCE_BUNDLED_${feature}) # - # First case: DEAL_II_FORCE_CONTRIB_${feature} is defined: + # First case: DEAL_II_FORCE_BUNDLED_${feature} is defined: # - IF(FEATURE_${feature}_HAVE_CONTRIB) + IF(FEATURE_${feature}_HAVE_BUNDLED) RUN_COMMAND( - "FEATURE_${feature}_CONFIGURE_CONTRIB(FEATURE_${feature}_CONTRIB_CONFIGURED)" + "FEATURE_${feature}_CONFIGURE_BUNDLED(FEATURE_${feature}_BUNDLED_CONFIGURED)" ) - IF(FEATURE_${feature}_CONTRIB_CONFIGURED) + IF(FEATURE_${feature}_BUNDLED_CONFIGURED) MESSAGE(STATUS - "DEAL_II_WITH_${feature} successfully set up with contrib packages." + "DEAL_II_WITH_${feature} successfully set up with bundled packages." ) IF(DEAL_II_FEATURE_AUTODETECTION) SET_CACHED_OPTION(DEAL_II_WITH_${feature} ON) @@ -178,17 +178,17 @@ MACRO(CONFIGURE_FEATURE feature) ELSE() # This should not happen. So give an error MESSAGE(SEND_ERROR - "Failed to set up DEAL_II_WITH_${feature} with contrib packages." + "Failed to set up DEAL_II_WITH_${feature} with bundled packages." ) ENDIF() ELSE() MESSAGE(FATAL_ERROR - "Internal build system error: DEAL_II_FORCE_CONTRIB_${feature} " - "defined, but FEATURE_${feature}_HAVE_CONTRIB not present." + "Internal build system error: DEAL_II_FORCE_BUNDLED_${feature} " + "defined, but FEATURE_${feature}_HAVE_BUNDLED not present." ) ENDIF() - ELSE(DEAL_II_FORCE_CONTRIB_${feature}) + ELSE(DEAL_II_FORCE_BUNDLED_${feature}) # # Second case: We are allowed to search for an external library # @@ -225,13 +225,13 @@ MACRO(CONFIGURE_FEATURE feature) "DEAL_II_WITH_${feature} has unmet external dependencies." ) - IF(FEATURE_${feature}_HAVE_CONTRIB AND DEAL_II_ALLOW_CONTRIB) + IF(FEATURE_${feature}_HAVE_BUNDLED AND DEAL_II_ALLOW_BUNDLED) RUN_COMMAND( - "FEATURE_${feature}_CONFIGURE_CONTRIB(FEATURE_${feature}_CONTRIB_CONFIGURED)" + "FEATURE_${feature}_CONFIGURE_BUNDLED(FEATURE_${feature}_BUNDLED_CONFIGURED)" ) - IF(FEATURE_${feature}_CONTRIB_CONFIGURED) + IF(FEATURE_${feature}_BUNDLED_CONFIGURED) MESSAGE(STATUS - "DEAL_II_WITH_${feature} successfully set up with contrib packages." + "DEAL_II_WITH_${feature} successfully set up with bundled packages." ) IF(DEAL_II_FEATURE_AUTODETECTION) SET_CACHED_OPTION(DEAL_II_WITH_${feature} ON) @@ -239,7 +239,7 @@ MACRO(CONFIGURE_FEATURE feature) ELSE() # This should not happen. So give an error MESSAGE(SEND_ERROR - "Failed to set up DEAL_II_WITH_${feature} with contrib packages." + "Failed to set up DEAL_II_WITH_${feature} with bundled packages." ) ENDIF() ELSE() @@ -255,7 +255,7 @@ MACRO(CONFIGURE_FEATURE feature) ENDIF() ENDIF(FEATURE_${feature}_EXTERNAL_FOUND) - ENDIF(DEAL_II_FORCE_CONTRIB_${feature}) + ENDIF(DEAL_II_FORCE_BUNDLED_${feature}) ENDIF(macro_dependencies_ok) ENDIF(DEAL_II_FEATURE_AUTODETECTION OR DEAL_II_WITH_${feature}) diff --git a/deal.II/cmake/setup_deal_ii.cmake b/deal.II/cmake/setup_deal_ii.cmake index 233acea212..7d9cf5cd5e 100644 --- a/deal.II/cmake/setup_deal_ii.cmake +++ b/deal.II/cmake/setup_deal_ii.cmake @@ -97,7 +97,7 @@ ENDIF() LIST(APPEND DEAL_II_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${DEAL_II_INCLUDE_RELDIR}" "${CMAKE_INSTALL_PREFIX}/${DEAL_II_INCLUDE_RELDIR}/deal.II" - "${CMAKE_INSTALL_PREFIX}/${DEAL_II_INCLUDE_RELDIR}/deal.II/contrib" + "${CMAKE_INSTALL_PREFIX}/${DEAL_II_INCLUDE_RELDIR}/deal.II/bundled" ) # diff --git a/deal.II/cmake/setup_finalize.cmake b/deal.II/cmake/setup_finalize.cmake index 68bf8892a0..b64ab73d62 100644 --- a/deal.II/cmake/setup_finalize.cmake +++ b/deal.II/cmake/setup_finalize.cmake @@ -79,9 +79,9 @@ IF(CMAKE_BUILD_TYPE MATCHES "Debug") ENDIF() -IF(FEATURE_UMFPACK_CONTRIB_CONFIGURED) +IF(FEATURE_UMFPACK_BUNDLED_CONFIGURED) MESSAGE(" -The contrib UMFPACK library will be compiled with the following C compiler: +The bundled UMFPACK library will be compiled with the following C compiler: CMAKE_C_COMPILER: ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} ${CMAKE_C_COMPILER} CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") @@ -108,7 +108,7 @@ ENDIF() MESSAGE(" Configured Features (" "DEAL_II_FEATURE_AUTODETECTION = ${DEAL_II_FEATURE_AUTODETECTION}, " - "DEAL_II_ALLOW_CONTRIB = ${DEAL_II_ALLOW_CONTRIB}):" + "DEAL_II_ALLOW_BUNDLED = ${DEAL_II_ALLOW_BUNDLED}):" ) GET_CMAKE_PROPERTY(res VARIABLES) FOREACH(var ${res}) @@ -121,11 +121,11 @@ FOREACH(var ${res}) MESSAGE(" ${var} set up with external dependencies") ENDIF() - IF(FEATURE_${feature}_CONTRIB_CONFIGURED) - IF(DEAL_II_FORCE_CONTRIB_${feature}) - MESSAGE(" ${var} set up with contrib packages (forced)") + IF(FEATURE_${feature}_BUNDLED_CONFIGURED) + IF(DEAL_II_FORCE_BUNDLED_${feature}) + MESSAGE(" ${var} set up with bundled packages (forced)") ELSE() - MESSAGE(" ${var} set up with contrib packages") + MESSAGE(" ${var} set up with bundled packages") ENDIF() ENDIF() ELSE() diff --git a/deal.II/contrib/README.contrib b/deal.II/contrib/README.contrib index 77c8ee36a9..40b9c2bf37 100644 --- a/deal.II/contrib/README.contrib +++ b/deal.II/contrib/README.contrib @@ -1,76 +1,22 @@ -This folder contains third party projects bundled with deal.II +This folder contains contributions to the deal.II library -PLEASE NOTE THAT THESE PROJECTS ARE COPYRIGHTED BY OTHERS THAN THE deal.II -AUTHORS, but are included by permission. For details, consult the stated -licenses below. +PLEASE NOTE THAT THESE PROJECTS MAY be COPYRIGHTED BY OTHERS THAN THE +deal.II AUTHORS, but are included by permission. For details, consult the +stated licenses below. -Below is a detailed list of the content of each subdirectory, and the -licenses that apply. - -boost-1.49.0 -============ - -Contains parts of the boost c++ libraries copyrighted by the boost authors -and licensed under the Boost Software License Version 1.0. See -boost-1.49.0/LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt - -A full version of the library can be downloaded at http://www.boost.org/. - - -functionparser -============== - -Contains the functionparser project which is copyrighted by Juha Nieminen -and licensed under the GNU Lesser General Public License (LGPL) Version 3. -See functionparser/README, functionparser/lgpl-3.0.txt or -http://warp.povusers.org/FunctionParser/ - -A full version of the functionparser project can be downloaded at -http://warp.povusers.org/FunctionParser/. - - -mesh_conversion (TODO -> move to utilities) +mesh_conversion =============== Is a program originally written by Jean-Paul Pelteret and licensed under the GNU General Public License (GPL) Version 2.0. See mesh_conversion/README.txt, mesh_conversion/gpl-2.0.txt. -TODO: A homepage. - -parameter_gui (TODO -> move to utilities) +parameter_gui ============= Is a program written by Martin Steigemann and Wolfgang Bangerth and licensed under the GNU Lesser General Public License (LGPL) Version 2.1 or later. See parameter_gui/README, parameter_gui/lgpl-2.1.txt. -TODO: A homepage. - - -./tbb30_104oss -============== - -Contains parts of the Intel Threading Building Blocks library copyrighted -by the respective authors and licensed under the GNU General Public License -(GPL) Version 2.0 with a runtime exception. See tbb30_104oss/COPYING or -http://threadingbuildingblocks.org/. - -A full version of the tbb project can be downloaded at -http://threadingbuildingblocks.org/. - - -./umfpack (UMFPACK 5.0.2, AMD 2.2, UFCONFIG) -========= - -Contains parts of the UMFPACK, AMD and UFCONFIG libraries copyrighted by -Timothy A. Davis, Patrick R. Amestoy, and Iain S. Duff and licensed under -the GNU Lesser General Public Licensse version 2.1 or later. Or alternative -licenses as explained in umfpack/UMFPACK/Doc/License and -umfpack/AMD/Doc/License. See umfpack/README.txt and umfpack/lgpl-2.1.txt. - -A full version of UMFPACK can be downloaded at -http://www.cise.ufl.edu/research/sparse/umfpack/. -