summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2021-11-15 07:45:16 -0500
committerEdward Thomson <ethomson@edwardthomson.com>2022-02-22 22:07:44 -0500
commit5fcfada500073ddd4acbfa0b0906e37025b45556 (patch)
tree598abca1f4fdfdf26fc68debaeb0216cf72eb1b2
parentc3b7ace9cf3216928a31886b32c264e0cd3cde75 (diff)
downloadlibgit2-5fcfada500073ddd4acbfa0b0906e37025b45556.tar.gz
cmake: document CMakeLists.txt hierarchy
-rw-r--r--CMakeLists.txt5
-rw-r--r--examples/CMakeLists.txt2
-rw-r--r--fuzzers/CMakeLists.txt2
-rw-r--r--src/libgit2/CMakeLists.txt3
-rw-r--r--src/util/CMakeLists.txt1
-rw-r--r--tests/CMakeLists.txt2
6 files changed, 14 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eb137ecdd..90ecc92fe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,8 @@
-# CMake build script for the libgit2 project
+# libgit2: the cross-platform, linkable library implementation of git.
# See `README.md` for build instructions.
+#
+# This top-level CMakeLists.txt sets up configuration options and
+# determines which subprojects to build.
cmake_minimum_required(VERSION 3.5.1)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 235e72ada..956b03827 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -1,3 +1,5 @@
+# examples: code usage examples of libgit2
+
file(GLOB SRC_EXAMPLES *.c *.h)
add_executable(lg2 ${SRC_EXAMPLES})
diff --git a/fuzzers/CMakeLists.txt b/fuzzers/CMakeLists.txt
index eaa490fd9..a2c19ed40 100644
--- a/fuzzers/CMakeLists.txt
+++ b/fuzzers/CMakeLists.txt
@@ -1,3 +1,5 @@
+# fuzzers: libFuzzer and standalone fuzzing utilities
+
if(BUILD_FUZZERS AND NOT USE_STANDALONE_FUZZERS)
set(CMAKE_REQUIRED_FLAGS "-fsanitize=fuzzer-no-link")
add_c_flag(-fsanitize=fuzzer)
diff --git a/src/libgit2/CMakeLists.txt b/src/libgit2/CMakeLists.txt
index 3dac83d7a..52fdf0d88 100644
--- a/src/libgit2/CMakeLists.txt
+++ b/src/libgit2/CMakeLists.txt
@@ -1,3 +1,6 @@
+# libgit2: the shared library: this CMakeLists.txt compiles the core
+# git library functionality.
+
add_library(git2internal OBJECT)
set_target_properties(git2internal PROPERTIES C_STANDARD 90)
set_target_properties(git2internal PROPERTIES C_EXTENSIONS OFF)
diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt
index ea2df0a56..b725d5426 100644
--- a/src/util/CMakeLists.txt
+++ b/src/util/CMakeLists.txt
@@ -54,6 +54,7 @@ list(SORT UTIL_SRC_HASH)
#
target_sources(util PRIVATE ${UTIL_SRC} ${UTIL_SRC_OS} ${UTIL_SRC_HASH})
+ide_split_sources(util)
target_include_directories(util PRIVATE ${UTIL_INCLUDES} ${LIBGIT2_DEPENDENCY_INCLUDES} PUBLIC ${libgit2_SOURCE_DIR}/include)
target_include_directories(util SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f293c158d..33dfd0ae8 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,3 +1,5 @@
+# tests: the unit and integration tests for libgit2
+
set(Python_ADDITIONAL_VERSIONS 3 2.7)
find_package(PythonInterp)