summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-03-17 19:16:36 +0000
committerAlan Conway <aconway@apache.org>2010-03-17 19:16:36 +0000
commit0b87e564b668dc4e287f7cf57a97d1bcd555be50 (patch)
tree36597db4aa842f5ef4f37e58f2977b672766bc3e /qpid/cpp
parent83fc4edb85d000c2bd33fd4d9bab4c23aac20302 (diff)
downloadqpid-python-0b87e564b668dc4e287f7cf57a97d1bcd555be50.tar.gz
Updated cmake build to pick up version from QPID_VERSION.txt.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@924425 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/BuildInstallSettings.cmake13
-rw-r--r--qpid/cpp/src/CMakeLists.txt3
-rw-r--r--qpid/cpp/src/qpid/Version.h.cmake44
3 files changed, 58 insertions, 2 deletions
diff --git a/qpid/cpp/BuildInstallSettings.cmake b/qpid/cpp/BuildInstallSettings.cmake
index 60d6b14e11..c1cf2bcba2 100644
--- a/qpid/cpp/BuildInstallSettings.cmake
+++ b/qpid/cpp/BuildInstallSettings.cmake
@@ -20,8 +20,17 @@
# Settings related to the Qpid build and install CMake/CTest/CPack procedure.
# These are used by both the C++ and WCF components.
-set (QPID_VERSION_MAJOR 0)
-set (QPID_VERSION_MINOR 6)
+# Parse the version from QPID_VERSION.txt.
+# Use the top level qpid/ file if we're in an SVN checkout, source dir otherwise.
+if(EXISTS "${PROJECT_SOURCE_DIR}/../QPID_VERSION.txt")
+ file(READ "${PROJECT_SOURCE_DIR}/../QPID_VERSION.txt" QPID_VERSION)
+elseif (EXISTS "${PROJECT_SOURCE_DIR}/QPID_VERSION.txt")
+ file(READ "${PROJECT_SOURCE_DIR}/QPID_VERSION.txt" QPID_VERSION)
+else()
+ message(FATAL_ERROR "Cannot find QPID_VERSION.txt")
+endif(EXISTS "${PROJECT_SOURCE_DIR}/../QPID_VERSION.txt")
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\n" "\\1" QPID_VERSION_MAJOR "${QPID_VERSION}")
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\n" "\\2" QPID_VERSION_MINOR "${QPID_VERSION}")
# When doing installs, there are a number of components that the item can
# be associated with. Since there may be different sets of components desired
diff --git a/qpid/cpp/src/CMakeLists.txt b/qpid/cpp/src/CMakeLists.txt
index 1ebfa9e3ca..e1681ab961 100644
--- a/qpid/cpp/src/CMakeLists.txt
+++ b/qpid/cpp/src/CMakeLists.txt
@@ -950,6 +950,9 @@ add_definitions(-DHAVE_CONFIG_H)
# Now create the config file from all the info learned above.
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
${CMAKE_CURRENT_BINARY_DIR}/config.h)
+# And create the Version.h file.
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qpid/Version.h.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/qpid/Version.h)
add_subdirectory(qpid/store)
add_subdirectory(tests)
diff --git a/qpid/cpp/src/qpid/Version.h.cmake b/qpid/cpp/src/qpid/Version.h.cmake
new file mode 100644
index 0000000000..b9c3d1619f
--- /dev/null
+++ b/qpid/cpp/src/qpid/Version.h.cmake
@@ -0,0 +1,44 @@
+#ifndef QPID_VERSION_H
+#define QPID_VERSION_H
+
+/*
+ *
+ * Copyright (c) 2006 The Apache Software Foundation
+ *
+ * Licensed 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.
+ *
+ */
+
+#include <string>
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+namespace qpid {
+#ifdef HAVE_CONFIG_H
+ const std::string product = PACKAGE_NAME;
+ const std::string version = PACKAGE_VERSION;
+# if HAVE_SASL
+ const std::string saslName = BROKER_SASL_NAME;
+# else
+ const std::string saslName = "qpidd-no-sasl";
+# endif
+#else
+ const std::string product = "qpidc";
+ const std::string version = "${QPID_VERSION_MAJOR}.${QPID_VERSION_MINOR}";
+ const std::string saslName = "qpid-broker";
+#endif
+}
+
+#endif /*!QPID_VERSION_H*/