aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-08-31 10:10:06 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-08-31 10:10:06 -0400
commitd258299bcb440e570e0c1d05538e05e259cff0bf (patch)
treec5743468421b5600a655d877a3356d5a27192d7c /CMakeLists.txt
parent5dd88ba1f02691bde3a8b13b133e1b562a5a8fa3 (diff)
downloadmultihome-d258299bcb440e570e0c1d05538e05e259cff0bf.tar.gz
Add platform checks
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt24
1 files changed, 23 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 368e6ce..3de427f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,32 @@
-cmake_minimum_required(VERSION 3.17)
+cmake_minimum_required(VERSION 3.0)
project(multihome C)
+include(CheckSymbolExists)
+include(CheckCSourceCompiles)
set(CMAKE_C_STANDARD 99)
include_directories(.)
+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_c_source_compiles(
+ "
+ #include <argp.h>
+ int main(int argc, char *argv[]) {
+ struct argp_option option[10];
+ }
+ "
+ HAVE_ARGP
+)
+if (NOT HAVE_ARGP)
+ message(FATAL_ERROR "Your toolchain does not provide argp")
+endif()
+
+find_program(PROGRAM_RSYNC rsync REQUIRED)
+
add_executable(multihome
multihome.c
multihome.h)