]> https://gitweb.dealii.org/ - dealii.git/commitdiff
CMake: Improve IDE support:
authorMatthias Maier <tamiko@kyomu.43-1.org>
Wed, 27 Mar 2013 19:21:38 +0000 (19:21 +0000)
committerMatthias Maier <tamiko@kyomu.43-1.org>
Wed, 27 Mar 2013 19:21:38 +0000 (19:21 +0000)
  - Add headers and inst files to OBJECT targets
  - Add OBJECT targets for "header only" template stuff

git-svn-id: https://svn.dealii.org/branches/branch_cmake@29084 0785d39b-7218-0410-832d-ea1e28bc413d

15 files changed:
deal.II/cmake/macros/macro_deal_ii_add_library.cmake
deal.II/source/CMakeLists.txt
deal.II/source/algorithms/CMakeLists.txt [new file with mode: 0644]
deal.II/source/base/CMakeLists.txt
deal.II/source/distributed/CMakeLists.txt
deal.II/source/dofs/CMakeLists.txt
deal.II/source/fe/CMakeLists.txt
deal.II/source/grid/CMakeLists.txt
deal.II/source/hp/CMakeLists.txt
deal.II/source/integrators/CMakeLists.txt [new file with mode: 0644]
deal.II/source/lac/CMakeLists.txt
deal.II/source/matrix_free/CMakeLists.txt [new file with mode: 0644]
deal.II/source/meshworker/CMakeLists.txt [new file with mode: 0644]
deal.II/source/multigrid/CMakeLists.txt
deal.II/source/numerics/CMakeLists.txt

index e4b3fce70562a573091eaa34aefd80d88ac828ad..a86d4dba44759d8c4aee1d0cd102e6cfc127c123 100644 (file)
@@ -40,6 +40,7 @@ MACRO(DEAL_II_ADD_LIBRARY _library)
       LINK_FLAGS "${DEAL_II_SHARED_LINKER_FLAGS_${_build}}"
       COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_${_build}}"
       COMPILE_FLAGS "${DEAL_II_CXX_FLAGS_${_build}}"
