cmake_minimum_required(VERSION 2.8) project(nodeprecated) execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_defined) execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_not_defined) configure_file(CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_not_defined/CMakeLists.txt) set(DEFINE_NO_DEPRECATED DEFINE_NO_DEPRECATED) configure_file(CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_defined/CMakeLists.txt) try_compile(Result ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_not_defined_build ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_not_defined nodeprecated_test OUTPUT_VARIABLE Out ) test_pass(Result "Failed to build without no-deprecated define") try_compile(Result ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_defined_build ${CMAKE_CURRENT_BINARY_DIR}/nodeprecated_defined nodeprecated_test OUTPUT_VARIABLE Out ) test_fail(Result "Built even with no-deprecated define")