diff options
author | Joseph Hunkeler <jhunkeler@users.noreply.github.com> | 2021-06-16 12:09:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-16 12:09:10 -0400 |
commit | c1476e3394f875f33834877a63f485ec6a6be8f6 (patch) | |
tree | 1f0a93a9857871fbaf3ec9ad10a0ccc8c6f5bca4 /CMakeLists.txt | |
parent | b0688d5619407b9ac44dd238dc66e0b6841279e0 (diff) | |
download | multihome-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.txt | 10 |
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}) |