From: bangerth Date: Sun, 11 Nov 2012 16:02:51 +0000 (+0000) Subject: Minor updates. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de0b8cc86413f1dc2fc6f54744096906355db5b9;p=dealii-svn.git Minor updates. git-svn-id: https://svn.dealii.org/branches/branch_cmake@27506 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/development/CMakeLists.txt.example b/deal.II/doc/development/CMakeLists.txt.example index 0aa72d7f36..8de818e090 100644 --- a/deal.II/doc/development/CMakeLists.txt.example +++ b/deal.II/doc/development/CMakeLists.txt.example @@ -28,14 +28,14 @@ SET(CLEAN_UP_FILES # # (Optional) # A custom command line that should be invoked by "make run". If empty, -# ${TARGET} will be invoked. +# ./${TARGET} will be invoked. # SET(TARGET_RUN # a custom command line, e.g. mpirun -np 2 ${TARGET} ) # -# It is good practise to specify a version requirement: +# It is good practice to specify a version requirement: # CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) @@ -59,4 +59,3 @@ FIND_PACKAGE(deal.II 8.0 REQUIRED DEAL_II_INITIALIZE_CACHED_VARIABLES() PROJECT(${TARGET}) DEAL_II_INVOKE_AUTOPILOT() - diff --git a/deal.II/doc/development/cmakelists.html b/deal.II/doc/development/cmakelists.html index dedd267598..bdab45a05d 100644 --- a/deal.II/doc/development/cmakelists.html +++ b/deal.II/doc/development/cmakelists.html @@ -40,10 +40,23 @@

Using deal.II in a CMake project

- This section presents some CMakeLists.txt examples for + cmake is the configuration and build tool we use + in deal.II. Its advantage is not only that it makes + configuration of deal.II itself simpler across + platforms (compared to the older autoconf/make combination) + but also that it exports information about the deal.II + configuration that makes it particularly simple for projects + using deal.II to configure and link against it. +

+ +

+ cmake is controlled by input files that by convention are + called CMakeLists.txt, listing both configuration commands + as well as dependencies between source files and targets. + This page presents some CMakeLists.txt examples for potential use in your projects. A detailed description of the - deal.II project configuration is given in the - deal.II CMake ReadME. + deal.II project configuration is given in the + deal.II CMake ReadMe.

@@ -51,9 +64,10 @@

The easiest way to write a CMakeLists.txt file is to use - an "autopilot" style macro which mimics the old user - Makefile behaviour. Here is an example for the step-1 - tutorial program: (raw version.) + an "autopilot" style macro. Here is an example for the step-1 + tutorial program (plain text version) that can be used for simple + projects:

 
     #
@@ -82,14 +96,14 @@
     #
     # (Optional)
     # A custom command line that should be invoked by "make run". If empty,
-    # ${TARGET} will be invoked.
+    # ./${TARGET} will be invoked.
     #
     SET(TARGET_RUN
       # a custom command line, e.g. mpirun -np 2 ${TARGET}
       )
 
     #
-    # It is good practise to specify a version requirement:
+    # It is good practice to specify a version requirement:
     #
     CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
 
@@ -116,7 +130,11 @@
       
This CMakeLists.txt is intended for use with a small - project and in-source build: + project and in-source build (i.e., one does not create a separate + build directory as we recommend for the deal.II build + in the readme + file). Using this input file, you can run cmake in the + source directory as follows:
 
     $ cd step-1
@@ -162,7 +180,8 @@
       above tends to be too inflexible.
       So, if you wish to have more control about targets the
       DEAL_II_SETUP_TARGET macro might be of interest for you.
-      Here is a full example for the step-1 tutorial program:
+      Here is a full example, again using the step-1 tutorial program as a
+      template:
       
 
     #
@@ -229,6 +248,12 @@
     

Legacy Make.global_options

+ Before version 8.0, deal.II used the + traditional autoconf/make configuration and build + system. The interaction between these two programs, as well as + propagation of information from deal.II to user + programs happened through a number of files that were generated within + the deal.II directory tree. The CMake build system sets up the following compatibility files (if DEAL_II_COMPONENT_COMPAT_FILES is set, which is default):