From 5f3e5a06d87009755050c1128ca1da48bf42cfcd Mon Sep 17 00:00:00 2001 From: maier Date: Fri, 21 Sep 2012 10:21:54 +0000 Subject: [PATCH] Add RELDIR variables git-svn-id: https://svn.dealii.org/branches/branch_cmake@26589 0785d39b-7218-0410-832d-ea1e28bc413d --- .../cmake/macros/macro_set_if_empty.cmake | 6 +++++ deal.II/contrib/cmake/setup_deal_ii.cmake | 27 ++++++++++++++++--- deal.II/contrib/config/deal.IIConfig.cmake.in | 26 +++++++++++++----- deal.II/examples/CMakeLists.txt | 26 ------------------ deal.II/include/CMakeLists.txt | 4 +-- deal.II/source/CMakeLists.txt | 2 +- 6 files changed, 52 insertions(+), 39 deletions(-) create mode 100644 deal.II/contrib/cmake/macros/macro_set_if_empty.cmake diff --git a/deal.II/contrib/cmake/macros/macro_set_if_empty.cmake b/deal.II/contrib/cmake/macros/macro_set_if_empty.cmake new file mode 100644 index 0000000000..5f89dbca99 --- /dev/null +++ b/deal.II/contrib/cmake/macros/macro_set_if_empty.cmake @@ -0,0 +1,6 @@ + +MACRO(SET_IF_EMPTY variable value) + IF(NOT ${${variable}} STREQUAL "") + SET(${variable} ${value}) +ENDMACRO() + diff --git a/deal.II/contrib/cmake/setup_deal_ii.cmake b/deal.II/contrib/cmake/setup_deal_ii.cmake index b7536d7ef5..7019480701 100644 --- a/deal.II/contrib/cmake/setup_deal_ii.cmake +++ b/deal.II/contrib/cmake/setup_deal_ii.cmake @@ -4,9 +4,7 @@ SET(DEAL_II_PACKAGE_NAME "deal.II") - SET(DEAL_II_PACKAGE_VERSION ${VERSION}) - SET(DEAL_II_PACKAGE_STRING "${DEAL_II_PACKAGE_NAME} ${DEAL_II_PACKAGE_VERSION}" ) @@ -18,11 +16,32 @@ STRING(REGEX REPLACE "^[0-9]+\\.([0-9]+).*" "\\1" DEAL_II_MINOR "${VERSION}" ) + SET(DEAL_II_PATH ${CMAKE_INSTALL_PREFIX}) -SET(DEAL_II_PACKAGE_BUGREPORT "dealii@dealii.org") +IF(DEAL_II_INSTALL_COMPAT_FILES) + # + # The good, old directory structure: + # + SET(DEAL_II_DOCUMENTATION_RELDIR "doc") + SET(DEAL_II_EXAMPLES_RELDIR "examples") + SET(DEAL_II_INCLUDE_RELDIR "include") + SET(DEAL_II_LIBRARY_RELDIR "lib") + SET(DEAL_II_PROJECT_CONFIG_RELDIR "lib/cmake") + +ELSE() + # + # IF DEAL_II_INSTALL_COMPAT_FILES is not set, we assume that we have to + # obey the FSHS... + # + SET_IF_EMPTY(DEAL_II_DOCUMENTATION_RELDIR "share/doc/deal.II/html") + SET_IF_EMPTY(DEAL_II_EXAMPLES_RELDIR "share/doc/deal.II/examples") + SET_IF_EMPTY(DEAL_II_INCLUDE_RELDIR "include") + SET_IF_EMPTY(DEAL_II_LIBRARY_RELDIR "lib${LIB_SUFFIX}") + SET_IF_EMPTY(DEAL_II_PROJECT_CONFIG_RELDIR "${DEAL_II_LIBRARY_RELDIR}/cmake") +ENDIF() +SET(DEAL_II_PACKAGE_BUGREPORT "dealii@dealii.org") SET(DEAL_II_PACKAGE_TARNAME ${DEAL_II_PACKAGE_NAME}) #TODO - SET(DEAL_II_PACKAGE_URL "http://www.dealii.org") diff --git a/deal.II/contrib/config/deal.IIConfig.cmake.in b/deal.II/contrib/config/deal.IIConfig.cmake.in index b8c6b7d148..0b355dae7f 100644 --- a/deal.II/contrib/config/deal.IIConfig.cmake.in +++ b/deal.II/contrib/config/deal.IIConfig.cmake.in @@ -11,8 +11,6 @@ SET(DEAL_II_VERSION "${DEAL_II_VERSION}") SET(DEAL_II_MAJOR "${DEAL_II_MAJOR}") SET(DEAL_II_MINOR "${DEAL_II_MINOR}") -SET(DEAL_II_PATH "${CMAKE_INSTALL_PREFIX}") - SET(DEAL_II_PACKAGE_NAME "${DEAL_II_PACKAGE_NAME}") SET(DEAL_II_PACKAGE_VERSION "${DEAL_II_PACKAGE_VERSION}") SET(DEAL_II_PACKAGE_STRING "${DEAL_II_PACKAGE_STRING}") @@ -21,11 +19,24 @@ SET(DEAL_II_PACKAGE_BUGREPORT "${DEAL_II_PACKAGE_BUGREPORT}") SET(DEAL_II_PACKAGE_TARNAME "${DEAL_II_PACKAGE_TARNAME}") SET(DEAL_II_PACKAGE_URL "${DEAL_II_PACKAGE_URL}") +# +# Information about the project location +# + +SET(DEAL_II_PATH "${DEAL_II_PATH}") +SET(DEAL_II_DOCUMENTATION_RELDIR "${DEAL_II_DOCUMENTATION_RELDIR}") +SET(DEAL_II_EXAMPLES_RELDIR "${DEAL_II_EXAMPLES_RELDIR}") +SET(DEAL_II_INCLUDE_RELDIR "${DEAL_II_INCLUDE_RELDIR}") +SET(DEAL_II_LIBRARY_RELDIR "${DEAL_II_LIBRARY_RELDIR}") +SET(DEAL_II_PROJECT_CONFIG_RELDIR "${DEAL_II_PROJECT_CONFIG_RELDIR}") + # # Compiler and linker configuration # +SET(DEAL_II_BUILD_TYPE "${CMAKE_BUILD_TYPE}") + SET(DEAL_II_CXX_COMPILER "${CMAKE_CXX_COMPILER}") SET(DEAL_II_CXX_COMPILER_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}}") @@ -34,22 +45,25 @@ SET(DEAL_II_C_COMPILER_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYP SET(DEAL_II_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") -SET(DEAL_II_LINKER ${CMAKE_LINKER}) -SET(DEAL_II_AR ${CMAKE_AR}) +SET(DEAL_II_LINKER "${CMAKE_LINKER}") +SET(DEAL_II_AR "${CMAKE_AR}") # # Information on how to find and use the deal.II installation # -SET(DEAL_II_INCLUDE_DIRS "${DEAL_II_CONFIG_INCLUDE_DIRS}") +SET(DEAL_II_INCLUDE_DIRS "${DEAL_II_INCLUDE_DIRS}") -SET(DEAL_II_LIBRARIES "${DEAL_II_CONFIG_LIBRARIES}") +SET(DEAL_II_LIBRARIES "${DEAL_II_LIBRARIES}") # # External libraries we have to link against # +SET(DEAL_II_EXTERNAL_INCLUDE_DIRS "${DEAL_II_EXTERNAL_INCLUDE_DIRS}") + SET(DEAL_II_EXTERNAL_LIBRARIES "${DEAL_II_EXTERNAL_LIBRARIES}") + diff --git a/deal.II/examples/CMakeLists.txt b/deal.II/examples/CMakeLists.txt index 1abc03180f..1b5df36495 100644 --- a/deal.II/examples/CMakeLists.txt +++ b/deal.II/examples/CMakeLists.txt @@ -1,13 +1,3 @@ -IF(DEAL_II_WITH_DOXYGEN) - # - # Generate the documentation via doxygen: - # - - # TODO - -ENDIF(DEAL_II_WITH_DOXYGEN) - - IF(DEAL_II_INSTALL_EXAMPLES) # @@ -23,22 +13,6 @@ IF(DEAL_II_INSTALL_EXAMPLES) step-42 step-43 step-44 step-45 step-46 step-47 step-48 ) - - IF(DEAL_II_INSTALL_COMPAT_FILES) - # - # The good, old directory where examples get installed to: - # - SET(DEAL_II_EXAMPLES_RELDIR "examples") - ELSE() - # - # IF DEAL_II_INSTALL_COMPAT_FILES is not set, we assume that we have to - # obey the file system standard, so install to usr/share/doc/deal.II. - # (A path expected by the majority of distributions, but a bit - # inconvenient...) - # - SET(DEAL_II_EXAMPLES_RELDIR "usr/share/doc/deal.II/examples") - ENDIF() - FOREACH(step ${deal_ii_examples}) INSTALL(DIRECTORY ${step} DESTINATION ${DEAL_II_EXAMPLES_RELDIR} diff --git a/deal.II/include/CMakeLists.txt b/deal.II/include/CMakeLists.txt index 64c8037412..4580ddfa4e 100644 --- a/deal.II/include/CMakeLists.txt +++ b/deal.II/include/CMakeLists.txt @@ -31,7 +31,7 @@ ADD_DEPENDENCIES(deal_ii_target_dependencies lapack_templates) # INSTALL(DIRECTORY deal.II - DESTINATION include + DESTINATION ${DEAL_II_INCLUDE_RELDIR} COMPONENT library FILES_MATCHING PATTERN "*.h" ) @@ -40,7 +40,7 @@ INSTALL(DIRECTORY deal.II # and don't forget to install all generated header files, too: # INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/deal.II - DESTINATION include + DESTINATION ${DEAL_II_INCLUDE_RELDIR} COMPONENT library FILES_MATCHING PATTERN "*.h" ) diff --git a/deal.II/source/CMakeLists.txt b/deal.II/source/CMakeLists.txt index ba0075877d..06b4fc5887 100644 --- a/deal.II/source/CMakeLists.txt +++ b/deal.II/source/CMakeLists.txt @@ -61,7 +61,7 @@ TARGET_LINK_LIBRARIES(deal_II ${deal_ii_external_libraries}) # INSTALL(TARGETS deal_II LIBRARY - DESTINATION lib${LIB_SUFFIX} + DESTINATION ${DEAL_II_LIBRARY_RELDIR} COMPONENT library ) -- 2.39.5