]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Remove setup of C compiler from the build system
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 26 Feb 2013 18:08:37 +0000 (18:08 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 26 Feb 2013 18:08:37 +0000 (18:08 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@28583 0785d39b-7218-0410-832d-ea1e28bc413d

13 files changed:
deal.II/cmake/checks/check_01_compiler_features.cmake
deal.II/cmake/checks/check_01_system_features.cmake
deal.II/cmake/checks/check_02_compiler_bugs.cmake
deal.II/cmake/configure/configure_1_mpi.cmake
deal.II/cmake/macros/macro_deal_ii_add_c_library.cmake [deleted file]
deal.II/cmake/setup_cached_variables.cmake
deal.II/cmake/setup_compiler_flags.cmake
deal.II/cmake/setup_compiler_flags_gnu.cmake
deal.II/cmake/setup_compiler_flags_intel.cmake
deal.II/cmake/setup_compiler_flags_msvc.cmake
deal.II/cmake/setup_external_macros.cmake
deal.II/cmake/setup_finalize.cmake
deal.II/doc/development/cmake.html

index 1791b0df417e8264d424093385a9b10d63d25289..3dd75856e2aaa9d999ab15469f60008a059a3bc7 100644 (file)
@@ -330,7 +330,6 @@ ENDIF()
 IF( (NOT CMAKE_SYSTEM_NAME MATCHES "CYGWIN") AND
     (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") )
   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_DEBUG "-Wa,--compress-debug-sections")
-  ENABLE_IF_SUPPORTED(DEAL_II_C_FLAGS_DEBUG "-Wa,--compress-debug-sections")
 ENDIF()
 
 
index 87c26a0291905e249ca332066529ade8442c6e80..cf4ff0e54603d98d1908b2683cedc91424398d0d 100644 (file)
 #                                                                         #
 ###########################################################################
 
-CHECK_INCLUDE_FILE("sys/resource.h"  HAVE_SYS_RESOURCE_H)
-CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H)
-CHECK_INCLUDE_FILE("sys/times.h" HAVE_SYS_TIMES_H)
-CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILE_CXX("sys/resource.h"  HAVE_SYS_RESOURCE_H)
+CHECK_INCLUDE_FILE_CXX("sys/time.h" HAVE_SYS_TIME_H)
+CHECK_INCLUDE_FILE_CXX("sys/times.h" HAVE_SYS_TIMES_H)
+CHECK_INCLUDE_FILE_CXX("sys/types.h" HAVE_SYS_TYPES_H)
 
 
 #
@@ -47,7 +47,7 @@ CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
 # Windows/MinGW unistd.h is available but not all posix functions. So test
 # for each funtion as well.
 #
-CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
+CHECK_INCLUDE_FILE_CXX("unistd.h" HAVE_UNISTD_H)
 CHECK_FUNCTION_EXISTS(gethostname HAVE_GETHOSTNAME)
 CHECK_FUNCTION_EXISTS(getpid HAVE_GETPID)
 CHECK_FUNCTION_EXISTS(rand_r HAVE_RAND_R)
index 640014691d40c902ad190a8880c165daa7eab093..b33e40b11c34dd4ccb88982cdefb93e7d0b5710a 100644 (file)
@@ -76,7 +76,6 @@ POP_TEST_FLAG()
 
 IF(DEAL_II_WRETURN_TYPE_CONST_QUALIFIER_BUG)
   ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS -Wno-return-type)
-  ENABLE_IF_SUPPORTED(CMAKE_C_FLAGS -Wno-return-type)
 ENDIF()
 
 
@@ -94,7 +93,6 @@ ENDIF()
 IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND
    CMAKE_CXX_COMPILER_VERSION MATCHES "4.4.")
   STRIP_FLAG(CMAKE_CXX_FLAGS "-pedantic")
-  STRIP_FLAG(CMAKE_C_FLAGS "-pedantic")
 ENDIF()
 
 
@@ -126,7 +124,6 @@ IF(HAVE_MPI_H)
 
   IF(DEAL_II_ADVANCE_WARNING_BUG)
     ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-Wno-unused-parameter")
