add_custom_command( OUTPUT ${protobuf_source_dir}/conformance/conformance.pb.cc DEPENDS protoc ${protobuf_source_dir}/conformance/conformance.proto COMMAND protoc ${protobuf_source_dir}/conformance/conformance.proto --proto_path=${protobuf_source_dir}/conformance --cpp_out=${protobuf_source_dir}/conformance ) add_custom_command( OUTPUT ${protobuf_source_dir}/src/google/protobuf/test_messages_proto3.pb.cc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto2.pb.cc DEPENDS protoc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto3.proto protoc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto2.proto COMMAND protoc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto3.proto ${protobuf_source_dir}/src/google/protobuf/test_messages_proto2.proto --proto_path=${protobuf_source_dir}/src --cpp_out=${protobuf_source_dir}/src ) add_executable(conformance_test_runner ${protobuf_source_dir}/conformance/conformance.pb.cc ${protobuf_source_dir}/conformance/conformance_test.cc ${protobuf_source_dir}/conformance/conformance_test_impl.cc ${protobuf_source_dir}/conformance/conformance_test_runner.cc ${protobuf_source_dir}/conformance/third_party/jsoncpp/json.h ${protobuf_source_dir}/conformance/third_party/jsoncpp/jsoncpp.cpp ${protobuf_source_dir}/src/google/protobuf/test_messages_proto3.pb.cc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto2.pb.cc ) add_executable(conformance_cpp ${protobuf_source_dir}/conformance/conformance.pb.cc ${protobuf_source_dir}/conformance/conformance_cpp.cc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto3.pb.cc ${protobuf_source_dir}/src/google/protobuf/test_messages_proto2.pb.cc ) target_include_directories( conformance_test_runner PUBLIC ${protobuf_source_dir}/conformance) target_include_directories( conformance_cpp PUBLIC ${protobuf_source_dir}/conformance) target_link_libraries(conformance_test_runner libprotobuf) target_link_libraries(conformance_cpp libprotobuf)