macro(exclude_from_default target_) set_target_properties(${target_} PROPERTIES EXCLUDE_FROM_ALL ON) set_target_properties(${target_} PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD ON) endmacro() macro(exclude_if_included target_) get_directory_property(has_parent PARENT_DIRECTORY) if(has_parent) exclude_from_default(${target_}) endif() endmacro() find_package(Git) function(git_branch branch_val) if(NOT GIT_FOUND) return() endif() set(_branch "") execute_process( COMMAND ${GIT_EXECUTABLE} "rev-parse" "--abbrev-ref" "HEAD" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE _git_exit_code OUTPUT_VARIABLE _temp_branch OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET ) if(_git_exit_code EQUAL 0) set(_branch ${_temp_branch}) endif() set(${branch_val} "${_branch}" PARENT_SCOPE) endfunction()