-    ENABLE_IF_SUPPORTED(CMAKE_C_FLAGS "-Wno-unused-parameter")
   ENDIF()
 ENDIF()
 
@@ -322,7 +319,6 @@ CHECK_CXX_COMPILER_BUG(
 
 IF(DEAL_II_TYPE_QUALIFIER_BUG)
   ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS -Wno-ignored-qualifiers)
-  ENABLE_IF_SUPPORTED(CMAKE_C_FLAGS -Wno-ignored-qualifiers)
 ENDIF()
 
 
index 58c1253369009515bde27438b7bf5a0e8d3e1046..d7e4a0d85409cdf2ba1029ae15be9f9659404130 100644 (file)
@@ -50,7 +50,6 @@ MACRO(FEATURE_MPI_CONFIGURE_EXTERNAL var)
 
   IF(DEAL_II_MPICXX)
     SET(CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER})
-    SET(CMAKE_C_COMPILER   ${MPI_C_COMPILER})
   ENDIF()
 
   SET(DEAL_II_COMPILER_SUPPORTS_MPI TRUE)
diff --git a/deal.II/cmake/macros/macro_deal_ii_add_c_library.cmake b/deal.II/cmake/macros/macro_deal_ii_add_c_library.cmake
deleted file mode 100644 (file)
index 5b1600d..0000000
+++ /dev/null
@@ -1,40 +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>
-##
-#####
-
-#
-# See macro_deal_ii_add_library.cmake for an explanation of this macro
-#
-
-MACRO(DEAL_II_ADD_C_LIBRARY _library)
-
-  FOREACH(_build ${DEAL_II_BUILD_TYPES})
-    STRING(TOLOWER ${_build} _build_lowercase)
-
-    ADD_LIBRARY(${_library}.${_build_lowercase}
-      ${ARGN}
-      )
-
-    SET_TARGET_PROPERTIES(${_library}.${_build_lowercase} PROPERTIES
-      LINK_FLAGS "${DEAL_II_SHARED_LINKER_FLAGS_${_build}}"
-      COMPILE_DEFINITIONS "${DEAL_II_DEFINITIONS};${DEAL_II_DEFINITIONS_${_build}}"
-      COMPILE_FLAGS "${DEAL_II_C_FLAGS_${_build}}"
-      )
-
-    FILE(APPEND
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/deal_ii_objects_${_build_lowercase}
-      "$<TARGET_OBJECTS:${_library}.${_build_lowercase}>\n"
-      )
-  ENDFOREACH()
-
-ENDMACRO()
index 30bb6c724598f0619c64bf4cebcaf216aeb5f181..3122a8fc583d8332f3ac6f82406f03124f8bb1e6 100644 (file)
 #     CMAKE_BUILD_TYPE
 #     BUILD_SHARED_LIBS
 #     CMAKE_INSTALL_RPATH_USE_LINK_PATH
-#     CMAKE_C_FLAGS                     *)
 #     CMAKE_CXX_FLAGS                   *)
 #     CMAKE_SHARED_LINKER_FLAGS         *)
-#     DEAL_II_C_FLAGS_DEBUG
 #     DEAL_II_CXX_FLAGS_DEBUG
 #     DEAL_II_SHARED_LINKER_FLAGS_DEBUG
-#     DEAL_II_C_FLAGS_RELEASE
 #     DEAL_II_CXX_FLAGS_RELEASE
 #     DEAL_II_SHARED_LINKER_FLAGS_RELEASE
 #
@@ -154,9 +151,7 @@ MARK_AS_ADVANCED(CMAKE_INSTALL_RPATH_USE_LINK_PATH)
 # CMAKE_(C|CXX)_FLAGS_(DEBUG|RELEASE)
 #
 FOREACH(_flag
-  C_FLAGS_RELEASE
   CXX_FLAGS_RELEASE
-  C_FLAGS_DEBUG
   CXX_FLAGS_DEBUG
   )
   IF(NOT "${CMAKE_${_flag}}" STREQUAL "")