+      LINKER_LANGUAGE "CXX"
       )
 
     FILE(APPEND
index 0e0b4b045c15a3835e9fd6ba0c812acbff01ed07..56b2dd0c1d8e05846929ab321b33dbfed17697d5 100644 (file)
@@ -43,6 +43,8 @@ ADD_SUBDIRECTORY(hp)
 ADD_SUBDIRECTORY(multigrid)
 ADD_SUBDIRECTORY(distributed)
 
+ADD_SUBDIRECTORY(algorithms)
+
 
 FOREACH(build ${DEAL_II_BUILD_TYPES})
   STRING(TOLOWER ${build} build_lowercase)
diff --git a/deal.II/source/algorithms/CMakeLists.txt b/deal.II/source/algorithms/CMakeLists.txt
new file mode 100644 (file)
index 0000000..15a95c8
--- /dev/null
@@ -0,0 +1,24 @@
+#####
+##
+## Copyright (C) 2013 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>
+##
+#####
+
+INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/algorithms/*.h
+  )
+
+SET(_src
+  )
+
+DEAL_II_ADD_LIBRARY(obj_algorithms OBJECT ${_src} ${_header})
index 991c7e95577798b7cab67a42acf8b0bdad443965..3eb89bfc66aaadcb66aefa728806f311599b4924 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src_base
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/base/*.h
+  )
+
+SET(_src
   auto_derivative_function.cc
   conditional_ostream.cc
   config.cc
@@ -64,5 +68,7 @@ SET(src_base
   utilities.cc
   )
 
-DEAL_II_ADD_LIBRARY(obj_base OBJECT ${src_base})
+DEAL_II_ADD_LIBRARY(obj_base OBJECT ${_src} ${_header}
+  ${CMAKE_BINARY_DIR}/include/deal.II/base/config.h
+  )
 
index 7ecc116e12c372909720b5cafb7df1250656a335..3334e88d9a36eb8d7fc4ef1b9d7ac7cee48bec66 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/distributed/*.h
+  )
+
+SET(_src
   grid_refinement.cc
   solution_transfer.cc
   tria.cc
   )
 
-SET(inst_in_files
+SET(_inst
   grid_refinement.inst.in
   solution_transfer.inst.in
   tria.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_distributed OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_distributed "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_distributed OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_distributed "${_inst}")
 
index a730ecb9828d4f1886a58ca94e79a4b82ab5dfde..c85db4f35c9791d0e904a1b4e085117a8c67d835 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/dofs/*.h
+  )
+
+SET(_src
   block_info.cc
   dof_accessor.cc
   dof_faces.cc
@@ -26,7 +30,7 @@ SET(src
   number_cache.cc
   )
 
-SET(inst_in_files
+SET(_inst
   block_info.inst.in
   dof_accessor.inst.in
   dof_handler.inst.in
@@ -36,6 +40,6 @@ SET(inst_in_files
   dof_tools.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_dofs OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_dofs "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_dofs OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_dofs "${_inst}")
 
index 4d2ec0ff8fc0413337b11ce46de8c8fe4e6eaa8a..5ee58d523bbdc6c452067f39e2b32471df8d4855 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/fe/*.h
+  )
+
+SET(_src
   block_mask.cc
   component_mask.cc
   fe_abf.cc
@@ -49,7 +53,7 @@ SET(src
   mapping_q_eulerian.cc
   )
 
-SET(inst_in_files
+SET(_inst
   fe_abf.inst.in
   fe_bdm.inst.in
   fe_dgp.inst.in
@@ -84,6 +88,6 @@ SET(inst_in_files
   mapping_q.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_fe OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_fe "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_fe OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_fe "${_inst}")
 
index 91e5d3a889e433ec4420ad955a3e8e0cf4de73a0..bd92b3debb897b1619760346b339151503e26ced 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/grid/*.h
+  )
+
+SET(_src
   grid_generator.cc
   grid_in.cc
   grid_out.cc
@@ -32,7 +36,7 @@ SET(src
   tria_objects.cc
   )
 
-SET(inst_in_files
+SET(_inst
   grid_generator.inst.in
   grid_in.inst.in
   grid_out.inst.in
@@ -46,6 +50,6 @@ SET(inst_in_files
   tria_objects.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_grid OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_grid "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_grid OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_grid "${_inst}")
 
index c16ccb2834df67e2355f9a3b9e9731f40971fc54..cc6d71281628363d031dbc03578f29dfd9388c17 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/hp/*.h
+  )
+
+SET(_src
   dof_faces.cc
   dof_handler.cc
   dof_levels.cc
@@ -24,13 +28,13 @@ SET(src
   mapping_collection.cc
   )
 
-SET(inst_in_files
+SET(_inst
   dof_handler.inst.in
   fe_collection.inst.in
   fe_values.inst.in
   mapping_collection.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_hp OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_hp "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_hp OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_hp "${_inst}")
 
diff --git a/deal.II/source/integrators/CMakeLists.txt b/deal.II/source/integrators/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1f2ef00
--- /dev/null
@@ -0,0 +1,24 @@
+#####
+##
+## Copyright (C) 2013 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>
+##
+#####
+
+INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/integrators/*.h
+  )
+
+SET(_src
+  )
+
+DEAL_II_ADD_LIBRARY(obj_integrators OBJECT ${_src} ${_header})
index 4c872f34b169246148724231923bf6157604f29c..14f27af4f7af75759c339049858c863f6392bf72 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/lac/*.h
+  )
+
+SET(_src
   block_matrix_array.cc
   block_sparse_matrix.cc
   block_sparse_matrix_ez.cc
@@ -77,7 +81,7 @@ SET(src
   vector_view.cc
 )
 
-SET(inst_in_files
+SET(_inst
   block_sparse_matrix.inst.in
   block_vector.inst.in
   chunk_sparse_matrix.inst.in
@@ -98,6 +102,6 @@ SET(inst_in_files
   vector_view.inst.in
 )
 
-DEAL_II_ADD_LIBRARY(obj_lac OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_lac "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_lac OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_lac "${_inst}")
 
diff --git a/deal.II/source/matrix_free/CMakeLists.txt b/deal.II/source/matrix_free/CMakeLists.txt
new file mode 100644 (file)
index 0000000..87b061c
--- /dev/null
@@ -0,0 +1,24 @@
+#####
+##
+## Copyright (C) 2013 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>
+##
+#####
+
+INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/matrix_free/*.h
+  )
+
+SET(_src
+  )
+
+DEAL_II_ADD_LIBRARY(obj_matrix_free OBJECT ${_src} ${_header})
diff --git a/deal.II/source/meshworker/CMakeLists.txt b/deal.II/source/meshworker/CMakeLists.txt
new file mode 100644 (file)
index 0000000..85ff52b
--- /dev/null
@@ -0,0 +1,24 @@
+#####
+##
+## Copyright (C) 2013 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>
+##
+#####
+
+INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/mesh_worker/*.h
+  )
+
+SET(_src
+  )
+
+DEAL_II_ADD_LIBRARY(obj_mesh_worker OBJECT ${_src} ${_header})
index cbe2e7d6c2cb7492da5db3879a792938789dafdb..27c0307d6f8075b7f29aa7c8539d9a3a2c0fdfb5 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/multigrid/*.h
+  )
+
+SET(_src
   mg_base.cc
   mg_dof_handler.cc
   mg_tools.cc
@@ -24,7 +28,7 @@ SET(src
   multigrid.cc
   )
 
-SET(inst_in_files
+SET(_inst
   mg_base.inst.in
   mg_dof_handler.inst.in
   mg_tools.inst.in
@@ -34,5 +38,5 @@ SET(inst_in_files
   multigrid.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_multigrid OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_multigrid "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_multigrid OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_multigrid "${_inst}")
index 08cb80e927628719b4e4c3c9a7283ce10eb698bd..bd75841e6cb493d57379f2e3dd948d9cc38b3437 100644 (file)
 
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
-SET(src
+FILE(GLOB _header
+  ${CMAKE_SOURCE_DIR}/include/deal.II/numerics/*.h
+  )
+
+SET(_src
   data_out.cc
   data_out_faces.cc
   data_out_rotation.cc
@@ -37,7 +41,7 @@ SET(src
   vector_tools.cc
   )
 
-SET(inst_in_files
+SET(_inst
   data_out_faces.inst.in
   data_out.inst.in
   data_out_rotation.inst.in
@@ -57,6 +61,6 @@ SET(inst_in_files
   vector_tools.inst.in
   )
 
-DEAL_II_ADD_LIBRARY(obj_numerics OBJECT ${src})
-EXPAND_INSTANTIATIONS(obj_numerics "${inst_in_files}")
+DEAL_II_ADD_LIBRARY(obj_numerics OBJECT ${_src} ${_header} ${_inst})
+EXPAND_INSTANTIATIONS(obj_numerics "${_inst}")
 

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.