Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
anaegel committed Jun 10, 2023
1 parent 740bce1 commit 339fdf3
Show file tree
Hide file tree
Showing 5 changed files with 138 additions and 119 deletions.
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ if(BUILD_ONE_LIB)
else(CUDA_FOUND)
# dynamic; w/o cuda
add_library(${targetLibraryName} SHARED ${ug4libSources})
install(TARGETS ${targetLibraryName}
ARCHIVE
DESTINATION lib)
install(TARGETS ${targetLibraryName}
LIBRARY DESTINATION lib
COMPONENT libraries)
endif(CUDA_FOUND)
#ug_add_library(${targetLibraryName} SHARED ${ug4libSources})

Expand Down
7 changes: 5 additions & 2 deletions cmake/cpack/rpm-config.cmake
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# Configuration for RPMs
CPACK_RPM_PACKAGE_SUMMARY("This is UG4.")
# Configuration for RPMs
SET (CPACK_RPM_PACKAGE_SUMMARY,"This is UG4.")
SET(CPACK_RPM_PACKAGE_NAME, "ug4")
SET(CPACK_RPM_PACKAGE_RELOCATABLE,TRUE)

18 changes: 15 additions & 3 deletions cmake/ug_cpack_config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,24 @@
# This file is used for cpack configuration.
set(CPACK_PACKAGE_NAME "UG4")
set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/UG4")
set(CPACK_PACKAGE_VENDOR "TheUG4Group")
set(CPACK_PACKAGE_CONTACT "[email protected]")
set(CPACK_PACKAGE_CHECKSUM SHA256)

# make DESTDIR=/home/xyz install
set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/ug4")

#include(cmake/cpack/zip-config.cmake) # Create ZIP (generic)
#include(cmake/cpack/nuget-config.cmake)
#include(cmake/cpack/osx-config.cmake)
#include(cmake/cpack/rpm-config.cmake)
include(cmake/cpack/zip-config.cmake) # Create ZIP (generic)
include(cmake/cpack/deb-config.cmake)

set(CPACK_GENERATOR "ZIP") # Override?
# We can select a generator using cpack -G
# set(CPACK_GENERATOR "DEB") # Override? # ZIP, DEB
include(CPack)

include(CPack)
# These are the 'component' categories used (extend, if neccessary!)
cpack_add_component(applications DISPLAY_NAME "Executables")
cpack_add_component(libraries DISPLAY_NAME "Libraries")
cpack_add_component(sources DISPLAY_NAME "Sources")
215 changes: 108 additions & 107 deletions ugbase/compile_info/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,107 +1,108 @@
# Copyright (c) 2012-2013: G-CSC, Goethe University Frankfurt
# Author: Sebastian Reiter
#
# This file is part of UG4.
#
# UG4 is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License version 3 (as published by the
# Free Software Foundation) with the following additional attribution
# requirements (according to LGPL/GPL v3 §7):
#
# (1) The following notice must be displayed in the Appropriate Legal Notices
# of covered and combined works: "Based on UG4 (www.ug4.org/license)".
#
# (2) The following notice must be displayed at a prominent place in the
# terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
#
# (3) The following bibliography is recommended for citation and must be
# preserved in all covered files:
# "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
# parallel geometric multigrid solver on hierarchically distributed grids.
# Computing and visualization in science 16, 4 (2013), 151-164"
# "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
# flexible software system for simulating pde based models on high performance
# computers. Computing and visualization in science 16, 4 (2013), 165-179"
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.

cmake_minimum_required(VERSION 2.8.12)

################################################
# ug4 - compile-info
################################################

project(P_UG4_COMPILE_INFO)

# set global output paths for UG4
# They are relative to the source dir for which cmake was executed.
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)

include("${UG_ROOT_CMAKE_PATH}/ug_includes.cmake")

# Name of the file that will contain the compile-info variables
set(infoFileName ${CMAKE_BINARY_DIR}/compile_info_vars.cpp)

# we write this file to make sure that it exists...
# Note that on UNIX systems the file is updated with each build through
# the add_custom_build_target and add_custom_command calls below.
# on windows we currently don't support updated compile-infos.
# check out, whether this can be improved using special windows-scripting...

#set(infoFileFound "infoFileFound-NOTFOUND")
#find_file(infoFileFound compile_info_vars.cpp PATHS ${CMAKE_BINARY_DIR})

#if(${infoFileFound} STREQUAL "infoFileFound-NOTFOUND")
file(WRITE ${infoFileName}
"namespace ug\n"
"{\n"
"const char *UG_SVN_REVISION=\"UNKNOWN\";\n"
"const char *UG_GIT_REVISION=\"UNKNOWN\";\n"
"const char *UG_BUILD_HOST=\"UNKNOWN\";\n"
"const char *UG_COMPILE_DATE=\"UNKNOWN\";\n"
"}\n")
#endif(${infoFileFound} STREQUAL "infoFileFound-NOTFOUND")

if(UNIX AND buildCompileInfo)
# The custom target is always considered out of date and will be rebuilt
# every time make is executed.
add_custom_target(updateCompileInfo)
# The build of the custom target triggers this custom command, which updates
# the compile_info.cpp file.
add_custom_command(TARGET updateCompileInfo PRE_BUILD COMMAND bash ${UG_ROOT_PATH}/ugcore/scripts/shell/generate_compile_info ${UG_ROOT_PATH} ${infoFileName})
endif(UNIX AND buildCompileInfo)

# Export sources to the file which contains the info-access-methods.
# Note that this is not the auto-generated file which contains
# the actual variable definitions.
EXPORTSOURCES(ugbase/compile_info compile_info.cpp)