@@ -195,14 +190,11 @@ SET_IF_EMPTY(CMAKE_SHARED_LINKER_FLAGS "$ENV{LDFLAGS}")
 # Set cached compiler flags to an empty string:
 #
 SET(DEAL_II_USED_FLAGS
-  CMAKE_C_FLAGS
   CMAKE_CXX_FLAGS
-  CMAKE_SHARED_LINKER_FLAGS
-  DEAL_II_C_FLAGS_DEBUG
   DEAL_II_CXX_FLAGS_DEBUG
-  DEAL_II_SHARED_LINKER_FLAGS_DEBUG
-  DEAL_II_C_FLAGS_RELEASE
   DEAL_II_CXX_FLAGS_RELEASE
+  CMAKE_SHARED_LINKER_FLAGS
+  DEAL_II_SHARED_LINKER_FLAGS_DEBUG
   DEAL_II_SHARED_LINKER_FLAGS_RELEASE
   )
 
index 30420f674b258cf841e8c34114b89bd5517a8f5b..f902b5be06d32e9485695210967acd37d3f3a66c 100644 (file)
 
 
 #
-# We need a C compiler only for the compilation of the bundled umfpack
-# library, so we don't make much fuss about configuration and setup of the
-# C compiler and assume that CC and CXX are the same compiler brand, hence
-# supporting almost the same compiler flags.
-# (See setup in setup_compiler_flags_*.cmake)
-#
-# So, give a prominent error message in case CC and CXX differ:
+# TODO: Is there a way to set CMAKE_C_COMPILER to the same brand as
+# CMAKE_CXX_COMPILER?
 #
 IF(NOT ( "${CMAKE_C_COMPILER_ID}" STREQUAL "${CMAKE_CXX_COMPILER_ID}" AND
          "${CMAKE_C_COMPILER_VERSION}" STREQUAL "${CMAKE_CXX_COMPILER_VERSION}" ) )
index 9efc7865d5176ada7f8fa37bf09188180f68e1b6..2ab59a91fb45cbd68ed3c795466c0d8653dea59d 100644 (file)
@@ -149,31 +149,3 @@ IF (CMAKE_BUILD_TYPE MATCHES "Debug")
   ENDIF()
 ENDIF()
 
-
-#########################
-#                       #
-#    Set up C FLAGS:    #
-#                       #
-#########################
-
-#
-# For the moment we assume that CC and CXX are the same compiler and that
-# we can set (almost) the same default flags for both:
-#
-SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS})
-SET(DEAL_II_C_FLAGS_RELEASE ${DEAL_II_CXX_FLAGS_RELEASE})
-SET(DEAL_II_C_FLAGS_DEBUG ${DEAL_II_CXX_FLAGS_DEBUG})
-
-#
-# OK, touché, touché. We have to strip flags not supported by a C target:
-#
-STRIP_FLAG(CMAKE_C_FLAGS "-Wsynth")
-STRIP_FLAG(DEAL_II_C_FLAGS_RELEASE "-felide-constructors")
-
-#
-# and disable some warnings:
-#
-STRIP_FLAG(CMAKE_C_FLAGS "-Wall") # There is no other way to disable -Wunknown-pragma atm...
-STRIP_FLAG(CMAKE_C_FLAGS "-Wsign-compare")
-STRIP_FLAG(CMAKE_C_FLAGS "-Wwrite-strings")
-
index d136ebfcba2d65e3d3f7fc689506d4c1e583d1e4..ac9808b05598c8afa4bff9e363efac8c325c4b1d 100644 (file)
@@ -107,18 +107,3 @@ IF (CMAKE_BUILD_TYPE MATCHES "Debug")
   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_DEBUG "-grecord-gcc-switches")
 ENDIF()
 
