From f6eee7da2c1c5e540ef1c4ce395b50e92fb60f05 Mon Sep 17 00:00:00 2001 From: maier Date: Wed, 19 Sep 2012 12:23:12 +0000 Subject: [PATCH] Disable some warnings when compiling umfpack. git-svn-id: https://svn.dealii.org/branches/branch_cmake@26502 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/CMakeLists.txt | 14 ++----- ...ags.cmake => setup_cached_variables.cmake} | 4 ++ .../contrib/cmake/setup_compiler_flags.cmake | 21 +++++++--- .../cmake/setup_compiler_flags_gnu.cmake | 2 + .../umfpack/UMFPACK/Source/CMakeLists.txt | 42 +++++++++++-------- deal.II/source/CMakeLists.txt | 35 +++++++--------- 6 files changed, 64 insertions(+), 54 deletions(-) rename deal.II/contrib/cmake/{setup_cached_compiler_flags.cmake => setup_cached_variables.cmake} (95%) diff --git a/deal.II/CMakeLists.txt b/deal.II/CMakeLists.txt index a88010bb71..9b099086eb 100644 --- a/deal.II/CMakeLists.txt +++ b/deal.II/CMakeLists.txt @@ -90,6 +90,7 @@ SET(VERSION "8.0.pre") # # $ cmake -DCMAKE_CXX_FLAGS="-Wno-sign-compare" <...> # +# @@ -191,12 +192,6 @@ OPTION(DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS compiler flag setup." ON) -OPTION(DEAL_II_BUILD_SHARED_LIBRARY - "Build deal.II as a shared library." - ON) # TODO: Implement an archive target ... - - - ########################################################################### # # @@ -232,11 +227,10 @@ INCLUDE(setup_external_macros) # -# We have to initialize some cached variable before PROJECT is called, so -# configure the cached, user editable CMAKE_BUILD_TYPES, CMAKE_CXX_FLAGS, -# etc. variables at this point: +# We have to initialize some cached variables before PROJECT is called, so +# go it at this point: # -INCLUDE(setup_cached_compiler_flags) +INCLUDE(setup_cached_variables) # # Now, set the project and setup the rest: diff --git a/deal.II/contrib/cmake/setup_cached_compiler_flags.cmake b/deal.II/contrib/cmake/setup_cached_variables.cmake similarity index 95% rename from deal.II/contrib/cmake/setup_cached_compiler_flags.cmake rename to deal.II/contrib/cmake/setup_cached_variables.cmake index 700653081b..ea673de7f1 100644 --- a/deal.II/contrib/cmake/setup_cached_compiler_flags.cmake +++ b/deal.II/contrib/cmake/setup_cached_variables.cmake @@ -50,6 +50,10 @@ IF( NOT CMAKE_BUILD_TYPE MATCHES "Release" AND MESSAGE(FATAL_ERROR "CMAKE_BUILD_TYPE does neither match Release, nor Debug.") ENDIF() +# +# Set BUILD_SHARED_LIBS to default to ON: +# +SET(BUILD_SHARED_LIBS TRUE CACHE BOOL "Build a shared library") # # Set cached compiler flags to an empty string: diff --git a/deal.II/contrib/cmake/setup_compiler_flags.cmake b/deal.II/contrib/cmake/setup_compiler_flags.cmake index 92dc581cd6..25590ee087 100644 --- a/deal.II/contrib/cmake/setup_compiler_flags.cmake +++ b/deal.II/contrib/cmake/setup_compiler_flags.cmake @@ -34,7 +34,6 @@ # -# # # ###################### # # FAT NOTE 2: # @@ -53,10 +52,9 @@ IF(NOT ( ${CMAKE_C_COMPILER_ID} STREQUAL ${CMAKE_CXX_COMPILER_ID} AND "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}\n" ) ENDIF() + # -# ... and that we can set the same _default_ flags for both, -# so we can just set all C-Flags to the corrersponding CXX-Flags at the end -# of this script. +# Setup CMAKE_CXX_FLAGS<_RELEASE|_DEBUG>: # IF(DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS) @@ -85,10 +83,23 @@ ELSE(DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS) ) ENDIF(DEAL_II_SETUP_DEFAULT_COMPILER_FLAGS) + +# +# Setup CMAKE_C_FLAGS<_RELEASE|_DEBUG>: +# + # # For the moment we assume that CC and CXX are the same compiler and that -# we can set the same _default_ flags for both. +# we can set (almost) the same default flags for both. # + SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS}) SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) + +# +# Strip some CXX-only flags +# + +STRIP_FLAG(CMAKE_C_FLAGS "-Wsynth") +STRIP_FLAG(CMAKE_C_FLAGS_RELEASE "-felide-constructors") diff --git a/deal.II/contrib/cmake/setup_compiler_flags_gnu.cmake b/deal.II/contrib/cmake/setup_compiler_flags_gnu.cmake index 81572b975a..f643c85bcd 100644 --- a/deal.II/contrib/cmake/setup_compiler_flags_gnu.cmake +++ b/deal.II/contrib/cmake/setup_compiler_flags_gnu.cmake @@ -114,6 +114,8 @@ ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS_RELEASE "-funroll-loops") ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS_RELEASE "-fstrict-aliasing") ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS_RELEASE "-felide-constructors") +ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS_RELEASE "-Wno-unused") + ############################### diff --git a/deal.II/contrib/umfpack/UMFPACK/Source/CMakeLists.txt b/deal.II/contrib/umfpack/UMFPACK/Source/CMakeLists.txt index af958d2eac..9063ecf77d 100644 --- a/deal.II/contrib/umfpack/UMFPACK/Source/CMakeLists.txt +++ b/deal.II/contrib/umfpack/UMFPACK/Source/CMakeLists.txt @@ -89,72 +89,78 @@ SET(src_umfpack_UMFPACK umfpack_triplet_to_col.c ) +# +# Disable some warning for the compilation of UMFPACK: +# +ENABLE_IF_SUPPORTED(obj_umfpack_COMPILE_FLAGS "-Wno-pragmas") +ENABLE_IF_SUPPORTED(obj_umfpack_COMPILE_FLAGS "-Wno-sign-compare") + #------------------------------------------------------------------------------- # compile each int and long routine (with no real/complex version) #------------------------------------------------------------------------------- ADD_LIBRARY(obj_umfpack_I_UMF OBJECT ${src_umfpack_UMF}) -SET_TARGET_PROPERTIES(obj_umfpack_I_UMF PROPERTIES COMPILE_FLAGS "-DDINT") +SET_TARGET_PROPERTIES(obj_umfpack_I_UMF PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT") ADD_LIBRARY(obj_umfpack_L_UMF OBJECT ${src_umfpack_UMF}) -SET_TARGET_PROPERTIES(obj_umfpack_L_UMF PROPERTIES COMPILE_FLAGS "-DDLONG") +SET_TARGET_PROPERTIES(obj_umfpack_L_UMF PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG") ADD_LIBRARY(obj_umfpack_I_UMFPACK OBJECT ${src_umfpack_UMFPACK}) -SET_TARGET_PROPERTIES(obj_umfpack_I_UMFPACK PROPERTIES COMPILE_FLAGS "-DDINT") +SET_TARGET_PROPERTIES(obj_umfpack_I_UMFPACK PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT") ADD_LIBRARY(obj_umfpack_L_UMFPACK OBJECT ${src_umfpack_UMFPACK}) -SET_TARGET_PROPERTIES(obj_umfpack_L_UMFPACK PROPERTIES COMPILE_FLAGS "-DDLONG") +SET_TARGET_PROPERTIES(obj_umfpack_L_UMFPACK PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG") #------------------------------------------------------------------------------- # compile each routine in the DI version #------------------------------------------------------------------------------- ADD_LIBRARY(obj_umfpack_DI_TSOLVE OBJECT umf_ltsolve.c umf_utsolve.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_TSOLVE PROPERTIES COMPILE_FLAGS "-DDINT -DCONJUGATE_SOLVE") +SET_TARGET_PROPERTIES(obj_umfpack_DI_TSOLVE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DCONJUGATE_SOLVE") ADD_LIBRARY(obj_umfpack_DI_TRIPLET_MAP_NOX OBJECT umf_triplet.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_TRIPLET_MAP_NOX PROPERTIES COMPILE_FLAGS "-DDINT -DDO_MAP") +SET_TARGET_PROPERTIES(obj_umfpack_DI_TRIPLET_MAP_NOX PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DDO_MAP") ADD_LIBRARY(obj_umfpack_DI_TRIPLET_MAP_X OBJECT umf_triplet.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_TRIPLET_MAP_X PROPERTIES COMPILE_FLAGS "-DDINT -DDO_MAP -DDO_VALUES") +SET_TARGET_PROPERTIES(obj_umfpack_DI_TRIPLET_MAP_X PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DDO_MAP -DDO_VALUES") ADD_LIBRARY(obj_umfpack_DI_TRIPLET_NOMAP_X OBJECT umf_triplet.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_TRIPLET_NOMAP_X PROPERTIES COMPILE_FLAGS "-DDINT -DDO_VALUES") +SET_TARGET_PROPERTIES(obj_umfpack_DI_TRIPLET_NOMAP_X PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DDO_VALUES") ADD_LIBRARY(obj_umfpack_DI_STORE OBJECT umf_store_lu.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_STORE PROPERTIES COMPILE_FLAGS "-DDINT -DDROP") +SET_TARGET_PROPERTIES(obj_umfpack_DI_STORE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DDROP") ADD_LIBRARY(obj_umfpack_DI_ASSEMBLE OBJECT umf_assemble.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_ASSEMBLE PROPERTIES COMPILE_FLAGS "-DDINT -DFIXQ") +SET_TARGET_PROPERTIES(obj_umfpack_DI_ASSEMBLE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DFIXQ") ADD_LIBRARY(obj_umfpack_DI_SOLVE OBJECT umfpack_solve.c) -SET_TARGET_PROPERTIES(obj_umfpack_DI_SOLVE PROPERTIES COMPILE_FLAGS "-DDINT -DWSOLVE") +SET_TARGET_PROPERTIES(obj_umfpack_DI_SOLVE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDINT -DWSOLVE") #------------------------------------------------------------------------------- # compile each routine in the DL version #------------------------------------------------------------------------------- ADD_LIBRARY(obj_umfpack_DL_TSOLVE OBJECT umf_ltsolve.c umf_utsolve.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_TSOLVE PROPERTIES COMPILE_FLAGS "-DDLONG -DCONJUGATE_SOLVE") +SET_TARGET_PROPERTIES(obj_umfpack_DL_TSOLVE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DCONJUGATE_SOLVE") ADD_LIBRARY(obj_umfpack_DL_TRIPLET_MAP_NOX OBJECT umf_triplet.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_TRIPLET_MAP_NOX PROPERTIES COMPILE_FLAGS "-DDLONG -DDO_MAP") +SET_TARGET_PROPERTIES(obj_umfpack_DL_TRIPLET_MAP_NOX PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DDO_MAP") ADD_LIBRARY(obj_umfpack_DL_TRIPLET_MAP_X OBJECT umf_triplet.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_TRIPLET_MAP_X PROPERTIES COMPILE_FLAGS "-DDLONG -DDO_MAP -DDO_VALUES") +SET_TARGET_PROPERTIES(obj_umfpack_DL_TRIPLET_MAP_X PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DDO_MAP -DDO_VALUES") ADD_LIBRARY(obj_umfpack_DL_TRIPLET_NOMAP_X OBJECT umf_triplet.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_TRIPLET_NOMAP_X PROPERTIES COMPILE_FLAGS "-DDLONG -DDO_VALUES") +SET_TARGET_PROPERTIES(obj_umfpack_DL_TRIPLET_NOMAP_X PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DDO_VALUES") ADD_LIBRARY(obj_umfpack_DL_STORE OBJECT umf_store_lu.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_STORE PROPERTIES COMPILE_FLAGS "-DDLONG -DDROP") +SET_TARGET_PROPERTIES(obj_umfpack_DL_STORE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DDROP") ADD_LIBRARY(obj_umfpack_DL_ASSEMBLE OBJECT umf_assemble.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_ASSEMBLE PROPERTIES COMPILE_FLAGS "-DDLONG -DFIXQ") +SET_TARGET_PROPERTIES(obj_umfpack_DL_ASSEMBLE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DFIXQ") ADD_LIBRARY(obj_umfpack_DL_SOLVE OBJECT umfpack_solve.c) -SET_TARGET_PROPERTIES(obj_umfpack_DL_SOLVE PROPERTIES COMPILE_FLAGS "-DDLONG -DWSOLVE") +SET_TARGET_PROPERTIES(obj_umfpack_DL_SOLVE PROPERTIES COMPILE_FLAGS "${obj_umfpack_COMPILE_FLAGS} -DDLONG -DWSOLVE") #------------------------------------------------------------------------------- # Create the generic routines (GN) using a generic rule diff --git a/deal.II/source/CMakeLists.txt b/deal.II/source/CMakeLists.txt index cdabc1dc4f..a9378efece 100644 --- a/deal.II/source/CMakeLists.txt +++ b/deal.II/source/CMakeLists.txt @@ -23,25 +23,20 @@ ADD_SUBDIRECTORY(multigrid) ADD_SUBDIRECTORY(numerics) -# -# Combine all OBJECT targets to a shared library: -# - -ADD_LIBRARY(deal_II SHARED - $ - $ - $ - $ - $ - $ - $ - $ - $ - - # for contrib stuff: - ${deal_ii_additional_object_files} - ) - +ADD_LIBRARY(deal_II #whether SHARED or STATIC is set by BUILD_SHARED_LIBS# + $ + $ + $ + $ + $ + $ + $ + $ + $ + + # for contrib stuff: + ${deal_ii_additional_object_files} + ) # # Sonaming: Well... we just use the version number. @@ -54,10 +49,8 @@ SET_TARGET_PROPERTIES(deal_II PROPERTIES DEBUG_POSTFIX ".g" ) - SET_TARGET_PROPERTIES(deal_II PROPERTIES LINK_FLAGS "${deal_ii_required_linker_flags}" ) - TARGET_LINK_LIBRARIES(deal_II ${deal_ii_external_libraries}) -- 2.39.5