From: maier Date: Thu, 9 Aug 2012 22:54:35 +0000 (+0000) Subject: Add the lapack_templates.pl functionality for the meantime... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af2a23772c75d3bd879073b03a27c9a08890267c;p=dealii-svn.git Add the lapack_templates.pl functionality for the meantime... git-svn-id: https://svn.dealii.org/branches/branch_cmake@25847 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/CMakeLists.txt b/deal.II/CMakeLists.txt index 0a31487819..27ac703efa 100644 --- a/deal.II/CMakeLists.txt +++ b/deal.II/CMakeLists.txt @@ -12,48 +12,31 @@ SET(CMAKE_INCLUDE_CURRENT_DIR true) # OPTION(DEAL_II_USE_CONTRIB "Build and use contrib libraries bundled with the source tarball." OFF) -OPTION(DEAL_II_WITH_UMFPACK "Build deal.II with support for UMFPACK, BLAS and LAPACK." ON) OPTION(DEAL_II_WITH_THREADS "Build deal.II with support for threads. This pulls in libtbb as a dependency." ON) -OPTION(DEAL_II_WITH_METIS "Build deal.II with support for Metis." OFF) -OPTION(DEAL_II_MPI "Build deal.II with support for openmpi." OFF) OPTION(DEAL_II_FUNCTIONPARSER "BUild deal.II with support for functionparser" ON) +OPTION(DEAL_II_MPI "Build deal.II with support for openmpi." OFF) +OPTION(DEAL_II_WITH_UMFPACK "Build deal.II with support for UMFPACK, BLAS and LAPACK." ON) +OPTION(DEAL_II_WITH_METIS "Build deal.II with support for Metis." OFF) # TODO: The rest ;-) - # # Configure: # SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + "${CMAKE_SOURCE_DIR}/contrib/cmake/macros/" "${CMAKE_SOURCE_DIR}/contrib/cmake/modules/" ) -# -# DEAL_II_WITH_THREADS: -# - IF(DEAL_II_WITH_THREADS) - FIND_PACKAGE(Threads REQUIRED) - - IF(DEAL_II_USE_CONTRIB) - # Compiles and links libtbb, exports the TBB_* variables as well: - ADD_SUBDIRECTORY(contrib/tbb) - ELSE() - FIND_PACKAGE(TBB REQUIRED) - ENDIF() - - INCLUDE_DIRECTORIES(${TBB_INCLUDE_DIR}) - - SET(DEAL_II_USE_MT TRUE) - SET(DEAL_II_USE_MT_POSIX TRUE) + INCLUDE(deal_ii_with_threads) ENDIF() - -# -# -# +IF(DEAL_II_WITH_UMFPACK) + INCLUDE(deal_ii_with_umfpack) +ENDIF() # @@ -69,10 +52,11 @@ ADD_SUBDIRECTORY(common/expand_instantiations) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include/ + ${CMAKE_SOURCE_DIR}/contrib/ #TODO ${CMAKE_BINARY_DIR}/include/ ) -INCLUDE(${CMAKE_SOURCE_DIR}/contrib/cmake/macros/macro_expand_instantiations.cmake) +INCLUDE(macro_expand_instantiations) ADD_SUBDIRECTORY(include) ADD_SUBDIRECTORY(source) diff --git a/deal.II/contrib/cmake/modules/deal_ii_with_threads.cmake b/deal.II/contrib/cmake/modules/deal_ii_with_threads.cmake new file mode 100644 index 0000000000..2afd963044 --- /dev/null +++ b/deal.II/contrib/cmake/modules/deal_ii_with_threads.cmake @@ -0,0 +1,14 @@ +FIND_PACKAGE(Threads REQUIRED) + +IF(DEAL_II_USE_CONTRIB) + # Compiles and links libtbb, exports the TBB_* variables as well: + ADD_SUBDIRECTORY(contrib/tbb) +ELSE() + FIND_PACKAGE(TBB REQUIRED) +ENDIF() + +INCLUDE_DIRECTORIES(${TBB_INCLUDE_DIR}) +# TODO: external_libraries + +SET(DEAL_II_USE_MT TRUE) +SET(DEAL_II_USE_MT_POSIX TRUE) diff --git a/deal.II/contrib/cmake/modules/deal_ii_with_umfpack.cmake b/deal.II/contrib/cmake/modules/deal_ii_with_umfpack.cmake new file mode 100644 index 0000000000..e69de29bb2 diff --git a/deal.II/contrib/tbb/CMakeLists.txt b/deal.II/contrib/tbb/CMakeLists.txt index ac3d6c306f..5ae0b53c48 100644 --- a/deal.II/contrib/tbb/CMakeLists.txt +++ b/deal.II/contrib/tbb/CMakeLists.txt @@ -9,8 +9,7 @@ ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND( # - # TODO: This is very ugly. There should be a better way than calling to a - # Makefile... + # This makes me very, very sad: # OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${libtbb_directory}/build COMMAND "make" @@ -23,7 +22,7 @@ ADD_CUSTOM_TARGET(tbb ALL ${CMAKE_CURRENT_BINARY_DIR}/${libtbb_directory}/build ) -ADD_CUSTOM_TARGET(contrib ALL DEPENDS tbb) +ADD_CUSTOM_TARGET(deal_ii_target_dependencies ALL DEPENDS tbb) SET(TBB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${libtbb_directory}/include) SET(TBB_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/libtbb.so) diff --git a/deal.II/include/CMakeLists.txt b/deal.II/include/CMakeLists.txt index 8fc14ed5e2..f081190bc7 100644 --- a/deal.II/include/CMakeLists.txt +++ b/deal.II/include/CMakeLists.txt @@ -1,9 +1,21 @@ -CONFIGURE_FILE( - ${CMAKE_CURRENT_SOURCE_DIR}/deal.II/lac/lapack_templates.h.in - ${CMAKE_CURRENT_BINARY_DIR}/deal.II/lac/lapack_templates.h - ) - CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/deal.II/base/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/deal.II/base/config.h ) + + +# +#TODO: This perl script has to die...: +# +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deal.II/lac/lapack_templates.h + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/deal.II/lac/ + COMMAND perl + ARGS ${CMAKE_SOURCE_DIR}/common/scripts/lapack_templates.pl + ${CMAKE_CURRENT_SOURCE_DIR}/deal.II/lac/lapack_templates.h.in + > ${CMAKE_CURRENT_BINARY_DIR}/deal.II/lac/lapack_templates.h + ) + +ADD_CUSTOM_TARGET(deal_ii_target_dependencies ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/deal.II/lac/lapack_templates.h + ) diff --git a/deal.II/source/base/CMakeLists.txt b/deal.II/source/base/CMakeLists.txt index 14b7d4a8a7..1a844f9bb4 100644 --- a/deal.II/source/base/CMakeLists.txt +++ b/deal.II/source/base/CMakeLists.txt @@ -49,5 +49,5 @@ SET(src_base ) ADD_LIBRARY(obj_base OBJECT ${src_base}) -ADD_DEPENDENCIES(obj_base contrib) +ADD_DEPENDENCIES(obj_base deal_ii_target_dependencies) diff --git a/deal.II/source/distributed/CMakeLists.txt b/deal.II/source/distributed/CMakeLists.txt index 73c7632f01..44b609ba56 100644 --- a/deal.II/source/distributed/CMakeLists.txt +++ b/deal.II/source/distributed/CMakeLists.txt @@ -12,4 +12,4 @@ SET(inst_in_files ADD_LIBRARY(obj_distributed OBJECT ${src}) macro_expand_instantiations(obj_distributed "${inst_in_files}") -ADD_DEPENDENCIES(obj_distributed contrib) +ADD_DEPENDENCIES(obj_distributed deal_ii_target_dependencies) diff --git a/deal.II/source/dofs/CMakeLists.txt b/deal.II/source/dofs/CMakeLists.txt index ad2054e811..9d3bfd2fb0 100644 --- a/deal.II/source/dofs/CMakeLists.txt +++ b/deal.II/source/dofs/CMakeLists.txt @@ -23,4 +23,4 @@ SET(inst_in_files ADD_LIBRARY(obj_dofs OBJECT ${src}) macro_expand_instantiations(obj_dofs "${inst_in_files}") -ADD_DEPENDENCIES(obj_dofs contrib) +ADD_DEPENDENCIES(obj_dofs deal_ii_target_dependencies) diff --git a/deal.II/source/fe/CMakeLists.txt b/deal.II/source/fe/CMakeLists.txt index 23a92849c3..a9593060bd 100644 --- a/deal.II/source/fe/CMakeLists.txt +++ b/deal.II/source/fe/CMakeLists.txt @@ -65,4 +65,4 @@ SET(inst_in_files ADD_LIBRARY(obj_fe OBJECT ${src}) macro_expand_instantiations(obj_fe "${inst_in_files}") -ADD_DEPENDENCIES(obj_fe contrib) +ADD_DEPENDENCIES(obj_fe deal_ii_target_dependencies) diff --git a/deal.II/source/grid/CMakeLists.txt b/deal.II/source/grid/CMakeLists.txt index 844eb6996d..92a498766a 100644 --- a/deal.II/source/grid/CMakeLists.txt +++ b/deal.II/source/grid/CMakeLists.txt @@ -32,4 +32,4 @@ SET(inst_in_files ADD_LIBRARY(obj_grid OBJECT ${src}) macro_expand_instantiations(obj_grid "${inst_in_files}") -ADD_DEPENDENCIES(obj_grid contrib) +ADD_DEPENDENCIES(obj_grid deal_ii_target_dependencies) diff --git a/deal.II/source/hp/CMakeLists.txt b/deal.II/source/hp/CMakeLists.txt index 68979669e8..5aad253514 100644 --- a/deal.II/source/hp/CMakeLists.txt +++ b/deal.II/source/hp/CMakeLists.txt @@ -17,4 +17,4 @@ SET(inst_in_files ADD_LIBRARY(obj_hp OBJECT ${src}) macro_expand_instantiations(obj_hp "${inst_in_files}") -ADD_DEPENDENCIES(obj_hp contrib) +ADD_DEPENDENCIES(obj_hp deal_ii_target_dependencies) diff --git a/deal.II/source/lac/CMakeLists.txt b/deal.II/source/lac/CMakeLists.txt index 30df3919c4..a5a668e65f 100644 --- a/deal.II/source/lac/CMakeLists.txt +++ b/deal.II/source/lac/CMakeLists.txt @@ -79,4 +79,4 @@ SET(inst_in_files ADD_LIBRARY(obj_lac OBJECT ${src}) macro_expand_instantiations(obj_lac "${inst_in_files}") -ADD_DEPENDENCIES(obj_lac contrib) +ADD_DEPENDENCIES(obj_lac deal_ii_target_dependencies) diff --git a/deal.II/source/multigrid/CMakeLists.txt b/deal.II/source/multigrid/CMakeLists.txt index e9d1d904df..734a5ed9f4 100644 --- a/deal.II/source/multigrid/CMakeLists.txt +++ b/deal.II/source/multigrid/CMakeLists.txt @@ -20,4 +20,4 @@ SET(inst_in_files ADD_LIBRARY(obj_multigrid OBJECT ${src}) macro_expand_instantiations(obj_multigrid "${inst_in_files}") -ADD_DEPENDENCIES(obj_multigrid contrib) +ADD_DEPENDENCIES(obj_multigrid deal_ii_target_dependencies) diff --git a/deal.II/source/numerics/CMakeLists.txt b/deal.II/source/numerics/CMakeLists.txt index 9ece9a2ce2..77fd720211 100644 --- a/deal.II/source/numerics/CMakeLists.txt +++ b/deal.II/source/numerics/CMakeLists.txt @@ -42,4 +42,4 @@ SET(inst_in_files ADD_LIBRARY(obj_numerics OBJECT ${src}) macro_expand_instantiations(obj_numerics "${inst_in_files}") -ADD_DEPENDENCIES(obj_numerics contrib) +ADD_DEPENDENCIES(obj_numerics deal_ii_target_dependencies)