# =================================================================== # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # =================================================================== # Find the version number in serf.h so that we don't keep it in two places. function(serf_parse_version_number_from_header) set(header_ "${SERF_SOURCE_DIR}/serf.h") file(STRINGS "${header_}" version_parts_ REGEX "^ *# *define +SERF_[A-Z]+_VERSION +[0-9]+ *$") foreach(STR ${version_parts_}) if(STR MATCHES "SERF_MAJOR_VERSION") string(REGEX REPLACE "^[^0-9]+([0-9])+ *$" "\\1" major_ ${STR}) elseif(STR MATCHES "SERF_MINOR_VERSION") string(REGEX REPLACE "^[^0-9]+([0-9])+ *$" "\\1" minor_ ${STR}) elseif(STR MATCHES "SERF_PATCH_VERSION") string(REGEX REPLACE "^[^0-9]+([0-9])+ *$" "\\1" patch_ ${STR}) endif() endforeach() if(NOT DEFINED major_ OR NOT DEFINED minor_ OR NOT DEFINED patch_) message(FATAL_ERROR "Could not find the version number in '${header_}'") endif() set(SERF_VERSION "${major_}.${minor_}.${patch_}" PARENT_SCOPE) set(SERF_SOVERSION "${major_}.${minor_}.0" PARENT_SCOPE) set(SERF_MAJOR_VERSION "${major_}" PARENT_SCOPE) set(SERF_MINOR_VERSION "${minor_}" PARENT_SCOPE) set(SERF_PATCH_VERSION "${patch_}" PARENT_SCOPE) endfunction() unset(SERF_VERSION) unset(SERF_SOVERSION) unset(SERF_MAJOR_VERSION) unset(SERF_MINOR_VERSION) unset(SERF_PATCH_VERSION) serf_parse_version_number_from_header()