mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 04:12:13 +00:00
45 lines
1.5 KiB
CMake
45 lines
1.5 KiB
CMake
set(TEST_NAME test-cmocka)
|
|
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
cmocka
|
|
GIT_REPOSITORY https://git.cryptomilk.org/projects/cmocka.git
|
|
GIT_TAG cmocka-1.1.5
|
|
GIT_SHALLOW 1
|
|
)
|
|
|
|
set(WITH_STATIC_LIB ON CACHE BOOL "CMocka: Build with a static library" FORCE)
|
|
set(WITH_CMOCKERY_SUPPORT OFF CACHE BOOL "CMocka: Install a cmockery header" FORCE)
|
|
set(WITH_EXAMPLES OFF CACHE BOOL "CMocka: Build examples" FORCE)
|
|
set(UNIT_TESTING OFF CACHE BOOL "CMocka: Build with unit testing" FORCE)
|
|
set(PICKY_DEVELOPER OFF CACHE BOOL "CMocka: Build with picky developer flags" FORCE)
|
|
|
|
FetchContent_MakeAvailable(cmocka)
|
|
|
|
function(ADD_CMOCKA_TEST_ENVIRONMENT _TARGET_NAME)
|
|
if (WIN32 OR CYGWIN OR MINGW OR MSVC)
|
|
file(TO_NATIVE_PATH "${cmocka-library_BINARY_DIR}" CMOCKA_DLL_PATH)
|
|
|
|
if (TARGET_SYSTEM_EMULATOR)
|
|
set(DLL_PATH_ENV "WINEPATH=${CMOCKA_DLL_PATH};$ENV{WINEPATH}")
|
|
else ()
|
|
set(DLL_PATH_ENV "PATH=${CMOCKA_DLL_PATH}\\${CMAKE_BUILD_TYPE};$ENV{PATH}")
|
|
endif ()
|
|
#
|
|
# IMPORTANT NOTE: The set_tests_properties(), below, internally
|
|
# stores its name/value pairs with a semicolon delimiter.
|
|
# because of this we must protect the semicolons in the path
|
|
#
|
|
string(REPLACE ";" "\\;" DLL_PATH_ENV "${DLL_PATH_ENV}")
|
|
|
|
set_tests_properties(${_TARGET_NAME}
|
|
PROPERTIES
|
|
ENVIRONMENT
|
|
"${DLL_PATH_ENV}")
|
|
endif ()
|
|
endfunction()
|
|
|
|
|
|
add_subdirectory(sample_test)
|