Author: chug
Date: Wed Nov 23 23:54:15 2011
New Revision: 1205667

URL: http://svn.apache.org/viewvc?rev=1205667&view=rev
Log:
QPID-2643 Visual Studio 2010

Add a standalone cmakelists.txt file to be used for building
a WinSDK. Currently the cpp/examples area has hard-coded
sln and vcproj files which don't work under VS2010. This
new cmakelists.txt is used to generate a proper sln/vcproj
or sln/vcxproj for each example in the SDK.

Added:
    qpid/trunk/qpid/cpp/examples/winsdk-cmake/
    qpid/trunk/qpid/cpp/examples/winsdk-cmake/CMakeLists.txt

Added: qpid/trunk/qpid/cpp/examples/winsdk-cmake/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/winsdk-cmake/CMakeLists.txt?rev=1205667&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/examples/winsdk-cmake/CMakeLists.txt (added)
+++ qpid/trunk/qpid/cpp/examples/winsdk-cmake/CMakeLists.txt Wed Nov 23 
23:54:15 2011
@@ -0,0 +1,115 @@
+#
+# 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.
+#
+
+#
+# For making WinSDK example solution and project files:
+# Top-level CMake source to build version-independent C++ 
+# example solution and project files for Visual Studio.
+#
+# mkdir msvc9-win32
+# cd    msvc9-win32
+# cmake -G "Visual Studio 9 2008" ..\cmake
+# cd ..
+#
+# mkdir msvc9-x64
+# cd    msvc9-x64
+# cmake -G "Visual Studio 9 2008 x64" ..\cmake
+# cd ..
+#
+
+project(examples)
+
+set (CMAKE_VERBOSE_MAKEFILE ON)  # for debugging
+
+cmake_minimum_required(VERSION 2.4.0 FATAL_ERROR)
+
+#
+# This script supports settings for the WinSDK build and
+# for a normal source build.
+#
+option (BUILD_WINSDK
+        "Generate for the WinSDK packaged environment" ON)
+
+set (CMAKE_SUPPRESS_REGENERATION TRUE)
+
+add_definitions(
+  /D "_CRT_NONSTDC_NO_WARNINGS"
+  /D "NOMINMAX" 
+  /D "WIN32_LEAN_AND_MEAN" 
+)
+
+set (CMAKE_DEBUG_POSTFIX "d")
+
+set (CMAKE_CONFIGURATION_TYPES Debug Release)
+
+if (BUILD_WINSDK)
+    # Set for WinSDK builds
+    message(STATUS "BUILD_WINSDK is ON")
+    set (includeDirs            "../../include")
+    set (linkDirs               "../../lib")
+else (BUILD_WINSDK)
+    # Set for in-source builds
+    message(STATUS "BUILD_WINSDK is OFF")
+    set (includeDirs            "$(QPID_ROOT)/include;../../include")
+    set (linkDirs               "$(QPID_ROOT)/src/$(Configuration);../../lib")
+endif (BUILD_WINSDK)
+
+
+include_directories      ( ${includeDirs} )
+link_directories         ( ${linkDirs}    )
+
+macro(add_example_properties example)
+  set_target_properties(${example} PROPERTIES OUTPUT_NAME "${example}" )
+  IF (BUILD_WINSDK)
+    set_target_properties(${example} PROPERTIES PREFIX "../../../bin/")
+  ENDIF (BUILD_WINSDK)
+  
+  target_link_libraries(${example} qpidmessaging debug qpidmessagingd)
+  target_link_libraries(${example} qpidcommon    debug qpidcommond)
+  target_link_libraries(${example} qpidtypes     debug qpidtypesd)
+endmacro(add_example_properties)
+
+macro(add_example srcdirectory example)
+  add_executable(${example} ../${srcdirectory}/${example}.cpp)
+  add_example_properties(${example})
+endmacro(add_example)
+
+macro(add_example_with_parser srcdirectory example)
+  add_executable(${example} ../${srcdirectory}/${example}.cpp 
../messaging/OptionParser.cpp)
+  add_example_properties(${example})
+endmacro(add_example_with_parser)
+
+add_example_with_parser(messaging drain)
+add_example_with_parser(messaging spout)
+
+add_example(messaging map_receiver)
+add_example(messaging map_sender)
+add_example(messaging client)
+add_example(messaging server)
+
+if (NOT BUILD_WINSDK)
+  add_example(messaging hello_world)
+  add_example(messaging hello_xml)
+  
+  add_example(qmf-console console)
+  add_example(qmf-console ping)
+  add_example(qmf-console printevents)
+  add_example(qmf-console queuestats)
+  
+endif (NOT BUILD_WINSDK)



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to