if(buildEmbeddedPlugins OR NOT buildCompileInfo)
EXPORTSOURCES("" ${infoFileName})
# Note that a dependency to updateCompileInfo is created in the main CMakeLists.txt
# file for this case.

else(buildEmbeddedPlugins OR NOT buildCompileInfo)
if(buildDynamicLib)
add_library(CompileInfo SHARED ${infoFileName})
set(compileInfoLibName CompileInfo)
install(TARGETS ${compileInfoLibName}
LIBRARY
DESTINATION lib)
else(buildDynamicLib)
# no dynamic lib
add_library(CompileInfo_s STATIC ${infoFileName})
set(compileInfoLibName CompileInfo_s)
endif(buildDynamicLib)

if(UNIX AND buildCompileInfo)
# The dependency makes sure, that the compile_info file is written before
# the CompileInfo lib is being rebuilt.
add_dependencies(${compileInfoLibName} updateCompileInfo)
endif(UNIX AND buildCompileInfo)
endif(buildEmbeddedPlugins OR NOT buildCompileInfo)
# Copyright (c) 2012-2013: G-CSC, Goethe University Frankfurt
# Author: Sebastian Reiter
#
# This file is part of UG4.
#
# UG4 is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License version 3 (as published by the
# Free Software Foundation) with the following additional attribution
# requirements (according to LGPL/GPL v3 §7):
#
# (1) The following notice must be displayed in the Appropriate Legal Notices
# of covered and combined works: "Based on UG4 (www.ug4.org/license)".
#
# (2) The following notice must be displayed at a prominent place in the
# terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
#
# (3) The following bibliography is recommended for citation and must be
# preserved in all covered files:
# "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
# parallel geometric multigrid solver on hierarchically distributed grids.
# Computing and visualization in science 16, 4 (2013), 151-164"
# "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
# flexible software system for simulating pde based models on high performance
# computers. Computing and visualization in science 16, 4 (2013), 165-179"
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.

cmake_minimum_required(VERSION 2.8.12)

################################################
# ug4 - compile-info
################################################

project(P_UG4_COMPILE_INFO)

# set global output paths for UG4
# They are relative to the source dir for which cmake was executed.
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)

include("${UG_ROOT_CMAKE_PATH}/ug_includes.cmake")

# Name of the file that will contain the compile-info variables
set(infoFileName ${CMAKE_BINARY_DIR}/compile_info_vars.cpp)

# we write this file to make sure that it exists...
# Note that on UNIX systems the file is updated with each build through
# the add_custom_build_target and add_custom_command calls below.
# on windows we currently don't support updated compile-infos.
# check out, whether this can be improved using special windows-scripting...

#set(infoFileFound "infoFileFound-NOTFOUND")
#find_file(infoFileFound compile_info_vars.cpp PATHS ${CMAKE_BINARY_DIR})

#if(${infoFileFound} STREQUAL "infoFileFound-NOTFOUND")
file(WRITE ${infoFileName}
"namespace ug\n"
"{\n"
"const char *UG_SVN_REVISION=\"UNKNOWN\";\n"
"const char *UG_GIT_REVISION=\"UNKNOWN\";\n"
"const char *UG_BUILD_HOST=\"UNKNOWN\";\n"
"const char *UG_COMPILE_DATE=\"UNKNOWN\";\n"
"}\n")
#endif(${infoFileFound} STREQUAL "infoFileFound-NOTFOUND")

if(UNIX AND buildCompileInfo)
# The custom target is always considered out of date and will be rebuilt
# every time make is executed.
add_custom_target(updateCompileInfo)
# The build of the custom target triggers this custom command, which updates
# the compile_info.cpp file.
add_custom_command(TARGET updateCompileInfo PRE_BUILD COMMAND bash ${UG_ROOT_PATH}/ugcore/scripts/shell/generate_compile_info ${UG_ROOT_PATH} ${infoFileName})
endif(UNIX AND buildCompileInfo)

# Export sources to the file which contains the info-access-methods.
# Note that this is not the auto-generated file which contains
# the actual variable definitions.
EXPORTSOURCES(ugbase/compile_info compile_info.cpp)

if(buildEmbeddedPlugins OR NOT buildCompileInfo)
EXPORTSOURCES("" ${infoFileName})
# Note that a dependency to updateCompileInfo is created in the main CMakeLists.txt
# file for this case.

else(buildEmbeddedPlugins OR NOT buildCompileInfo)
if(buildDynamicLib)
# dynamic lib
add_library(CompileInfo SHARED ${infoFileName})
set(compileInfoLibName CompileInfo)
install(TARGETS ${compileInfoLibName}
LIBRARY DESTINATION lib
COMPONENT libraries)
else(buildDynamicLib)
# static lib
add_library(CompileInfo_s STATIC ${infoFileName})
set(compileInfoLibName CompileInfo_s)
endif(buildDynamicLib)

if(UNIX AND buildCompileInfo)
# The dependency makes sure, that the compile_info file is written before
# the CompileInfo lib is being rebuilt.
add_dependencies(${compileInfoLibName} updateCompileInfo)
endif(UNIX AND buildCompileInfo)
endif(buildEmbeddedPlugins OR NOT buildCompileInfo)
11 changes: 7 additions & 4 deletions ugbase/ug_shell/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,12 @@ else(STATIC_BUILD)
endif(STATIC_BUILD)


# CPack specifics
# CPack specific
#set_target_properties(${targetExecutableName} PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
#set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
install(TARGETS ${targetExecutableName}
RUNTIME
DESTINATION bin)
install(DIRECTORY ${UG_ROOT_PATH}/ugcore/scripts
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
COMPONENT applications)
install(DIRECTORY ${UG_ROOT_PATH}/ugcore/scripts
DESTINATION ugcore)

0 comments on commit 339fdf3

Please sign in to comment.