Skip to content

Commit

Permalink
CMake: replace PROJ_TESTS with CTest's BUILD_TESTING option
Browse files Browse the repository at this point in the history
* CTest automatically creates a BUILD_TESTING option (default is ON)
* Also allow PROJ_TESTS to be used, but show deprecation message;
  and add note to remove this option by PROJ 8.0
* Only build geodtest when tests are enabled
* Add documentation to configure a build using -DBUILD_TESTING=OFF
  • Loading branch information
mwtoews committed Jan 24, 2020
1 parent db31b6d commit 43dc8c5
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 9 deletions.
25 changes: 17 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -212,13 +212,6 @@ if(MSVC OR CMAKE_CONFIGURATION_TYPES)
set(CMAKE_DEBUG_POSTFIX _d)
endif()

option(PROJ_TESTS "Enable build of collection of PROJ tests" ON)
boost_report_value(PROJ_TESTS)
if(PROJ_TESTS)
enable_testing()
endif()
include(ProjTest)

# Put the libraries and binaries that get built into directories at the
# top of the build tree rather than in hard-to-find leaf
# directories. This simplifies manual testing and the use of the build
Expand All @@ -245,6 +238,22 @@ set(INCLUDEDIR "${DEFAULT_INCLUDEDIR}"
set(CMAKECONFIGDIR "${DEFAULT_CMAKEDIR}"
CACHE PATH "The directory to install cmake config files into.")

################################################################################
# Tests
################################################################################
include(CTest)

# Support older option, to be removed by PROJ 8.0
if(DEFINED PROJ_TESTS)
message(DEPRECATION "PROJ_TESTS has been replaced with BUILD_TESTING")
set(BUILD_TESTING ${PROJ_TESTS})
endif()

boost_report_value(BUILD_TESTING)
if(BUILD_TESTING)
include(ProjTest)
endif()

################################################################################
# Build configured components
################################################################################
Expand All @@ -256,6 +265,6 @@ add_subdirectory(include)
add_subdirectory(src)
add_subdirectory(man)
add_subdirectory(cmake)
if(PROJ_TESTS)
if(BUILD_TESTING)
add_subdirectory(test)
endif()
4 changes: 4 additions & 0 deletions docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,10 @@ Tests are run with::
The test suite requires that the proj-datumgrid package is installed
in :envvar:`PROJ_LIB`.

If tests are not required, PROJ can be built without the test suite using the following configuration::

cmake -DBUILD_TESTING=OFF ..


Building on Windows with vcpkg and Visual Studio 2017 or 2019
--------------------------------------------------------------------------------
Expand Down
4 changes: 3 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ endif()

if(BUILD_GEOD)
include(bin_geod.cmake)
include(bin_geodtest.cmake)
if(BUILD_TESTING)
include(bin_geodtest.cmake)
endif()
set(BIN_TARGETS ${BIN_TARGETS} geod)
endif()

Expand Down

0 comments on commit 43dc8c5

Please sign in to comment.