Commit 5fcfada5 by Edward Thomson

cmake: document CMakeLists.txt hierarchy

parent c3b7ace9
# 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)
......
# examples: code usage examples of libgit2
file(GLOB SRC_EXAMPLES *.c *.h)
add_executable(lg2 ${SRC_EXAMPLES})
......
# 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)
......
# 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)
......
......@@ -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})
# tests: the unit and integration tests for libgit2
set(Python_ADDITIONAL_VERSIONS 3 2.7)
find_package(PythonInterp)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment