Skip to content

Commit f4581c2

Browse files
committed
Add CGALConfigVersion.cmake, and CTest tests
1 parent c6df90f commit f4581c2

File tree

5 files changed

+71
-0
lines changed

5 files changed

+71
-0
lines changed

CGALConfigVersion.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include(${CMAKE_CURRENT_LIST_DIR}/Installation/lib/cmake/CGAL/CGALConfigVersion.cmake)

Installation/CGALConfigVersion.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include(${CMAKE_CURRENT_LIST_DIR}/lib/cmake/CGAL/CGALConfigVersion.cmake)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
set(CGAL_MAJOR_VERSION 4)
2+
set(CGAL_MINOR_VERSION 14)
3+
set(CGAL_BUGFIX_VERSION 4)
4+
set(CGAL_VERSION_PUBLIC_RELEASE_NAME "CGAL-4.14.4")
5+
6+
if (CGAL_BUGFIX_VERSION AND CGAL_BUGFIX_VERSION GREATER 0)
7+
set(CGAL_CREATED_VERSION_NUM "${CGAL_MAJOR_VERSION}.${CGAL_MINOR_VERSION}.${CGAL_BUGFIX_VERSION}")
8+
else()
9+
set(CGAL_CREATED_VERSION_NUM "${CGAL_MAJOR_VERSION}.${CGAL_MINOR_VERSION}")
10+
endif()
11+
12+
set(PACKAGE_VERSION ${CGAL_CREATED_VERSION_NUM})
13+
14+
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
15+
set(PACKAGE_VERSION_COMPATIBLE FALSE)
16+
else()
17+
set(PACKAGE_VERSION_COMPATIBLE TRUE)
18+
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
19+
set(PACKAGE_VERSION_EXACT TRUE)
20+
endif()
21+
endif()

Installation/test/Installation/CMakeLists.txt

+34
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,37 @@ else()
102102
message(STATUS "NOTICE: This program requires the CGAL library, and will not be compiled.")
103103

104104
endif()
105+
106+
function(CGAL_installation_test_find_package_version mode)
107+
set(EXACT)
108+
if(mode STREQUAL "less")
109+
MATH(EXPR CGAL_MAJOR_VERSION "${CGAL_MAJOR_VERSION} - 1")
110+
endif()
111+
if(mode STREQUAL "greater" OR mode STREQUAL "fail-exact")
112+
MATH(EXPR CGAL_MINOR_VERSION "${CGAL_MINOR_VERSION} + 1")
113+
endif()
114+
if(mode STREQUAL "exact" OR mode STREQUAL "fail-exact")
115+
set(EXACT "EXACT ")
116+
endif()
117+
if (CGAL_BUGFIX_VERSION AND CGAL_BUGFIX_VERSION GREATER 0)
118+
set(VERSION "${CGAL_MAJOR_VERSION}.${CGAL_MINOR_VERSION}.${CGAL_BUGFIX_VERSION}")
119+
else()
120+
set(VERSION "${CGAL_MAJOR_VERSION}.${CGAL_MINOR_VERSION}")
121+
endif()
122+
file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/build-test_find_package_version_${mode}")
123+
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build-test_find_package_version_${mode})
124+
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test_find_package_version_${mode})
125+
configure_file(test_find_package.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/test_find_package_version_${mode}/CMakeLists.txt)
126+
add_test(NAME test_find_package_version_${mode}
127+
COMMAND ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_BINARY_DIR}/test_find_package_version_${mode} -B ${CMAKE_CURRENT_BINARY_DIR}/build-test_find_package_version_${mode})
128+
endfunction()
129+
130+
CGAL_installation_test_find_package_version(less)
131+
CGAL_installation_test_find_package_version(equal)
132+
CGAL_installation_test_find_package_version(greater)
133+
CGAL_installation_test_find_package_version(exact)
134+
CGAL_installation_test_find_package_version(fail-exact)
135+
set_tests_properties(
136+
test_find_package_version_greater
137+
test_find_package_version_fail-exact
138+
PROPERTIES WILL_FAIL TRUE)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
cmake_minimum_required(VERSION ${CMAKE_VERSION})
2+
project( test_find_package_${mode} )
3+
find_package(CGAL ${VERSION} ${EXACT}REQUIRED
4+
PATHS ${CGAL_DIR}
5+
NO_DEFAULT_PATH
6+
NO_PACKAGE_ROOT_PATH
7+
NO_CMAKE_PATH
8+
NO_CMAKE_ENVIRONMENT_PATH
9+
NO_SYSTEM_ENVIRONMENT_PATH
10+
NO_CMAKE_PACKAGE_REGISTRY
11+
NO_CMAKE_BUILDS_PATH
12+
NO_CMAKE_SYSTEM_PATH
13+
NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
14+
)

0 commit comments

Comments
 (0)