Repository: qpid-proton Updated Branches: refs/heads/cjansen-cpp-client 6498cf6d0 -> 1d312501b
PROTON-865: get cpp working on Windows vs2008-vs2013 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/1d312501 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/1d312501 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/1d312501 Branch: refs/heads/cjansen-cpp-client Commit: 1d312501b5592843312d5a9806a741d94372323e Parents: 6498cf6 Author: Clifford Jansen <[email protected]> Authored: Sat Jul 11 12:45:01 2015 -0700 Committer: Clifford Jansen <[email protected]> Committed: Sat Jul 11 12:45:01 2015 -0700 ---------------------------------------------------------------------- examples/cpp/CMakeLists.txt | 11 +++++++---- examples/cpp/example_test.py | 15 +++++++++------ proton-c/bindings/cpp/CMakeLists.txt | 4 ++-- proton-c/bindings/cpp/include/proton/type_traits.hpp | 2 ++ 4 files changed, 20 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1d312501/examples/cpp/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt index 7309b9e..7ee1509 100644 --- a/examples/cpp/CMakeLists.txt +++ b/examples/cpp/CMakeLists.txt @@ -34,12 +34,15 @@ foreach(example set_source_files_properties(${example}.cpp PROPERTIES COMPILE_FLAGS "${CXX_WARNING_FLAGS}") endforeach() -set(TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}) +set(env_py "${CMAKE_SOURCE_DIR}/proton-c/env.py") +set(test_bin_dir "$<TARGET_FILE_DIR:broker>") if (WIN32) - set(TEST_DIR ${TEST_DIR}/${CMAKE_BUILD_TYPE}) + set(test_path "${test_bin_dir}" "$<TARGET_FILE_DIR:qpid-proton>" "$<TARGET_FILE_DIR:qpid-proton-cpp>") +else(WIN32) + set(test_path "${test_bin_dir}") endif(WIN32) add_test( NAME cpp_example_test - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example_test.py -v - WORKING_DIRECTORY ${TEST_DIR}) + COMMAND ${PYTHON_EXECUTABLE} ${env_py} -- "PATH=${test_path}" + ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example_test.py -v) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1d312501/examples/cpp/example_test.py ---------------------------------------------------------------------- diff --git a/examples/cpp/example_test.py b/examples/cpp/example_test.py index 797f1a3..03c5b49 100644 --- a/examples/cpp/example_test.py +++ b/examples/cpp/example_test.py @@ -25,14 +25,14 @@ from random import randrange from subprocess import Popen, PIPE, STDOUT import platform -def exe_path(name): - path = os.path.abspath(name) - if platform.system() == "Windows": path += ".exe" - return path +def exe_name(name): + if platform.system() == "Windows": + return name + ".exe" + return name def execute(*args): """Run executable and return its output""" - args = [exe_path(args[0])]+list(args[1:]) + args = [exe_name(args[0])]+list(args[1:]) try: p = Popen(args, stdout=PIPE, stderr=STDOUT) out, err = p.communicate() @@ -44,6 +44,9 @@ vvvvvvvvvvvvvvvv %s ^^^^^^^^^^^^^^^^ """ % (args[0], p.returncode, out)) + if platform.system() == "Windows": + # Just \n please + out = out.translate(None, '\r') return out NULL = open(os.devnull, 'w') @@ -66,7 +69,7 @@ class Broker(object): def __init__(self): self.port = randrange(10000, 20000) self.addr = ":%s" % self.port - cmd = [exe_path("broker"), self.addr] + cmd = [exe_name("broker"), self.addr] try: self.process = Popen(cmd, stdout=NULL, stderr=NULL) except Exception as e: http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1d312501/proton-c/bindings/cpp/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/CMakeLists.txt b/proton-c/bindings/cpp/CMakeLists.txt index 1a0129f..6b56a8e 100644 --- a/proton-c/bindings/cpp/CMakeLists.txt +++ b/proton-c/bindings/cpp/CMakeLists.txt @@ -23,7 +23,7 @@ include(CheckCXXSourceCompiles) set(CMAKE_REQUIRED_FLAGS "${CXX_WARNING_FLAGS}") check_cxx_source_compiles("long long ll; int main(int, char**) { return 0; }" HAVE_LONG_LONG) if (HAVE_LONG_LONG) - add_definitions(-DHAVE_LONG_LONG=1) + add_definitions(-DPN_HAVE_LONG_LONG=1) endif() include_directories( @@ -103,7 +103,7 @@ macro(add_cpp_test test) add_test (NAME cpp_${test} COMMAND ${env_py} "PATH=$<TARGET_FILE_DIR:qpid-proton>" - ${test}> ${ARGN}) + $<TARGET_FILE:${test}> ${ARGN}) else () add_test (NAME cpp_${test} COMMAND ${memcheck-cmd} ${test} ${ARGN}) endif () http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1d312501/proton-c/bindings/cpp/include/proton/type_traits.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/type_traits.hpp b/proton-c/bindings/cpp/include/proton/type_traits.hpp index b804e77..4f02214 100644 --- a/proton-c/bindings/cpp/include/proton/type_traits.hpp +++ b/proton-c/bindings/cpp/include/proton/type_traits.hpp @@ -25,6 +25,8 @@ #if defined(__cplusplus) && __cplusplus >= 201100 #include <type_traits> +#elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 150030729 +#include <type_traits> #else /** * Workaround missing std:: classes on older C++ compilers. NOTE: this is NOT a --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
