diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2017-08-24 21:23:58 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-24 21:23:58 +0100 |
| commit | 0a93ded1b931c0cd3476300a0794dc2f3e946356 (patch) | |
| tree | b8c0a0c5f1ea11d6ce22baf714e2276e756e7299 /tests | |
| parent | 1560b5808e71af170d3a0c09f35cab7e973df5a5 (diff) | |
| parent | a3a354738f94cf29e0572d0d83ef937e0d94968f (diff) | |
| download | libgit2-0a93ded1b931c0cd3476300a0794dc2f3e946356.tar.gz | |
Merge pull request #4282 from pks-t/pks/remove-unused-clar-fixtures
Split up CMakeLists.txt build instructions
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/CMakeLists.txt | 63 | ||||
| -rw-r--r-- | tests/precompiled.c | 1 | ||||
| -rw-r--r-- | tests/precompiled.h | 4 |
3 files changed, 68 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 000000000..5aba2914a --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,63 @@ +FIND_PACKAGE(PythonInterp) + +IF(NOT PYTHONINTERP_FOUND) + MESSAGE(FATAL_ERROR "Could not find a python interpeter, which is needed to build the tests. " + "Make sure python is available, or pass -DBUILD_CLAR=OFF to skip building the tests") +ENDIF() + +SET(CLAR_FIXTURES "${CMAKE_CURRENT_SOURCE_DIR}/resources/") +SET(CLAR_PATH "${CMAKE_CURRENT_SOURCE_DIR}") +ADD_DEFINITIONS(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\") +ADD_DEFINITIONS(-DCLAR_TMPDIR=\"libgit2_tests\") + +INCLUDE_DIRECTORIES(${CLAR_PATH} ${CMAKE_BINARY_DIR}/src) +FILE(GLOB_RECURSE SRC_TEST ${CLAR_PATH}/*/*.c ${CLAR_PATH}/*/*.h) +SET(SRC_CLAR "main.c" "clar_libgit2.c" "clar_libgit2_trace.c" "clar_libgit2_timer.c" "clar.c") + +IF(MSVC_IDE) + LIST(APPEND SRC_CLAR "precompiled.c") +ENDIF() + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/clar.suite + COMMAND ${PYTHON_EXECUTABLE} generate.py -o "${CMAKE_CURRENT_BINARY_DIR}" -f -xonline -xstress . + DEPENDS ${SRC_TEST} + WORKING_DIRECTORY ${CLAR_PATH} +) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + +SET_SOURCE_FILES_PROPERTIES( + ${CLAR_PATH}/clar.c + PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clar.suite) + +LINK_DIRECTORIES(${LIBGIT2_LIBDIRS}) +INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES}) + +ADD_EXECUTABLE(libgit2_clar ${SRC_CLAR} ${SRC_TEST} ${GIT2INTERNAL_OBJECTS}) + +SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + +IF (${CMAKE_VERSION} VERSION_GREATER 2.8.11) + TARGET_INCLUDE_DIRECTORIES(libgit2_clar PRIVATE ../src PUBLIC ../include) +ENDIF() + +TARGET_LINK_LIBRARIES(libgit2_clar ${LIBGIT2_LIBS}) +IDE_SPLIT_SOURCES(libgit2_clar) + +IF (MSVC_IDE) + # Precompiled headers + SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES COMPILE_FLAGS "/Yuprecompiled.h /FIprecompiled.h") + SET_SOURCE_FILES_PROPERTIES("precompiled.c" COMPILE_FLAGS "/Ycprecompiled.h") +ENDIF () + +IF (WINHTTP OR OPENSSL_FOUND OR SECURITY_FOUND) + ADD_TEST(libgit2_clar "${CMAKE_BINARY_DIR}/libgit2_clar" -ionline -xclone::local::git_style_unc_paths -xclone::local::standard_unc_paths_are_written_git_style) +ELSE () + ADD_TEST(libgit2_clar "${CMAKE_BINARY_DIR}/libgit2_clar" -v -xclone::local::git_style_unc_paths -xclone::local::standard_unc_paths_are_written_git_style) +ENDIF () + +# Add a test target which runs the cred callback tests, to be +# called after setting the url and user +ADD_TEST(libgit2_clar-cred_callback "${CMAKE_BINARY_DIR}/libgit2_clar" -v -sonline::clone::cred_callback) +ADD_TEST(libgit2_clar-proxy_credentials_in_url "${CMAKE_BINARY_DIR}/libgit2_clar" -v -sonline::clone::proxy_credentials_in_url) +ADD_TEST(libgit2_clar-proxy_credentials_request "${CMAKE_BINARY_DIR}/libgit2_clar" -v -sonline::clone::proxy_credentials_request) diff --git a/tests/precompiled.c b/tests/precompiled.c new file mode 100644 index 000000000..5f656a45d --- /dev/null +++ b/tests/precompiled.c @@ -0,0 +1 @@ +#include "precompiled.h" diff --git a/tests/precompiled.h b/tests/precompiled.h new file mode 100644 index 000000000..ea53a60e9 --- /dev/null +++ b/tests/precompiled.h @@ -0,0 +1,4 @@ +#include "common.h" +#include "git2.h" +#include "clar.h" +#include "clar_libgit2.h" |
