From afb0776d7a2d86929a0ece691103dcbf5eec17e5 Mon Sep 17 00:00:00 2001 From: maier Date: Fri, 21 Sep 2012 20:06:39 +0000 Subject: [PATCH] Bugfix. Add support for debug and release libraries ^^ git-svn-id: https://svn.dealii.org/branches/branch_cmake@26610 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/cmake/setup_deal_ii.cmake | 14 +++++++----- deal.II/config/CMakeLists.txt | 22 ++++++++++++------- ...deal.IIConfig.cmake.in => Config.cmake.in} | 0 ...igVersion.cmake.in => ConfigVersion.cmake} | 0 deal.II/config/Make.global_options.stub | 16 ++++++++++++++ deal.II/source/CMakeLists.txt | 3 +-- 6 files changed, 40 insertions(+), 15 deletions(-) rename deal.II/config/{deal.IIConfig.cmake.in => Config.cmake.in} (100%) rename deal.II/config/{deal.IIConfigVersion.cmake.in => ConfigVersion.cmake} (100%) create mode 100644 deal.II/config/Make.global_options.stub diff --git a/deal.II/cmake/setup_deal_ii.cmake b/deal.II/cmake/setup_deal_ii.cmake index 17c6e1bccd..9976f74394 100644 --- a/deal.II/cmake/setup_deal_ii.cmake +++ b/deal.II/cmake/setup_deal_ii.cmake @@ -50,20 +50,24 @@ LIST(APPEND DEAL_II_INCLUDE_DIRS ) # -# TODO: This is decoupled from the actual library target atm... +# The base name: # IF(CMAKE_BUILD_TYPE MATCHES "Debug") - SET(DEAL_II_LIBRARY_NAME "deal_II.g") + SET(DEAL_II_BASE_NAME "deal_II.g") ELSE() - SET(DEAL_II_LIBRARY_NAME "deal_II") + SET(DEAL_II_BASE_NAME "deal_II") ENDIF() + +# +# The library name: +# IF(BUILD_SHARED_LIBS) SET(DEAL_II_LIBRARY_NAME - ${CMAKE_SHARED_LIBRARY_PREFIX}deal_II${CMAKE_SHARED_LIBRARY_SUFFIX} + ${CMAKE_SHARED_LIBRARY_PREFIX}${DEAL_II_BASE_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ) ELSE() SET(DEAL_II_LIBRARY_NAME - ${CMAKE_STATIC_LIBRARY_PREFIX}deal_II${CMAKE_STATIC_LIBRARY_SUFFIX} + ${CMAKE_STATIC_LIBRARY_PREFIX}${DEAL_II_BASE_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} ) ENDIF() diff --git a/deal.II/config/CMakeLists.txt b/deal.II/config/CMakeLists.txt index 1c77d389ec..a04c04e069 100644 --- a/deal.II/config/CMakeLists.txt +++ b/deal.II/config/CMakeLists.txt @@ -10,28 +10,28 @@ IF(DEAL_II_COMPONENT_PROJECT_CONFIG) # CONFIGURE_FILE( - ${CMAKE_CURRENT_SOURCE_DIR}/deal.IIConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/deal.IIConfig.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${DEAL_II_BASE_NAME}Config.cmake ) GET_CMAKE_PROPERTY(res VARIABLES) FOREACH(var ${res}) IF(var MATCHES "DEAL_II_WITH") - FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/deal.IIConfig.cmake + FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${DEAL_II_BASE_NAME}Config.cmake "SET(${var} ${${var}})\n" ) ENDIF() ENDFOREACH() CONFIGURE_FILE( - ${CMAKE_CURRENT_SOURCE_DIR}/deal.IIConfigVersion.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/deal.IIConfigVersion.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/ConfigVersion.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${DEAL_II_BASE_NAME}ConfigVersion.cmake @ONLY ) INSTALL(FILES - ${CMAKE_CURRENT_BINARY_DIR}/deal.IIConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/deal.IIConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${DEAL_II_BASE_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${DEAL_II_BASE_NAME}ConfigVersion.cmake DESTINATION ${DEAL_II_PROJECT_CONFIG_RELDIR} COMPONENT project_config ) @@ -65,9 +65,14 @@ IF(DEAL_II_COMPONENT_COMPAT_FILES) CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/Make.global_options.in - ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options + ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options.${CMAKE_BUILD_TYPE} ) + CONFIGURE_FILE( + ${CMAKE_CURRENT_SOURCE_DIR}/Make.global_options.stub + ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options + COPYONLY) + CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/Version.in ${CMAKE_CURRENT_BINARY_DIR}/Version @@ -75,6 +80,7 @@ IF(DEAL_II_COMPONENT_COMPAT_FILES) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/template-arguments + ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options.${CMAKE_BUILD_TYPE} ${CMAKE_CURRENT_BINARY_DIR}/Make.global_options DESTINATION common COMPONENT compat_files diff --git a/deal.II/config/deal.IIConfig.cmake.in b/deal.II/config/Config.cmake.in similarity index 100% rename from deal.II/config/deal.IIConfig.cmake.in rename to deal.II/config/Config.cmake.in diff --git a/deal.II/config/deal.IIConfigVersion.cmake.in b/deal.II/config/ConfigVersion.cmake similarity index 100% rename from deal.II/config/deal.IIConfigVersion.cmake.in rename to deal.II/config/ConfigVersion.cmake diff --git a/deal.II/config/Make.global_options.stub b/deal.II/config/Make.global_options.stub new file mode 100644 index 0000000000..7362429af8 --- /dev/null +++ b/deal.II/config/Make.global_options.stub @@ -0,0 +1,16 @@ +# $Id$ + +# +# Compatibility Make.global_options stub file +# + +# +# Include the correct configuration depending on whether debug-mode is +# selected, or not: +# + +ifeq ($(debug-mode),on) + include Make.global_options.Debug +else + include Make.global_options.Release +endif diff --git a/deal.II/source/CMakeLists.txt b/deal.II/source/CMakeLists.txt index 3c0628e489..ae637ee23c 100644 --- a/deal.II/source/CMakeLists.txt +++ b/deal.II/source/CMakeLists.txt @@ -43,10 +43,9 @@ ADD_LIBRARY(deal_II # No point to wrack one's brain over the question whether a new version of # a C++ library is still ABI backwards compatible :-] # -SET_TARGET_PROPERTIES(deal_II PROPERTIES +SET_TARGET_PROPERTIES(${DEAL_II_BASE_NAME} PROPERTIES VERSION ${VERSION} SOVERSION ${VERSION} - DEBUG_POSTFIX ".g" ) SET_TARGET_PROPERTIES(deal_II PROPERTIES -- 2.39.5