@ -12,6 +12,11 @@ elseif(protobuf_JSONCPP_PROVIDER STREQUAL "package")
find_package ( jsoncpp REQUIRED )
endif ( )
set ( protoc_cpp_args )
if ( protobuf_BUILD_SHARED_LIBS )
set ( protoc_cpp_args "dllexport_decl=PROTOBUF_TEST_EXPORTS:" )
endif ( )
add_custom_command (
O U T P U T
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . h
@ -19,7 +24,7 @@ add_custom_command(
D E P E N D S $ { p r o t o b u f _ P R O T O C _ E X E } $ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p r o t o
C O M M A N D $ { p r o t o b u f _ P R O T O C _ E X E } $ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p r o t o
- - p r o t o _ p a t h = $ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e
- - c p p _ o u t = $ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e
- - c p p _ o u t = $ { p r o t o c _ c p p _ a r g s } $ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e
)
add_custom_command (
@ -33,33 +38,39 @@ add_custom_command(
C O M M A N D $ { p r o t o b u f _ P R O T O C _ E X E } $ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p r o t o
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p r o t o
- - p r o t o _ p a t h = $ { p r o t o b u f _ S O U R C E _ D I R } / s r c
- - c p p _ o u t = $ { p r o t o b u f _ S O U R C E _ D I R } / s r c
- - c p p _ o u t = $ { p r o t o c _ c p p _ a r g s } $ { p r o t o b u f _ S O U R C E _ D I R } / s r c
)
add_library ( libconformance_common ${ protobuf_SHARED_OR_STATIC }
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p b . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p b . c c
)
target_link_libraries ( libconformance_common
$ { p r o t o b u f _ L I B _ P R O T O B U F }
$ { p r o t o b u f _ A B S L _ U S E D _ T A R G E T S }
)
if ( protobuf_BUILD_SHARED_LIBS )
target_compile_definitions ( libconformance_common
P U B L I C P R O T O B U F _ U S E _ D L L S
P R I V A T E L I B P R O T O B U F _ T E S T _ E X P O R T S )
endif ( )
add_executable ( conformance_test_runner
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / b i n a r y _ j s o n _ c o n f o r m a n c e _ s u i t e . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / b i n a r y _ j s o n _ c o n f o r m a n c e _ s u i t e . h
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e _ t e s t . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e _ t e s t _ r u n n e r . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e _ t e s t _ m a i n . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / t e x t _ f o r m a t _ c o n f o r m a n c e _ s u i t e . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / t e x t _ f o r m a t _ c o n f o r m a n c e _ s u i t e . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p b . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p b . c c
)
add_executable ( conformance_cpp
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e . p b . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / c o n f o r m a n c e / c o n f o r m a n c e _ c p p . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 2 . p b . c c
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p b . h
$ { p r o t o b u f _ S O U R C E _ D I R } / s r c / g o o g l e / p r o t o b u f / t e s t _ m e s s a g e s _ p r o t o 3 . p b . c c
)
target_include_directories (
@ -73,10 +84,16 @@ target_include_directories(
target_include_directories ( conformance_test_runner PRIVATE ${ ABSL_ROOT_DIR } )
target_include_directories ( conformance_cpp PRIVATE ${ ABSL_ROOT_DIR } )
target_link_libraries ( conformance_test_runner ${ protobuf_LIB_PROTOBUF } )
target_link_libraries ( conformance_test_runner ${ protobuf_ABSL_USED_TARGETS } )
target_link_libraries ( conformance_cpp ${ protobuf_LIB_PROTOBUF } )
target_link_libraries ( conformance_cpp ${ protobuf_ABSL_USED_TARGETS } )
target_link_libraries ( conformance_test_runner
l i b c o n f o r m a n c e _ c o m m o n
$ { p r o t o b u f _ L I B _ P R O T O B U F }
$ { p r o t o b u f _ A B S L _ U S E D _ T A R G E T S }
)
target_link_libraries ( conformance_cpp
l i b c o n f o r m a n c e _ c o m m o n
$ { p r o t o b u f _ L I B _ P R O T O B U F }
$ { p r o t o b u f _ A B S L _ U S E D _ T A R G E T S }
)
add_test ( NAME conformance_cpp_test
C O M M A N D $ { C M A K E _ R U N T I M E _ O U T P U T _ D I R E C T O R Y } / c o n f o r m a n c e _ t e s t _ r u n n e r