mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-17 06:37:43 -05:00
* Added assert_not_defined check * Function to get package name form git uri and tests * Autofix format * If name is not provided, try to infer it from the git repo * Unset result of cpm_package_name_from_git_uri if there is no match - Also reordered tests to ensure that the result is actually unset when needed * Removed trailing spaces in README * Updated the main example with the new minimal syntax * Well... autofix format again * Update error message for missing name to reflect the possible auto-infer step * Autofix format... yet again :)
74 lines
1.9 KiB
CMake
74 lines
1.9 KiB
CMake
function(ASSERT_EQUAL)
|
|
if(NOT ARGC EQUAL 2)
|
|
message(FATAL_ERROR "assertion failed: invalid argument count: ${ARGC}")
|
|
endif()
|
|
|
|
if(NOT ${ARGV0} STREQUAL ${ARGV1})
|
|
message(FATAL_ERROR "assertion failed: '${ARGV0}' != '${ARGV1}'")
|
|
else()
|
|
message(STATUS "test passed: '${ARGV0}' == '${ARGV1}'")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERT_NOT_EQUAL)
|
|
if(NOT ARGC EQUAL 2)
|
|
message(FATAL_ERROR "assertion failed: invalid argument count: ${ARGC}")
|
|
endif()
|
|
|
|
if(${ARGV0} STREQUAL ${ARGV1})
|
|
message(FATAL_ERROR "assertion failed: '${ARGV0}' == '${ARGV1}'")
|
|
else()
|
|
message(STATUS "test passed: '${ARGV0}' != '${ARGV1}'")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERT_EMPTY)
|
|
if(NOT ARGC EQUAL 0)
|
|
message(FATAL_ERROR "assertion failed: input ${ARGC} not empty: '${ARGV}'")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERT_DEFINED KEY)
|
|
if(DEFINED ${KEY})
|
|
message(STATUS "test passed: '${KEY}' is defined")
|
|
else()
|
|
message(FATAL_ERROR "assertion failed: '${KEY}' is not defiend")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERT_NOT_DEFINED KEY)
|
|
if(DEFINED ${KEY})
|
|
message(FATAL_ERROR "assertion failed: '${KEY}' is defiend")
|
|
else()
|
|
message(STATUS "test passed: '${KEY}' is not defined")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERT_TRUTHY KEY)
|
|
if(${${KEY}})
|
|
message(STATUS "test passed: '${KEY}' is set truthy")
|
|
else()
|
|
message(FATAL_ERROR "assertion failed: value of '${KEY}' is not true (${${KEY}})")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERTION_FAILED)
|
|
message(FATAL_ERROR "assertion failed: ${ARGN}")
|
|
endfunction()
|
|
|
|
function(ASSERT_EXISTS file)
|
|
if(EXISTS ${file})
|
|
message(STATUS "test passed: '${file}' exists")
|
|
else()
|
|
message(FATAL_ERROR "assertion failed: file ${file} does not exist")
|
|
endif()
|
|
endfunction()
|
|
|
|
function(ASSERT_NOT_EXISTS file)
|
|
if(NOT EXISTS ${file})
|
|
message(STATUS "test passed: '${file}' does not exist")
|
|
else()
|
|
message(FATAL_ERROR "assertion failed: file ${file} exists")
|
|
endif()
|
|
endfunction()
|