Apply clang-format and cmake-format and add style check workflow (#171)

* apply clang-format and cmake-format and add style check workflow

* add declare package definition

* add additional public methods and rename internals

* change development verison tag to 1.0.0

* rename internal method

* rename public method

* rename test var

* update copyright and fix comment

* typo

* run fix-format

* fix test function names
This commit is contained in:
Lars Melchior
2021-01-06 14:40:33 +01:00
committed by GitHub
parent cf3f62b6f2
commit 1ebbac6332
51 changed files with 728 additions and 593 deletions

View File

@@ -8,8 +8,8 @@ set(TEST_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/remote_dependency)
function(clear_cache)
message(STATUS "clearing CPM cache")
FILE(REMOVE_RECURSE ${CPM_SOURCE_CACHE_DIR})
ASSERT_NOT_EXISTS("${CPM_SOURCE_CACHE_DIR}")
file(REMOVE_RECURSE ${CPM_SOURCE_CACHE_DIR})
assert_not_exists("${CPM_SOURCE_CACHE_DIR}")
endfunction()
function(update_cmake_lists)
@@ -22,100 +22,92 @@ endfunction()
function(reset_test)
clear_cache()
FILE(REMOVE_RECURSE ${TEST_BUILD_DIR})
file(REMOVE_RECURSE ${TEST_BUILD_DIR})
update_cmake_lists()
endfunction()
set(FIBONACCI_VERSION 1.0)
## Read CPM_SOURCE_CACHE from arguments
# Read CPM_SOURCE_CACHE from arguments
reset_test()
execute_process(
COMMAND
${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}" "-DCPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}"
RESULT_VARIABLE ret
COMMAND ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}"
"-DCPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
ASSERT_EXISTS("${CPM_SOURCE_CACHE_DIR}/fibonacci")
assert_equal(${ret} "0")
assert_exists("${CPM_SOURCE_CACHE_DIR}/fibonacci")
FILE(GLOB FIBONACCI_VERSIONs "${CPM_SOURCE_CACHE_DIR}/fibonacci/*")
file(GLOB FIBONACCI_VERSIONs "${CPM_SOURCE_CACHE_DIR}/fibonacci/*")
list(LENGTH FIBONACCI_VERSIONs FIBONACCI_VERSION_count)
ASSERT_EQUAL(${FIBONACCI_VERSION_count} "1")
assert_equal(${FIBONACCI_VERSION_count} "1")
FILE(GLOB fibonacci_versions "${CPM_SOURCE_CACHE_DIR}/fibonacci/*")
file(GLOB fibonacci_versions "${CPM_SOURCE_CACHE_DIR}/fibonacci/*")
list(LENGTH fibonacci_versions fibonacci_version_count)
ASSERT_EQUAL(${fibonacci_version_count} "1")
assert_equal(${fibonacci_version_count} "1")
## Update dependency and keep CPM_SOURCE_CACHE
# Update dependency and keep CPM_SOURCE_CACHE
set(FIBONACCI_VERSION 2.0)
update_cmake_lists()
execute_process(
COMMAND
${CMAKE_COMMAND} ${TEST_BUILD_DIR}
RESULT_VARIABLE ret
)
execute_process(COMMAND ${CMAKE_COMMAND} ${TEST_BUILD_DIR} RESULT_VARIABLE ret)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")
FILE(GLOB FIBONACCI_VERSIONs "${CPM_SOURCE_CACHE_DIR}/fibonacci/*")
file(GLOB FIBONACCI_VERSIONs "${CPM_SOURCE_CACHE_DIR}/fibonacci/*")
list(LENGTH FIBONACCI_VERSIONs FIBONACCI_VERSION_count)
ASSERT_EQUAL(${FIBONACCI_VERSION_count} "2")
assert_equal(${FIBONACCI_VERSION_count} "2")
## Clear cache and update
# Clear cache and update
clear_cache()
execute_process(
COMMAND
${CMAKE_COMMAND} ${TEST_BUILD_DIR}
RESULT_VARIABLE ret
)
execute_process(COMMAND ${CMAKE_COMMAND} ${TEST_BUILD_DIR} RESULT_VARIABLE ret)
ASSERT_EQUAL(${ret} "0")
ASSERT_EXISTS("${CPM_SOURCE_CACHE_DIR}/fibonacci")
assert_equal(${ret} "0")
assert_exists("${CPM_SOURCE_CACHE_DIR}/fibonacci")
## Read CPM_SOURCE_CACHE from environment
# Read CPM_SOURCE_CACHE from environment
reset_test()
execute_process(
COMMAND
${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}"
RESULT_VARIABLE ret
COMMAND ${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND}
"-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}" RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
ASSERT_EXISTS("${CPM_SOURCE_CACHE_DIR}/fibonacci")
assert_equal(${ret} "0")
assert_exists("${CPM_SOURCE_CACHE_DIR}/fibonacci")
## Reuse cached packages for other build
# Reuse cached packages for other build
execute_process(
COMMAND
${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}-2"
COMMAND ${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND}
"-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}-2"
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")
## Overwrite CPM_SOURCE_CACHE with argument
# Overwrite CPM_SOURCE_CACHE with argument
reset_test()
execute_process(
COMMAND
${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CMAKE_CURRENT_BINARY_DIR}/junk" ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}" "-DCPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}"
COMMAND
${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CMAKE_CURRENT_BINARY_DIR}/junk" ${CMAKE_COMMAND}
"-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}"
"-DCPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}"
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
ASSERT_EXISTS("${CPM_SOURCE_CACHE_DIR}/fibonacci")
assert_equal(${ret} "0")
assert_exists("${CPM_SOURCE_CACHE_DIR}/fibonacci")
## Use NO_CACHE option
# Use NO_CACHE option
set(FIBONACCI_PACKAGE_ARGS "NO_CACHE YES")
set(FIBONACCI_VERSION 1.0)
@@ -123,25 +115,23 @@ update_cmake_lists()
reset_test()
execute_process(
COMMAND
${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}"
RESULT_VARIABLE ret
COMMAND ${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND}
"-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}" RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
ASSERT_NOT_EXISTS("${CPM_SOURCE_CACHE_DIR}/fibonacci")
assert_equal(${ret} "0")
assert_not_exists("${CPM_SOURCE_CACHE_DIR}/fibonacci")
## Use commit hash after version
# Use commit hash after version
set(FIBONACCI_PACKAGE_ARGS "NO_CACHE YES GIT_TAG e9ebf168ca0fffaa4ef8c6fefc6346aaa22f6ed5")
set(FIBONACCI_VERSION 1.1)
update_cmake_lists()
execute_process(
COMMAND
${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}"
RESULT_VARIABLE ret
COMMAND ${CMAKE_COMMAND} -E env "CPM_SOURCE_CACHE=${CPM_SOURCE_CACHE_DIR}" ${CMAKE_COMMAND}
"-H${CMAKE_CURRENT_LIST_DIR}/remote_dependency" "-B${TEST_BUILD_DIR}" RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
ASSERT_NOT_EXISTS("${CPM_SOURCE_CACHE_DIR}/fibonacci")
assert_equal(${ret} "0")
assert_not_exists("${CPM_SOURCE_CACHE_DIR}/fibonacci")

View File

@@ -5,31 +5,19 @@ include(${CPM_PATH}/testing.cmake)
set(CPM_DRY_RUN ON)
CPMAddPackage(
NAME A
GIT_TAG 1.2.3
)
CPMAddPackage(NAME A GIT_TAG 1.2.3)
CPMAddPackage(
NAME A
VERSION 1.2.3
)
CPMAddPackage(NAME A VERSION 1.2.3)
CPMGetPackageVersion(A VERSION)
ASSERT_EQUAL(${VERSION} "1.2.3")
assert_equal(${VERSION} "1.2.3")
CPMAddPackage(
NAME B
VERSION 2.4.1
)
CPMAddPackage(NAME B VERSION 2.4.1)
CPMAddPackage(
NAME B
GIT_TAG v2.3.1
)
CPMAddPackage(NAME B GIT_TAG v2.3.1)
CPMGetPackageVersion(B VERSION)
ASSERT_EQUAL(${VERSION} "2.4.1")
assert_equal(${VERSION} "2.4.1")
CPMAddPackage(
NAME C
@@ -38,4 +26,4 @@ CPMAddPackage(
)
CPMGetPackageVersion(C VERSION)
ASSERT_EQUAL(${VERSION} "3.1.2")
assert_equal(${VERSION} "3.1.2")

View File

@@ -3,20 +3,20 @@ cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
include(${CPM_PATH}/CPM.cmake)
include(${CPM_PATH}/testing.cmake)
CPM_IS_GIT_TAG_COMMIT_HASH("v1.2.3" RESULT)
ASSERT_EQUAL("0" ${RESULT})
cpm_is_git_tag_commit_hash("v1.2.3" RESULT)
assert_equal("0" ${RESULT})
CPM_IS_GIT_TAG_COMMIT_HASH("asio-1-12-1" RESULT)
ASSERT_EQUAL("0" ${RESULT})
cpm_is_git_tag_commit_hash("asio-1-12-1" RESULT)
assert_equal("0" ${RESULT})
CPM_IS_GIT_TAG_COMMIT_HASH("513039e3cba83284cec71287fd829865b9f423bc" RESULT)
ASSERT_EQUAL("1" ${RESULT})
cpm_is_git_tag_commit_hash("513039e3cba83284cec71287fd829865b9f423bc" RESULT)
assert_equal("1" ${RESULT})
CPM_IS_GIT_TAG_COMMIT_HASH("513039E3CBA83284CEC71287FD829865B9F423BC" RESULT)
ASSERT_EQUAL("1" ${RESULT})
cpm_is_git_tag_commit_hash("513039E3CBA83284CEC71287FD829865B9F423BC" RESULT)
assert_equal("1" ${RESULT})
CPM_IS_GIT_TAG_COMMIT_HASH("513039E" RESULT)
ASSERT_EQUAL("1" ${RESULT})
cpm_is_git_tag_commit_hash("513039E" RESULT)
assert_equal("1" ${RESULT})
CPM_IS_GIT_TAG_COMMIT_HASH("513039E3CBA8" RESULT)
ASSERT_EQUAL("1" ${RESULT})
cpm_is_git_tag_commit_hash("513039E3CBA8" RESULT)
assert_equal("1" ${RESULT})

View File

@@ -1,4 +1,3 @@
function(dependency_function)
message("called external method")
endfunction()

View File

@@ -1,10 +1,9 @@
include(CMakePackageConfigHelpers)
include(${CPM_PATH}/testing.cmake)
set(TEST_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/modules)
function(initProjectWithDependency TEST_DEPENDENCY_NAME)
function(init_project_with_dependency TEST_DEPENDENCY_NAME)
configure_package_config_file(
"${CMAKE_CURRENT_LIST_DIR}/local_dependency/ModuleCMakeLists.txt.in"
"${CMAKE_CURRENT_LIST_DIR}/local_dependency/CMakeLists.txt"
@@ -12,19 +11,18 @@ function(initProjectWithDependency TEST_DEPENDENCY_NAME)
)
execute_process(
COMMAND
${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/local_dependency" "-B${TEST_BUILD_DIR}"
COMMAND ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/local_dependency" "-B${TEST_BUILD_DIR}"
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")
endfunction()
initProjectWithDependency(A)
ASSERT_EXISTS(${TEST_BUILD_DIR}/CPM_modules)
ASSERT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindA.cmake)
ASSERT_NOT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindB.cmake)
init_project_with_dependency(A)
assert_exists(${TEST_BUILD_DIR}/CPM_modules)
assert_exists(${TEST_BUILD_DIR}/CPM_modules/FindA.cmake)
assert_not_exists(${TEST_BUILD_DIR}/CPM_modules/FindB.cmake)
initProjectWithDependency(B)
ASSERT_NOT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindA.cmake)
ASSERT_EXISTS(${TEST_BUILD_DIR}/CPM_modules/FindB.cmake)
init_project_with_dependency(B)
assert_not_exists(${TEST_BUILD_DIR}/CPM_modules/FindA.cmake)
assert_exists(${TEST_BUILD_DIR}/CPM_modules/FindB.cmake)

View File

@@ -1,17 +1,18 @@
include(CMakePackageConfigHelpers)
include(${CPM_PATH}/testing.cmake)
set(TEST_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/package-lock)
function(configureWithDeclare DECLARE_DEPENDENCY)
function(configure_with_declare DECLARE_DEPENDENCY)
execute_process(COMMAND ${CMAKE_COMMAND} -E rm -rf ${TEST_BUILD_DIR})
if (DECLARE_DEPENDENCY)
set(PREPARE_CODE "CPMDeclarePackage(Dependency
NAME Dependency
if(DECLARE_DEPENDENCY)
set(PREPARE_CODE
"CPMDeclarePackage(Dependency
NAME Dependency
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/local_dependency/dependency
)")
)"
)
else()
set(PREPARE_CODE "")
endif()
@@ -23,27 +24,30 @@ function(configureWithDeclare DECLARE_DEPENDENCY)
)
execute_process(
COMMAND ${CMAKE_COMMAND} -H${CMAKE_CURRENT_LIST_DIR}/local_dependency -B${TEST_BUILD_DIR} -DCPM_INCLUDE_ALL_IN_PACKAGE_LOCK=1
RESULT_VARIABLE ret
COMMAND ${CMAKE_COMMAND} -H${CMAKE_CURRENT_LIST_DIR}/local_dependency -B${TEST_BUILD_DIR}
-DCPM_INCLUDE_ALL_IN_PACKAGE_LOCK=1 RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")
endfunction()
function(updatePackageLock)
function(update_package_lock)
execute_process(
COMMAND ${CMAKE_COMMAND} --build ${TEST_BUILD_DIR} --target cpm-update-package-lock
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")
endfunction()
execute_process(COMMAND ${CMAKE_COMMAND} -E rm -f ${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake)
configureWithDeclare(YES)
ASSERT_NOT_EXISTS(${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake)
updatePackageLock()
ASSERT_EXISTS(${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake)
configureWithDeclare(NO)
execute_process(COMMAND ${CMAKE_COMMAND} -E rm -f ${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake)
execute_process(
COMMAND ${CMAKE_COMMAND} -E rm -f ${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake
)
configure_with_declare(YES)
assert_not_exists(${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake)
update_package_lock()
assert_exists(${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake)
configure_with_declare(NO)
execute_process(
COMMAND ${CMAKE_COMMAND} -E rm -f ${CMAKE_CURRENT_LIST_DIR}/local_dependency/package-lock.cmake
)

View File

@@ -1,4 +1,3 @@
include(CMakePackageConfigHelpers)
include(${CPM_PATH}/testing.cmake)
@@ -13,8 +12,9 @@ configure_package_config_file(
)
execute_process(
COMMAND ${CMAKE_COMMAND} -H${CMAKE_CURRENT_LIST_DIR}/local_dependency -B${TEST_BUILD_DIR} -DCPM_Dependency_SOURCE=${CMAKE_CURRENT_LIST_DIR}/local_dependency/dependency
COMMAND ${CMAKE_COMMAND} -H${CMAKE_CURRENT_LIST_DIR}/local_dependency -B${TEST_BUILD_DIR}
-DCPM_Dependency_SOURCE=${CMAKE_CURRENT_LIST_DIR}/local_dependency/dependency
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")

View File

@@ -1,9 +1,10 @@
#define CATCH_CONFIG_MAIN
#include <fibonacci.h>
#include <iostream>
int main(){
int main() {
std::cout << "fib(10) = " << fastFibonacci(10) << std::endl;
return 0;
}

View File

@@ -1,4 +1,3 @@
include(CMakePackageConfigHelpers)
include(${CPM_PATH}/testing.cmake)
@@ -13,9 +12,8 @@ configure_package_config_file(
)
execute_process(
COMMAND
${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/local_dependency" "-B${TEST_BUILD_DIR}"
COMMAND ${CMAKE_COMMAND} "-H${CMAKE_CURRENT_LIST_DIR}/local_dependency" "-B${TEST_BUILD_DIR}"
RESULT_VARIABLE ret
)
ASSERT_EQUAL(${ret} "0")
assert_equal(${ret} "0")

View File

@@ -3,14 +3,14 @@ cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
include(${CPM_PATH}/CPM.cmake)
include(${CPM_PATH}/testing.cmake)
CPM_GET_VERSION_FROM_GIT_TAG("1.2.3" VERSION)
ASSERT_EQUAL("1.2.3" ${VERSION})
cpm_get_version_from_git_tag("1.2.3" VERSION)
assert_equal("1.2.3" ${VERSION})
CPM_GET_VERSION_FROM_GIT_TAG("v1.2.3" VERSION)
ASSERT_EQUAL("1.2.3" ${VERSION})
cpm_get_version_from_git_tag("v1.2.3" VERSION)
assert_equal("1.2.3" ${VERSION})
CPM_GET_VERSION_FROM_GIT_TAG("1.2.3-a" VERSION)
ASSERT_EQUAL("1.2.3" ${VERSION})
cpm_get_version_from_git_tag("1.2.3-a" VERSION)
assert_equal("1.2.3" ${VERSION})
CPM_GET_VERSION_FROM_GIT_TAG("v1.2.3-a" VERSION)
ASSERT_EQUAL("1.2.3" ${VERSION})
cpm_get_version_from_git_tag("v1.2.3-a" VERSION)
assert_equal("1.2.3" ${VERSION})