summaryrefslogtreecommitdiff
path: root/tests/headertest
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2021-11-16 23:47:14 -0500
committerEdward Thomson <ethomson@edwardthomson.com>2022-02-22 22:07:45 -0500
commit2b09b5d7a0e856f6a5b23bfbd38537f8ee472523 (patch)
treea0bf56a3ce3d96a30ebae714cb3dca3216e80b13 /tests/headertest
parent25bc84fb8f702b57983d374f1c79b93a2d7543f1 (diff)
downloadlibgit2-2b09b5d7a0e856f6a5b23bfbd38537f8ee472523.tar.gz
refactor: move headertest into separate test folder
Diffstat (limited to 'tests/headertest')
-rw-r--r--tests/headertest/CMakeLists.txt14
-rw-r--r--tests/headertest/headertest.c13
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/headertest/CMakeLists.txt b/tests/headertest/CMakeLists.txt
new file mode 100644
index 000000000..c70ce1ae1
--- /dev/null
+++ b/tests/headertest/CMakeLists.txt
@@ -0,0 +1,14 @@
+# Header file validation project: ensure that we do not publish any sloppy
+# definitions in our headers and that a consumer can include <git2.dll>
+# even when they have aggressive C90 warnings enabled.
+
+add_executable(headertest headertest.c)
+set_target_properties(headertest PROPERTIES C_STANDARD 90)
+set_target_properties(headertest PROPERTIES C_EXTENSIONS OFF)
+target_include_directories(headertest PRIVATE ${LIBGIT2_INCLUDES})
+
+if (MSVC)
+ target_compile_options(headertest PUBLIC /W4 /WX)
+else()
+ target_compile_options(headertest PUBLIC -Wall -Wextra -pedantic -Werror)
+endif()
diff --git a/tests/headertest/headertest.c b/tests/headertest/headertest.c
new file mode 100644
index 000000000..2af8a14ec
--- /dev/null
+++ b/tests/headertest/headertest.c
@@ -0,0 +1,13 @@
+/*
+ * Dummy project to validate header files
+ *
+ * This project is not intended to be executed, it should only include all
+ * header files to make sure that they can be used with stricter compiler
+ * settings than the libgit2 source files generally supports.
+ */
+#include "git2.h"
+
+int main(void)
+{
+ return 0;
+}