aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2021-06-16 12:09:10 -0400
committerGitHub <noreply@github.com>2021-06-16 12:09:10 -0400
commitc1476e3394f875f33834877a63f485ec6a6be8f6 (patch)
tree1f0a93a9857871fbaf3ec9ad10a0ccc8c6f5bca4 /CMakeLists.txt
parentb0688d5619407b9ac44dd238dc66e0b6841279e0 (diff)
downloadmultihome-c1476e3394f875f33834877a63f485ec6a6be8f6.tar.gz
Add shell init scripts and host_groups (#3)
* Add shell init scripts (templates) * Check for additional symbols * Handle missing PATH_MAX declaration (e.g. Ubuntu) * Install shell scripts into $PREFIX/share/init * Replace _INIT declaration with HOST_GROUP * Add scripts_dir and config_host_group struct elements to global 'multihome' * Fix count_substrings() returning wrong type * Refactor RSYNC_BIN to MULTIHOME_RSYNC_BIN * get_timestamp() no longer accepts a buffer as an argument * write_init_script() now uses scripts in $PREFIX/share/init/ to generate output files * Add user_host_group(), which allows grouping systems to a single home directory by way of regex pattern matching * strip_domainname() returns modified pointer, not new storage * Fix strip_domainname test * Create configuration directory if it does not exist * CI needs to install multihome and use the correct script * Always resolve argv[0] to absolute path
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt10
1 files changed, 9 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0c49bfa..9edb081 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,8 @@ include(CheckSymbolExists)
include(CheckCSourceCompiles)
set(CMAKE_C_STANDARD 99)
+set(DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME})
+set(MULTIHOME_SCRIPTS_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/init)
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
@@ -11,6 +13,9 @@ check_symbol_exists(basename "libgen.h" HAVE_BASENAME)
check_symbol_exists(dirname "libgen.h" HAVE_DIRNAME)
check_symbol_exists(getpwuid "pwd.h" HAVE_GETPWUID)
check_symbol_exists(geteuid "unistd.h" HAVE_GETEUID)
+check_symbol_exists(strstr "string.h" HAVE_STRSTR)
+check_symbol_exists(sprintf "string.h" HAVE_SPRINTF)
+check_symbol_exists(PATH_MAX "limits.h" HAVE_PATH_MAX)
check_c_source_compiles(
"
@@ -22,7 +27,7 @@ check_c_source_compiles(
HAVE_ARGP
)
-find_program(RSYNC_BIN
+find_program(MULTIHOME_RSYNC_BIN
NAMES rsync
REQUIRED)
@@ -34,3 +39,6 @@ add_executable(multihome
install(TARGETS multihome
RUNTIME DESTINATION bin)
+
+install(DIRECTORY init
+ DESTINATION ${DATA_DIR})