CMakeLists.txt: cmake_minimum_required(VERSION 3.7 FATAL_ERROR) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
include(foo) #macro(test_project2 name target) # project(${name} ${ARGN}) #endmacro(test_project2) test_project(runtime TRUE VERSION 1.0) foo.cmake: macro(test_project name target) project(${name} ${ARGN}) endmacro(test_project) The test: Save the two files then run "cmake ." on this CMakeLists.txt twice in succession. Using cmake 3.11 or earlier: no problems Using cmake 3.12: the second "cmake ." issues the following warning: CMake Warning (dev) in CMakeLists.txt: Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The following variable(s) would be set to empty: CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR That by itself is weird, but it gets better. See the "test_project2" macro in CMakeLists.txt? Simply uncomment it. Even though it isn't called, uncommenting that macro causes the "Policy CMP0048" warning to disappear.
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake