Skip to content
Snippets Groups Projects
Commit bf033002 authored by Markus Blatt's avatar Markus Blatt
Browse files

- dune-common is DuneCommon to CMAKE (e.g. during the find_package

  call). Mimic this in the variable names used in the package
  configuration files.
- CMake practices for variable name in package configuration
- added an optional argument for specifying a dependency to
  create_doc_install. This is needed as add_latex_document with the
  safepdf option creates a target <basename>_safepdf for building 
  <basename>.pdf. Without specifying <basename>_safepdf as the
  dependency,  <basename>.pdf would be build in non-safe mode before
  install leading to errors with eps figures.

[[Imported from SVN: r6699]]
parent 478eb576
No related branches found
No related tags found
No related merge requests found
......@@ -6,13 +6,13 @@ get_filename_component(_prefix "${_dir}/../../.." ABSOLUTE)
include("${_prefix}/lib/cmake/@DUNE_MOD_NAME_CMAKE@Targets.cmake")
#report other information
set(@DUNE_MOD_NAME_UPPERCASE@_PREFIX "${_prefix}")
set(@DUNE_MOD_NAME_UPPERCASE@_INCLUDE_DIRS "${_prefix}/include")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
set(@DUNE_MOD_NAME_UPPERCASE@_LIBS "dunecommon")
set(@DUNE_MOD_NAME_UPPERCASE@_SCRIPT_DIR "${_prefix}/share/cmake/scripts")
set(@DUNE_MOD_NAME_CMAKE@_PREFIX "${_prefix}")
set(@DUNE_MOD_NAME_CMAKE@_INCLUDE_DIRS "${_prefix}/include")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
set(@DUNE_MOD_NAME_CMAKE@_LIBRARIES "dunecommon")
set(@DUNE_MOD_NAME_CMAKE@_SCRIPT_DIR "${_prefix}/share/cmake/scripts")
set(DOXYSTYLE_FILE "${_prefix}/share/dune-common/doc/doxygen/Doxystyle")
\ No newline at end of file
......@@ -844,15 +844,15 @@ get_filename_component(_dir "\${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_prefix "\${_dir}/../../.." ABSOLUTE)
#import the target
#include("\${_prefix}/lib/cmake/@DUNE_MOD_NAME@-targets.cmake")
#include("\${_prefix}/lib/cmake/@DUNE_MOD_NAME_CMAKE@Targets.cmake")
#report other information
set(@DUNE_MOD_NAME_UPPERCASE@_INCLUDE_DIRS "\${_prefix}/include")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
set(@DUNE_MOD_NAME_UPPERCASE@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
set(@DUNE_MOD_NAME_CMAKE@_INCLUDE_DIRS "\${_prefix}/include")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
set(@DUNE_MOD_NAME_CMAKE@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
EOF
echo "- $PROJECT/$CMAKE_NAME""Version.cmake.in"
......
......@@ -35,17 +35,20 @@ add_custom_target(doc)
MACRO(create_doc_install filename targetdir)
if("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
set(SCRIPT_DIR ${CMAKE_SOURCE_DIR}/cmake/scripts)
else("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
set(SCRIPT_DIR ${DUNE_COMMON_SCRIPT_DIR})
endif("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
dune_common_script_dir(SCRIPT_DIR)
get_filename_component(targetfile ${filename} NAME)
set(install_command ${CMAKE_COMMAND} -D FILES=${filename} -D DIR=${CMAKE_INSTALL_PREFIX}/${targetdir} -P ${SCRIPT_DIR}/InstallFile.cmake)
# create a custom target for the installation
message("cdi ${filename}, ${ARGC}, ${ARGV2} ")
if("${ARGC}" EQUAL "3")
set(_depends ${ARGV2})
message("_depends=${_depends}")
else("${ARGC}" EQUAL "3")
set(_depends ${filename})
endif("${ARGC}" EQUAL "3")
add_custom_target(install_${targetfile} ${install_command}
COMMENT "Installing ${filename} to ${targetdir}"
DEPENDS ${filename})
DEPENDS ${_depends})
# When installing, call cmake install with the above install target and add the file to install_manifest.txt
install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" --build \"${CMAKE_BINARY_DIR}\" --target install_${targetfile} )
LIST(APPEND CMAKE_INSTALL_MANIFEST_FILES ${CMAKE_INSTALL_PREFIX}/${targetdir}/${targetfile})")
......
......@@ -32,7 +32,7 @@ MACRO (add_doxygen_target)
set(SCRIPT_DIR ${CMAKE_SOURCE_DIR}/cmake/scripts)
set(DOXYSTYLE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Doxystyle)
else("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
set(SCRIPT_DIR ${DUNE_COMMON_SCRIPT_DIR})
set(SCRIPT_DIR ${DuneCommon_SCRIPT_DIR})
endif("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
prepare_doxyfile()
# A custom command that exectutes doxygen
......
......@@ -197,13 +197,13 @@ macro(dune_project)
find_package(${_cmake_mod_name})
# set includes
dune_module_to_uppercase(_upper_case "${_mod}")
include_directories("${${_upper_case}_INCLUDE_DIRS}")
message(STATUS "Setting ${_upper_case}_LIBS=${${_upper_case}_LIBS}")
if(${_upper_case}_LIBS)
foreach(_lib ${${_upper_case}_LIBS})
include_directories("${${_cmake_mod_name}_INCLUDE_DIRS}")
message(STATUS "Setting ${_cmake_mod_name}_LIBRARIES=${${_cmake_mod_name}_LIBRARIES}")
if(${_cmake_mod_name}_LIBRARIES)
foreach(_lib ${${_cmake_mod_name}_LIBRARIES})
list(APPEND DUNE_DEFAULT_LIBS "${_lib}")
endforeach(_lib ${${_upper_case}_LIBS})
endif(${_upper_case}_LIBS)
endforeach(_lib ${${_cmake_mod_name}_LIBRARIES})
endif(${_cmake_mod_name}_LIBRARIES)
endforeach(_mod DEPENDENCY_TREE)
# Search for cmake files containing tests and directives
......@@ -239,9 +239,9 @@ MACRO(dune_regenerate_config_cmake)
# add previous module specific section
file(APPEND ${CONFIG_H_CMAKE_FILE} "\n${_tfile}")
foreach(_dep ${DEPENDENCY_TREE})
dune_module_to_uppercase(_dep_upper ${_dep})
foreach(_mod_conf_file ${${_dep_upper}_PREFIX}/config.h.cmake
${${_dep_upper}_PREFIX}/share/${_dep}/config.h.cmake)
dune_module_to_macro(_dep_macro ${_dep})
foreach(_mod_conf_file ${${_dep_macro}_PREFIX}/config.h.cmake
${${_dep_macro}_PREFIX}/share/${_dep}/config.h.cmake)
if(EXISTS ${_mod_conf_file})
file(READ "${_mod_conf_file}" _file)
string(REGEX REPLACE
......@@ -308,3 +308,10 @@ MACRO(target_link_dune_default_libraries _target)
ENDMACRO(target_link_dune_default_libraries)
MACRO(dune_common_script_dir _script_dir)
if("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
set(${_script_dir} ${CMAKE_SOURCE_DIR}/cmake/scripts)
else("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
set(${_script_dir} ${DuneCommon_SCRIPT_DIR})
endif("${CMAKE_PROJECT_NAME}" STREQUAL "dune-common")
ENDMACRO(dune_common_script_dir)
MACRO(test_dep)
execute_process(COMMAND ${CMAKE_COMMAND} -D RELPATH=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/scripts/FindFiles.cmake
dune_common_script_dir(SCRIPT_DIR)
execute_process(COMMAND ${CMAKE_COMMAND} -D RELPATH=${CMAKE_SOURCE_DIR} -P ${SCRIPT_DIR}/FindFiles.cmake
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
RESULT_VARIABLE _res ERROR_VARIABLE _dirs)
......@@ -17,5 +18,6 @@ ENDMACRO(get_directory_test_target _target _dir)
MACRO(add_directory_test_target _target)
get_directory_test_target(${_target} "${CMAKE_CURRENT_BINARY_DIR}")
add_custom_target(${${_target}})
configure_file(${DUNE_COMMON_SCRIPT_DIR}/BuildTests.cmake.in BuildTests.cmake @ONLY)
dune_common_script_dir(SCRIPT_DIR)
configure_file(${SCRIPT_DIR}/BuildTests.cmake.in BuildTests.cmake @ONLY)
ENDMACRO(add_directory_test_target)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment