Repository: thrift Updated Branches: refs/heads/master 4a62f188f -> a03464c52
THRIFT-3322 CMake generated "make check" failes on python_test Patch: Claudius Heine Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/a03464c5 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/a03464c5 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/a03464c5 Branch: refs/heads/master Commit: a03464c526931fd09fc89a6e952600d0c5514421 Parents: 4a62f18 Author: Roger Meier <[email protected]> Authored: Wed Sep 30 08:15:53 2015 +0200 Committer: Roger Meier <[email protected]> Committed: Wed Sep 30 08:15:53 2015 +0200 ---------------------------------------------------------------------- test/py/CMakeLists.txt | 33 +++++++++------------------------ test/py/generate.cmake | 24 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/a03464c5/test/py/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/test/py/CMakeLists.txt b/test/py/CMakeLists.txt index 6c907bf..3756a46 100755 --- a/test/py/CMakeLists.txt +++ b/test/py/CMakeLists.txt @@ -17,32 +17,17 @@ # under the License. # +add_test(NAME python_test_generate + COMMAND ${CMAKE_COMMAND} + -DTHRIFTCOMPILER=$<TARGET_FILE:thrift-compiler> + -DMY_PROJECT_DIR=${PROJECT_SOURCE_DIR} + -DMY_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} + -P ${CMAKE_CURRENT_SOURCE_DIR}/generate.cmake +) + add_test(NAME python_test COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/RunClientServer.py - DEPENDS gen-py-default/ThriftTest/ThriftTest.py + DEPENDS python_test_generate WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) -add_custom_command(OUTPUT gen-py-default/ThriftTest/ThriftTest.py - COMMAND thrift-compiler --gen gen-py-default -out gen-py-default ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift -) - -add_custom_command(OUTPUT gen-py-slots/ThriftTest/ThriftTest.py - COMMAND thrift-compiler --gen py:slots -out gen-py-slots ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift -) - -add_custom_command(OUTPUT gen-py-newstyle/ThriftTest/ThriftTest.py - COMMAND thrift-compiler --gen py:new_style -out gen-py-newstyle ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift -) - -add_custom_command(OUTPUT gen-py-newstyleslots/ThriftTest/ThriftTest.py - COMMAND thrift-compiler --gen py:new_style,slots -out gen-py-newstyleslots ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift -) - -add_custom_command(OUTPUT gen-py-dynamic/ThriftTest/ThriftTest.py - COMMAND thrift-compiler --gen py:dynamic -out gen-py-dynamic ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift -) - -add_custom_command(OUTPUT gen-py-dynamicslots/ThriftTest/ThriftTest.py - COMMAND thrift-compiler --gen py:dynamic,slots -out gen-py-dynamicslots ${PROJECT_SOURCE_DIR}/test/ThriftTest.thrift -) http://git-wip-us.apache.org/repos/asf/thrift/blob/a03464c5/test/py/generate.cmake ---------------------------------------------------------------------- diff --git a/test/py/generate.cmake b/test/py/generate.cmake new file mode 100644 index 0000000..a0b94d6 --- /dev/null +++ b/test/py/generate.cmake @@ -0,0 +1,24 @@ +macro(GENERATE FILENAME GENERATOR OUTPUTDIR) + file(MAKE_DIRECTORY ${MY_CURRENT_SOURCE_DIR}/${OUTPUTDIR}) + execute_process(COMMAND ${THRIFTCOMPILER} --gen ${GENERATOR} -out ${OUTPUTDIR} ${FILENAME} + WORKING_DIRECTORY ${MY_CURRENT_SOURCE_DIR} + RESULT_VARIABLE CMD_RESULT) + if(CMD_RESULT) + message(FATAL_ERROR "Error generating ${FILENAME} with generator ${GENERATOR}") + endif() +endmacro(GENERATE) + +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py gen-py-default) +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:slots gen-py-slots) +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:new_style gen-py-newstyle) +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:new_style,slots gen-py-newstyleslots) +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:dynamic gen-py-dynamic) +generate(${MY_PROJECT_DIR}/test/ThriftTest.thrift py:dynamic,slots gen-py-dynamicslots) + +generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py gen-py-default) +generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:slots gen-py-slots) +generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:new_style gen-py-newstyle) +generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:new_style,slots gen-py-newstyleslots) +generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:dynamic gen-py-dynamic) +generate(${MY_PROJECT_DIR}/test/DebugProtoTest.thrift py:dynamic,slots gen-py-dynamicslots) +
