]> git.proxmox.com Git - libgit2.git/blame - tests/CMakeLists.txt
New upstream version 0.27.4+dfsg.1
[libgit2.git] / tests / CMakeLists.txt
CommitLineData
eae0bfdc
PP
1FIND_PACKAGE(PythonInterp)
2
3IF(NOT PYTHONINTERP_FOUND)
4 MESSAGE(FATAL_ERROR "Could not find a python interpeter, which is needed to build the tests. "
5 "Make sure python is available, or pass -DBUILD_CLAR=OFF to skip building the tests")
6ENDIF()
7
8SET(CLAR_FIXTURES "${CMAKE_CURRENT_SOURCE_DIR}/resources/")
9SET(CLAR_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
10ADD_DEFINITIONS(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\")
11ADD_DEFINITIONS(-DCLAR_TMPDIR=\"libgit2_tests\")
4b3ec53c 12ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
eae0bfdc
PP
13
14INCLUDE_DIRECTORIES(${CLAR_PATH} ${libgit2_BINARY_DIR}/src)
15FILE(GLOB_RECURSE SRC_TEST ${CLAR_PATH}/*/*.c ${CLAR_PATH}/*/*.h)
16SET(SRC_CLAR "main.c" "clar_libgit2.c" "clar_libgit2_trace.c" "clar_libgit2_timer.c" "clar.c")
17
18IF(MSVC_IDE)
19 LIST(APPEND SRC_CLAR "precompiled.c")
20ENDIF()
21
22ADD_CUSTOM_COMMAND(
23 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/clar.suite
24 COMMAND ${PYTHON_EXECUTABLE} generate.py -o "${CMAKE_CURRENT_BINARY_DIR}" -f -xonline -xstress -xperf .
25 DEPENDS ${SRC_TEST}
26 WORKING_DIRECTORY ${CLAR_PATH}
27)
28INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
29
30SET_SOURCE_FILES_PROPERTIES(
31 ${CLAR_PATH}/clar.c
32 PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clar.suite)
33
eae0bfdc
PP
34INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
35
36ADD_EXECUTABLE(libgit2_clar ${SRC_CLAR} ${SRC_TEST} ${LIBGIT2_OBJECTS})
37
38SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
39
40IF (${CMAKE_VERSION} VERSION_LESS 2.8.12)
41 # Already handled by a global INCLUDE_DIRECTORY()
42ELSE()
43 TARGET_INCLUDE_DIRECTORIES(libgit2_clar PRIVATE ../src PUBLIC ../include)
44ENDIF()
45
46TARGET_LINK_LIBRARIES(libgit2_clar ${LIBGIT2_LIBS})
47IDE_SPLIT_SOURCES(libgit2_clar)
48
49IF (MSVC_IDE)
50 # Precompiled headers
51 SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h")
52 SET_SOURCE_FILES_PROPERTIES("precompiled.c" COMPILE_FLAGS "/Ycprecompiled.h")
53ENDIF ()
54
55IF (USE_HTTPS)
56 ADD_TEST(libgit2_clar "${libgit2_BINARY_DIR}/libgit2_clar" -ionline -xclone::local::git_style_unc_paths -xclone::local::standard_unc_paths_are_written_git_style)
57ELSE ()
58 ADD_TEST(libgit2_clar "${libgit2_BINARY_DIR}/libgit2_clar" -v -xclone::local::git_style_unc_paths -xclone::local::standard_unc_paths_are_written_git_style)
59ENDIF ()
60
61# Add additional test targets that require special setup
62ADD_TEST(libgit2_clar-proxy_credentials "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::clone::proxy_credentials_in_url -sonline::clone::proxy_credentials_request)
63ADD_TEST(libgit2_clar-ssh "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths)