11cmake_minimum_required (VERSION 3.17 FATAL_ERROR)
2- project (foo VERSION 0.0.1)
2+
3+ file (READ "VERSION" _foo_version_str)
4+ string (STRIP "${_vt_version_str} " _foo_version_str)
5+ project (foo VERSION ${_foo_version_str} )
6+
7+ # To generate output file with compilation errors and warnings
8+ # CMake generator needs to be known
9+ set (USED_CMAKE_GENERATOR "${CMAKE_GENERATOR} " CACHE STRING "Expose CMAKE_GENERATOR" FORCE)
10+
11+ # Prevent mixing install policies from add_subdirectory;
12+ # This suppresses a warning as the old behavior is deprecated-by-definition.
13+ cmake_policy (SET CMP0082 NEW)
314
415# Avoid warning about DOWNLOAD_EXTRACT_TIMESTAMP in CMake 2.24:
516if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0" )
@@ -36,9 +47,7 @@ if(NOT CMAKE_CXX_STANDARD)
3647endif ()
3748message (STATUS "CMAKE_CXX_STANDARD: ${CMAKE_CXX_STANDARD} " )
3849
39- option (FOO_WERROR_ENABLED "Build foo with warnings as errors" OFF )
40- option (FOO_TESTS_ENABLED "Build foo with unit tests" ON )
41- option (FOO_COVERAGE_ENABLED "Build foo with coverage" OFF )
50+
4251
4352if (APPLE AND NOT CMAKE_CXX_COMPILER_ID MATCHES "AppleClang" )
4453 add_compile_options (-ffat-lto-objects)
@@ -54,6 +63,8 @@ set(PROJECT_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/examples)
5463set (PROJECT_APP_DIR ${CMAKE_CURRENT_SOURCE_DIR} /apps)
5564set (PROJECT_BINDINGS_DIR ${CMAKE_CURRENT_SOURCE_DIR} /bindings)
5665
66+ include (cmake/configure_options.cmake)
67+
5768add_subdirectory (src)
5869
5970message (STATUS "FOO_COVERAGE_ENABLED: ${FOO_COVERAGE_ENABLED} " )
0 commit comments