-
-#########################
-#                       #
-#    Set up C FLAGS:    #
-#                       #
-#########################
-
-#
-# For the moment we assume that CC and CXX are the same compiler and that
-# we can set (almost) the same default flags for both:
-#
-SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS})
-SET(DEAL_II_C_FLAGS_RELEASE ${DEAL_II_CXX_FLAGS_RELEASE})
-SET(DEAL_II_C_FLAGS_DEBUG ${DEAL_II_CXX_FLAGS_DEBUG})
-
index fc1c88e0376a2f801f7ccd0e917d02d7787db0ca..b8871633f5e8dcf0fb888bb60f27e70fc1ca02ed 100644 (file)
@@ -71,18 +71,3 @@ IF (CMAKE_BUILD_TYPE MATCHES "Debug")
   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_DEBUG "/Zi")
 ENDIF()
 
-
-#########################
-#                       #
-#    Set up C FLAGS:    #
-#                       #
-#########################
-
-#
-# For the moment we assume that CC and CXX are the same compiler and that
-# we can set (almost) the same default flags for both:
-#
-SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS})
-SET(DEAL_II_C_FLAGS_RELEASE ${DEAL_II_CXX_FLAGS_RELEASE})
-SET(DEAL_II_C_FLAGS_DEBUG ${DEAL_II_CXX_FLAGS_DEBUG})
-
index a169480934dc3415e4b54dfe2fe99fe91708c94d..6adfecc7ab8a1eea5d42bd99db29cb8788e97d59 100644 (file)
@@ -19,7 +19,8 @@
 INCLUDE(CheckCXXCompilerFlag)
 INCLUDE(CheckCXXSourceCompiles)
 INCLUDE(CheckCXXSourceRuns)
-INCLUDE(CheckFunctionExists)
-INCLUDE(CheckIncludeFile)
+INCLUDE(CheckCXXSymbolExists)
 INCLUDE(CheckIncludeFileCXX)
 
+INCLUDE(CheckFunctionExists)
+
index 7dfbb98efd4d715f4598e3b3cd5b456e4ed0ba5e..8994a11fdfe72e4f8a5d112db62f387285ff905e 100644 (file)
@@ -89,23 +89,6 @@ IF(CMAKE_BUILD_TYPE MATCHES "Debug")
   FILE(APPEND ${_log} "#        DEAL_II_SHARED_LINKER_FLAGS_DEBUG:   ${DEAL_II_SHARED_LINKER_FLAGS_DEBUG}\n")
 ENDIF()
 
-IF(FEATURE_UMFPACK_BUNDLED_CONFIGURED)
-  FILE(APPEND ${_log}
-"#
-#  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}
-"
-    )
-  IF(CMAKE_BUILD_TYPE MATCHES "Release")
-    FILE(APPEND ${_log} "#        DEAL_II_C_FLAGS_RELEASE: ${DEAL_II_C_FLAGS_RELEASE}\n")
-  ENDIF()
-  IF(CMAKE_BUILD_TYPE MATCHES "Debug")
-    FILE(APPEND ${_log} "#        DEAL_II_C_FLAGS_DEBUG:   ${DEAL_II_C_FLAGS_DEBUG}\n")
-  ENDIF()
-ENDIF()
-
 IF(NOT DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS)
   FILE(APPEND ${_log} "#\n#  WARNING: DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS is set to OFF\n")
 ELSEIF(NOT DEAL_II_KNOWN_COMPILER)
index 9479e77393104e8aaf7cf864fd0474409976340e..5d4f47a06453f274f6f1511903c7eb4d1d67f398 100644 (file)
          For internal use, for setting necessary compiler flags, e.g.
           <code>-std=c++11</code> (if available):
          <ul>
-            <li> <code>CMAKE_CXX_FLAGS</code> (and <code>CMAKE_C_FLAGS</code>)
-            <li> <code>DEAL_II_CXX_FLAGS_DEBUG</code> (and
-              <code>DEAL_II_C_FLAGS_DEBUG</code>)
-            <li> <code>DEAL_II_CXX_FLAGS_RELEASE</code> (and
-              <code>DEAL_II_C_FLAGS_RELEASE</code>)
+            <li> <code>CMAKE_CXX_FLAGS</code>
+            <li> <code>DEAL_II_CXX_FLAGS_DEBUG</code>
+            <li> <code>DEAL_II_CXX_FLAGS_RELEASE</code>
          </ul>
 
        <li>

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.